Оценка различных типов кластеризации
Существует несколько алгоритмов, которые можно использовать для кластеризации. Самыми известными можно считать такие подходы, как кластеризация методом k-средних и иерархическая кластеризация.
Обучение модели кластеризации методом k-средних
Алгоритм, который мы выше использовали для приближенной оценки количества кластеров в наборе данных, называется методом k-средних. Давайте рассмотрим его подробнее.
Базовый алгоритм состоит из следующих шагов.
- Вы (специалист по обработке и анализу данных) указываете количество создаваемых кластеров. На примере цветов из предыдущего урока это означает, на сколько кластеров вы хотите группировать цветы.
- Алгоритм случайным образом выбирает K наблюдений из набора данных, которые становятся начальными центрами (а точнее, центроидами) для кластеров.
- Каждое из оставшихся наблюдений (в нашем примере это цветы) объединяется с ближайшим к нему центроидом.
- Вычисляется новое среднее значение для каждого кластера, и центроид перемещается в это среднее значение.
- После пересчета центров для каждого наблюдения снова выполняется проверка, может ли оно оказаться ближе к другому кластеру. Все объекты повторно переназначаются, используя обновленные средние значения кластеров. Шаги назначения кластеров и обновления центроидов повторяются итеративно до тех пор, пока не перестают изменяться назначения элементов (иными словами, до достижения конвергенции). Как правило, алгоритм завершается, когда каждая новая итерация приводит к незначительному смещению центроидов, а состав кластеров остается статическим.
- Обратите внимание, что в силу случайности выбора K начальных наблюдений в качестве начальных центроидов при каждом применении процедуры мы можем получать немного разные результаты. По этой причине большинство алгоритмов используют несколько запусков со случайными начальными значениями и выбирают итерацию с наименьшим значением суммы квадратов внутри кластеров. Поэтому настоятельно рекомендуется всегда запускать метод K-средних с несколькими значениями nstart.
Таким образом, обучение обычно подразумевает несколько итераций с повторной инициализацией центроидов каждый раз, и по результатам отбирается модель с лучшим (наименьшим) значением суммы квадратов расстояний внутри кластеров (WCSS). Этот процесс показан на приведенной ниже анимации.
Иерархическая кластеризация
Первым шагом в кластеризации методом K-средних является выбора специалистом по обработке и анализу данных количества кластеров (K) для разделения наблюдений по сегментам. Иерархическая кластеризация, с другой стороны, не требует предварительно определять количество кластеров.
В алгоритме иерархической кластеризации сами кластеры принадлежат к более крупной группе, каждая из которых принадлежит еще более крупным группам и так далее. В результате точки данных могут быть кластерами разной степени точности: с большим количеством очень маленьких и точных групп или с небольшим количеством больших групп.
Например, применяя кластеризацию к значениям слов, мы можем получить группу с прилагательными, описывающими эмоции (сердитый, счастливый и так далее). Эта группа будет принадлежать группе со всеми прилагательными, связанными с человеком (счастливый, красивый, молодой и так далее). Эта группа, в свою очередь, может принадлежать к группе еще более высокого порядка, например со всеми прилагательными (счастливый, зеленый, красивый, жесткий и так далее).
Иерархическая кластеризация полезна не только для разбиения данных на группы, но также для понимания связей между этими группами. Этот метод иногда может предоставлять более объяснимые результаты, чем подходы без применения иерархий. Однако основным недостатком иерархической кластеризации является то, что на вычисление может потребоваться значительно больше времени по сравнению с более простыми подходами. Этот метод может оказаться непригодным для больших наборов данных.