Шаг 77.
Задачи ComputerScience на Python. Кластеризация методом k-средних. Проблемы и расширения кластеризации методом k-средних

    На этом шаге мы перечислим проблемы, которые возникают при использовании этого метода.

    Когда кластеризация методом k-средних осуществляется с использованием случайных начальных точек, она может пропустить все полезные точки разделения данных. Это часто требует множества проб и ошибок при выполнении операции. Также определение правильного значения k (количества кластеров) сложно и чревато ошибками, если у оператора нет четкого представления о том, сколько должно быть групп данных.

    Существуют более сложные версии алгоритма k-средних, в которых можно попытаться сделать обоснованные предположения или выполнить несколько автоматических проб (и допустить ошибки) при определении проблемных переменных. Одним из распространенных вариантов является метод k-средних ++, который пытается решить проблему инициализации, выбирая центроиды не совершенно случайно, а на основе распределения вероятностей расстояния до каждой единицы данных. Еще более удачный вариант для многих приложений - выбор хороших начальных областей для каждого центроида на основе заранее известной информации о данных, иными словами, версия метода k-средних, в которой начальные центроиды выбирает пользователь алгоритма.

    Время выполнения кластеризации методом k-средних пропорционально количеству единиц данных, количеству кластеров и количеству измерений для единиц данных. Если имеется множество единиц данных с большим количеством измерений, то этот алгоритм в своей базовой форме может оказаться непригодным. Существуют расширения, которые пытаются не выполнять столько вычислений для каждой единицы данных и каждого центроида, оценивая, действительно ли эта единица данных может переместиться в другой кластер, прежде чем выполнять вычисление. Другой вариант для наборов с многочисленными единицами данных или с большим количеством измерений - просто сделать выборку единиц данных методом k-средних. Это позволит создать приблизительный набор кластеров, которые затем сможет уточнить полный алгоритм k-средних.

    Выбросы в наборе данных могут привести к странным результатам работы метода k-средних. Если первоначальный центроид окажется рядом с выбросом, то он может сформировать кластер из одной единицы данных (как с альбомом HIStory в примере с Майклом Джексоном). Метод k-средних может работать лучше, если вначале удалить выбросы.

    Наконец, среднее значение не всегда считается хорошим показателем для центра. В методе k-медиан серединой кластера является медиана каждого измерения, а в методе k-медоидов - фактическая единица набора данных. Для выбора каждого из этих методов центрирования существуют статистические причины, выходящие за рамки изложения, но здравый смысл подсказывает, что для сложной задачи, возможно, стоит попробовать каждый из них и выбрать подходящие результаты. Реализации всех этих методов не так уж и различаются.

    На следующем шаге мы подведем некоторые итоги.




Предыдущий шаг Содержание Следующий шаг