Неконтролируемый метод обучения кластерного анализа, k-Means. Часть 1 из 2 кластерного анализа

Что такое кластеризация?

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

Два типа кластеризации, с которыми я знаком, это k-средние и иерархическая кластеризация (HCA), и они работают по-разному. Сначала я расскажу о методе K-средних.

Кластеризация K-средних

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

  • Шаг 1: Выберите количество групп, которые, по вашему мнению, входят в группу. Другими словами, для начала выберите количество центроидов. Центроиды инициализируются в случайных точках.
  • Шаг 2: Назначьте все точки ближайшим центроидам. Это делается путем просмотра каждой точки данных, вычисления расстояния от каждого центроида и назначения его любому центроиду, имеющему кратчайшее расстояние. На этом этапе у вас будет сформировано столько кластеров, сколько центроидов.
  • Шаг 3: Посмотрите на каждый кластер и вычислите среднее значение всех точек в этом кластере. Как только мы найдем среднее значение, мы будем использовать это число для обновления центроидов.
  • Шаг 4: Обновите центроиды и повторяйте предыдущие шаги, пока центроиды не перестанут меняться.

Например, кластер с 3 средними будет выглядеть примерно так.

Один случай, который следует учитывать, заключается в том, что в зависимости от начала случайно инициализированного центроида порядок групп может измениться. Глядя на рисунок выше, если бы синий центроид начинался в правом нижнем углу данных и был дальше красного, то вместо этого правый нижний угол набора данных был бы синим. Это может помочь рассмотреть различные способы инициализации центроидов, например, выбрав конкретную точку или инициализировав ее на определенном расстоянии друг от друга.

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

Таким образом, в целом методология берет «k» центроидов и находит среднее расстояние каждого кластера, следовательно, кластеризация k-Means!

Метрика кластеризации

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

У нас есть «b_i» как среднее сцепление и «a_i» как разделение. Когда мы разделим на максимальное значение любого из них, мы получим оценку силуэта в диапазоне от -1 до 1. Более высокое значение означает, что он назначен в правильном кластере и не слишком похож на соседние. Отсюда мы можем наблюдать, что если большинство наших точек близки к 1, то наша кластеризация проделала достойную работу. Если мы видим много точек ближе к -1, возможно, наша кластеризация может иметь слишком много или слишком мало кластеров и не сгруппирована должным образом.

Недостатки

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

Помимо случайных точек инициализации, еще одним потенциальным недостатком кластеризации k-Means будет создание кластеров одинакового размера, даже если данные не имеют равных групп. Кроме того, это также может быть применено при рассмотрении плотности групп. Чтобы помочь, можно применить уменьшение размерности, масштабирование данных или даже другой метод кластеризации.

Вывод

Надеюсь, это был полезный обзор кластеризации k-средних! Я рассмотрю другие методы кластеризации, такие как иерархический кластерный анализ (HCA), в другом посте!