В этом посте я рассмотрю алгоритм кластеризации K-средних и объясню, как найти оптимальное количество кластеров.

Что такое К-средние?

K-Means - один из самых простых и популярных алгоритмов обучения без учителя. Он следует простой процедуре, классифицируя данные по k-числу кластеров, которое определяется заранее.

Давайте разберемся, как работает K-Means?

Алгоритм

  1. Выберите количество кластеров (скажем, K = 5).
  2. Выберите случайные точки K, центроиды (не обязательно точки данных).
  3. Назначьте каждую точку данных ближайшему центроиду (который создаст K центроидов).
  4. Вычислите и поместите каждый центроид в свой кластер.
  5. Переназначьте эти точки ближайшему новому центроиду.
  6. Если какое-либо переназначение имело место, повторите шаги 4 и 5, а в противном случае - ЗАВЕРШИТЕ.

Как найти оптимальное значение K?

Сколько кластеров нам нужно в нашем наборе данных, может быть, 3, 4 или 10. Нам нужна какая-то метрика для оценки того, как работает определенное количество кластеров, и желательно, чтобы эта метрика была поддающейся количественной оценке.

К счастью, есть одна метрика под названием В пределах кластера-сумма-квадрат (WCSS).

где «Yᵢ» - это центроид для наблюдения «Xᵢ», а «n» - общее количество наблюдений.

Итак, из формулы мы можем интерпретировать, что по мере увеличения количества кластеров расстояние между точкой и ее центроидом уменьшается, и, следовательно, WCSS уменьшается.

Итак, насколько он продолжает снижаться?

Допустим, у нас столько кластеров, сколько точек данных. В этом случае наша WCSS будет равна 0, потому что каждая отдельная точка имеет свой кластер и, следовательно, центроид находится именно там, где находится точка, поэтому расстояние между точкой и ее центроидом равно 0 и, следовательно, WCSS равно 0.

Итак, из приведенного выше утверждения мы можем интерпретировать, что чем больше количество кластеров, тем меньше значение WCSS.

Чтобы найти оптимальное количество кластеров, мы используем метод Elbow, который использует метрику WCSS.

Давайте разберемся с методом локтя.

Метод Elbow запускает кластеризацию K-средних для набора данных для диапазона значений «K» (скажем, 1:10), и для каждого значения «K» вычисляет значение WCSS для всех кластеров, а затем строит график для разных значений WCSS. .

И наш совет для выбора оптимального - найти точку, в которой улучшение невелико, и эта точка является нашей точкой локтя. На приведенном выше графике эта точка находится в 5. Таким образом, оптимальное количество кластеров для нашего примера - 5.

Как видим, этот способ довольно произвольный. Кто-то может выбрать «K» как 5, а кто-то - 4 или 6. Это суждение, которое нам необходимо как специалисту по обработке данных.

Спасибо за прочтение.

Надеюсь, я дал вам некоторое представление о том, что такое К-средние и как именно они работают. Я всегда открыт для ваших вопросов и предложений. Вы можете поделиться этим в Facebook, Twitter, Linkedin, чтобы кто-то в этом мог найти нужную информацию.