Машинное обучение

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

«Кластеризация» - это процесс объединения похожих объектов в одну группу. Цель этого метода машинного обучения без учителя - найти сходства в точках данных и сгруппировать похожие точки данных вместе.

Зачем нужна кластеризация?

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

Как работают алгоритмы кластеризации?

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

  1. К-среднее Кластеризация

2. Иерархическая кластеризация

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

  1. Он начинается с K в качестве входных данных, указывающих, сколько кластеров вы хотите найти. Разместите K центроидов в случайных местах вашего пространства.
  2. Теперь, используя евклидово расстояние между точками данных и центроидами, назначьте каждую точку данных кластеру, который находится рядом с ней.
  3. Пересчитайте центры кластера как среднее значение назначенных ему точек данных.
  4. Повторяйте 2 и 3 до тех пор, пока не перестанут происходить дальнейшие изменения.

Теперь вы можете подумать, как мне определить значение K на первом этапе.

Один из методов, называемый «Локоть», можно использовать для определения оптимального количества кластеров. Здесь вы должны запустить кластеризацию K-среднего для диапазона значений K и построить «процент объясненной дисперсии» на оси Y и «K» на оси X .

На рисунке ниже вы можете заметить, что добавление большего количества кластеров после 3 не дает лучшего моделирования данных. Первый кластер добавляет много информации, но в какой-то момент предельный выигрыш начнет падать.

Иерархическая кластеризация

В отличие от кластеризации с K-средним значением Иерархическая кластеризация начинается с назначения всех точек данных как их собственного кластера. Как следует из названия, он строит иерархию, а на следующем шаге объединяет две ближайшие точки данных и объединяет их в один кластер.

1. Назначьте каждую точку данных своему кластеру.

2. Найдите ближайшую пару кластеров, используя евклидово расстояние, и объедините их в один кластер.

3. Рассчитайте расстояние между двумя ближайшими кластерами и объедините, пока все элементы не будут объединены в один кластер.

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

Что следует помнить при использовании алгоритма кластеризации:

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

Если вы узнали что-то из этой статьи, ❤ щелкните ниже, чтобы другие люди увидели это на Medium.