Вероятностная модель: данные порождаются смесью нормальных распределений, параметры оцениваются EM-алгоритмом.
Ключевые тезисы
- Даёт мягкое отнесение: вероятность принадлежности объекта каждому кластеру.
- Ковариационные позволяют кластерам быть вытянутыми и повёрнутыми.
- Число компонент выбирают по BIC/AIC; — частный вырожденный случай GMM.
Какую задачу решает
GMM описывает данные как смесь нескольких нормальных распределений: каждый кластер — своя гауссиана со своим центром, формой и весом. В отличие от , приписывающего объект одному кластеру жёстко, GMM выдаёт вероятности принадлежности каждому.
Практически это даёт две вещи. Во-первых, кластеры могут быть вытянутыми и повёрнутыми — полная ковариационная описывает эллипс любой ориентации, тогда как умеет только шары. Во-вторых, появляется вероятностная модель данных: можно оценить нового объекта, сравнить модели по BIC и осмысленно выбрать число компонент.
Два вытянутых вдоль диагонали облака, лежащих параллельно и близко друг к другу. разрежет их поперёк, потому что умеет строить только границы, равноудалённые от центров, и его кластеры выпуклы и изотропны. GMM с полной подгонит два узких повёрнутых эллипса и разделит облака вдоль, как и следовало. Разницу видно сразу на графике — и это главный практический того, что пора переходить от k-means к GMM: кластеры визуально вытянуты.
Подробный разбор
- нормальное распределение со средним μ и дисперсией σ²
- среднее значение
- объект: вектор признаков
- число объектов в выборке
- вероятность (или плотность распределения)
- номер или количество: индекс шага, число соседей, кластеров или позиций
- суммирование по всем перечисленным элементам
Каждый объект принадлежит всем кластерам с некоторыми вероятностями. Ковариационные позволяют кластерам быть вытянутыми и повёрнутыми — этого не умеет, потому что неявно предполагает .
- E-шаг: при текущих параметрах считаем ответственности — вероятность, что объект порождён компонентой .
- M-шаг: при фиксированных ответственностях пересчитываем , , как взвешенные оценки.
- нормальное распределение со средним μ и дисперсией σ²
- среднее значение
- параметр ядра RBF: радиус влияния объекта
- объект: вектор признаков
- число объектов в выборке
- номер или количество: индекс шага, число соседей, кластеров или позиций
- суммирование по всем перечисленным элементам
не убывает на каждой итерации, но сходимость возможна в локальный максимум — поэтому запускают несколько раз с разной инициализацией. Число компонент выбирают по BIC/AIC.
Где применяется
- с неопределённостьюКогда важно знать, что объект на границе двух групп, а не приписывать его одной.
- Оценка плотностиПолноценная генеративная модель распределения: можно считать и сэмплировать.
- Низкое под смесью — обоснованный скор аномальности.
- Разделение перекрывающихся группКлассический пример — разделение смеси распределений в физике и биометрии.
- Мягкая Клиент на 70% относится к сегменту A и на 30% к B — это часто ближе к реальности.
Плюсы, минусы и альтернативы
Плюсы
- Кластеры произвольной эллиптической формы и ориентации.
- Вероятности принадлежности вместо жёстких меток.
- Полноценная вероятностная модель: , сэмплирование, BIC.
- Обоснованный выбор числа компонент через информационные критерии.
- — частный случай GMM со сферическими .
Минусы
- Предполагает, что кластеры гауссовы, — а это далеко не всегда так.
- EM сходится к локальному оптимуму, результат зависит от инициализации.
- Полная требует много данных: параметров на компоненту.
- Медленнее и хуже масштабируется.
- Может вырождаться: компонента схлопывается на одной точке с нулевой .
Брать, если
- Кластеры вытянутые или перекрывающиеся.
- Нужны вероятности принадлежности, а не жёсткие метки.
- Нужна вероятностная модель данных для или генерации.
Не брать, если
- Кластеры заведомо не гауссовы (кольца, серпы) — берите .
- Размерность высока, а данных мало: полная не оценится.
- Нужна максимальная скорость на миллионах объектов.
Чем заменяют
Видеолекции
Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.
Связанные темы
Кластеризация и её оценка
k-Means75%
k-средних · Классическое машинное обучениеРазбивает объекты на k кластеров, минимизируя суммарное расстояние до центроидов.
DBSCAN75%
DBSCAN · Классическое машинное обучениеПлотностная кластеризация: кластеры — это связные области высокой плотности, остальное объявляется шумом.
Clustering75%
Кластеризация · Обучение без учителяРазбиение объектов на группы похожих без заранее известных меток.
Density Estimation75%
Оценка плотности · Обучение без учителяВосстановление распределения данных: где объекты встречаются часто, а где почти никогда.
Association Rules75%
Ассоциативные правила · Обучение без учителяПоиск закономерностей вида «если A, то B» в транзакционных данных.
Silhouette Score75%
Силуэт · МетрикиСравнивает среднее расстояние объекта до своего кластера и до ближайшего чужого.
Davies–Bouldin75%
Индекс Дэвиса — Болдина · МетрикиОтношение внутрикластерного разброса к расстоянию между кластерами; чем меньше, тем лучше.
Calinski–Harabasz75%
Индекс Калинского — Харабаша · МетрикиОтношение межкластерной дисперсии к внутрикластерной; чем больше, тем лучше разделение.
Mapper75%
Алгоритм Mapper · Топологический анализ данныхСтроит граф-скелет данных: проекция фильтрующей функцией, покрытие интервалами, локальная кластеризация и склейка.
Всё, что названо в описании, разобрано здесь же или в соседней теме — переходы под каждым определением.
Мягкое отнесение
Вероятность принадлежности каждому кластеру вместо жёсткой метки — видно, где объект на границе.
Разбор ниже: Смесь распределенийEM-алгоритм
Чередование: посчитать вероятности принадлежности (E), пересчитать параметры (M). Гарантированно не ухудшает .
Разбор ниже: EM-алгоритмТип ковариации
Полная, диагональная, сферическая: чем богаче, тем гибче модель и тем больше данных нужно.
Разбор ниже: Смесь распределенийBIC / AIC
Информационные критерии для выбора числа компонент: со штрафом за сложность.
Разбор ниже: EM-алгоритмГлава «Классическое машинное обучение» последний раз правилась . Нашли ошибку — напишите.