Метод K-средних
Кластеризация представителями
Повторим общую схему работы метода K-представителей:
-
Инициализировать .
-
Повторять до сходимости:
-
Для обновить метки кластеров:
-
Для обновить центроиды кластеров:
-
-
ВЕРНУТЬ .
Здесь
-
- индексы объектов, принадлежащих кластеру ;
-
- назначения объектам номеров их кластеров ;
-
- центры каждого кластера, называемые также центроидами.
Кластеризация методом средних
Метод -средних (K-means) является самым популярным частным случаем общего алгоритма -представителей. Он получается, если в качестве меры расстояния выбрать квадрат Евклидова расстояния:
где - вектор объек та, а - вектор центра кластера. Индекс , как обычно, обозначает номер признака.
Минимизируемая функция потерь называемая инерцией и выглядит так:
Расчёт центроидов
Почему же метод называется "-средних"? Рассмотрим шаг обновления центров при фиксированных метках кластеров . Нам нужно найти такой вектор , который минимизирует сумму квадратов расстояний до всех объектов , входящих в кластер :
Функция является суммой квадратичных функций, а значит - строго выпуклой (параболоиды с ветвями вверх). Следовательно, условие равенства градиента нулю является не только необходимым, но и достаточным условием глобального минимума.
Возьмем производную по вектору и приравняем её к нулю:
Раскрывая сумму, получаем:
Отсюда следует формула пересчета:
Таким образом, оптимальным представителем кластера по квадрату метрики является среднее арифметическое всех объектов этого кластера.
Алгоритм Ллойда
Классическая реализация метода -средних называется алгоритмом Ллойда. Она выглядит следующим образом:
-
Инициализировать цен тры (случайно или методом K-means++).
-
ПОВТОРЯТЬ до сходимости:
-
Для обновить метки кластеров:
-
Для обновить центроиды кластеров:
-
-
ВЕРНУТЬ .
K-means популярен за счёт быстрой скорости работы - центры не нужно оптимизировать, поскольку для их оптимального расположения есть аналитическая формула в виде усреднения объектов каждого кластера.
Метод K-средних, как частный случай метода K-представителей, чувствителен к начальной инициализации центров кластеров. К нему применимы те же приёмы повышения эффективности инициализации, что и для общего метода K-представителей.
Пример работы
Ниже приведен процесс работы алгоритма шаг за шагом:

Кластеризация рукописных цифр (MNIST):
Если кластеризовать данные датасета Digits (рукописные цифры [1]), уменьшенные до двух измерений с помощью метода главных компонент, то разбиение на кластера будет таким [2]:

Ограничения метода
Метод всегда возвращает кластеров, где - заданный пользователем гиперпараметр, даже если кластерная структура в данных реально отсутствует, как на примере ниже:

Также метод вернёт в точности кластеров, даже если реальное число кластеров больше или меньше этого значения.
Выбор Евклидова расстояния накладывает строгие ограничения на форму получаемых кластеров. Объект сильнее принадлежит -му, а не -му кластеру, если выполняется условие:
Это уравнение задает линейную полуплоскость. Множество объектов -го кластера будет получаться пересечением всех таких полуплоскостей
и представлять собой выпуклый многогранник. Таким образом, алгоритм конструктивно не сможет выделять невыпуклые кластеры, как на примере ниже:

Также алгоритм стремится минимизировать дисперсию во всех направлениях одинаково. Это означает неявное предположение, что кластеры имеют сферическую форму, поэтому он будет плохо справляться с выделением кластеров вытянутой формы. Чтобы уменьшить эффект этой особенности, признаки важно приводить к одной шкале перед запуском метода.
Из равномерности учёта всех расстояний следует другое предположение, что кластера имеют примерно одинаковый размер.