K-means - EMоподобный метрический алгоритм кластеризации.
Интуиция[]
Обозначим за
центр -го кластера, а за - номер кластера, которому принадлежит объект под номером . Количество кластеров предполагается известным.Хочется решить задачу минимизации:
Чё-то сложновато и мы ищем субоптимальное решение по сути методом покоординатного спуска.
Описание[]
Инициализировать
можно случайно, но лучше и понятнее инициализировать случайными объектами из выборки. До сходимости повторяются два шага:- для каждого объекта пересчитывается
- вычисляются новые средние внутри каждого кластера
Критерии остановки[]
- после очередной итерации не изменились (типичный вариант)
- центры кластеров за итерацию изменились незначительно
- фиксированное число итераций