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

В этой статье мы углубимся в алгоритмы кластеризации.

Различные типы алгоритмов кластеризации

Существует множество алгоритмов кластеризации. Фактически, на данный момент опубликовано более 100 алгоритмов кластеризации. Однако, несмотря на различные типы алгоритмов кластеризации, в целом их можно разделить на четыре метода. Кратко рассмотрим их:

1. Модели распределения — кластеры в этой модели принадлежат распределению. Точки данных группируются на основе вероятности принадлежности к нормальному или гауссовскому распределению. Алгоритм максимизации ожидания, который использует многомерные нормальные распределения, является одним из популярных примеров этого алгоритма.

2. Модели центроида. Это итеративный алгоритм, в котором данные организуются в кластеры в зависимости от того, насколько близко точки данных находятся к центру кластеров, также известному как центроид. Примером центроидных моделей является алгоритм K-средних.

3. Модели подключения. Они аналогичны центроидной модели и также известны как иерархическая кластеризация. Это метод кластерного анализа, который направлен на построение иерархии кластеров. Примером модели связности является иерархический алгоритм.

4. Модели плотности — кластеры определяются областями с высокой плотностью. Он ищет области с плотными точками данных и назначает эти области одним и тем же кластерам. DBSCAN (Пространственная кластеризация приложений с шумом на основе плотности) и OPTICS — две популярные модели кластеризации на основе плотности.

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

10 лучших алгоритмов кластеризации (в алфавитном порядке):

  1. Распространение сходства
  2. Агломеративная иерархическая кластеризация
  3. BIRCH (сбалансированное итеративное сокращение и кластеризация с использованием иерархий)
  4. DBSCAN (пространственная кластеризация приложений с шумом на основе плотности)
  5. Модели смесей Гаусса (GMM)
  6. К-средние
  7. Кластеризация среднего сдвига
  8. Мини-пакет K-средних
  9. ОПТИКА
  10. Спектральная кластеризация

Распространение сродства. Впервые распространение сродства было опубликовано в 2007 году Бренданом Фреем и Делбертом Дуеком в известном научном журнале. Он рассматривает все точки данных как входные меры сходства между парами точек данных и одновременно рассматривает их как потенциальные образцы. Сообщения с действительными значениями обмениваются между точками данных до тех пор, пока постепенно не появится высококачественный набор экземпляров и соответствующих кластеров.

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

BIRCH (сбалансированное итеративное сокращение и кластеризация с использованием иерархий): этот метод удобен при кластеризации больших наборов данных, поскольку он начинается с создания более компактной сводки, которая сохраняет как можно больше информации о распределении, а затем кластеризует сводку данных. вместо исходного большого набора данных.

DBSCAN (Пространственная кластеризация приложений с шумом на основе плотности): DBSCAN — это хорошо известный алгоритм кластеризации на основе плотности. Он определяет кластеры на основе плотности регионов. Он может хорошо находить скопления неправильной формы и выбросы.

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

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

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

Кластеризация среднего сдвига. Алгоритм кластеризации среднего сдвига представляет собой алгоритм на основе центроидов, который работает путем сдвига точек данных в сторону центроидов, чтобы они были средними другими точками в пространстве признаков.

Спектральная кластеризация. Спектральная кластеризация — это алгоритм на основе графа, в котором этот подход используется для идентификации сообществ узлов на основе ребер. Из-за простоты реализации и многообещающей производительности спектральная кластеризация стала популярной.

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

Каждый метод, описанный выше, очень по-разному подходит к проблеме обнаружения закономерностей в наборах данных. Было бы интересно продемонстрировать, как эти алгоритмы кластеризации работают с разными наборами данных. Для этого мы можем использовать библиотеку машинного обучения scikit-learn. Ниже приведено визуальное сравнение 10 лучших алгоритмов кластеризации, обсуждаемых в этой статье, и того, как они работают с различными типами наборов данных, такими как:

  1. Круги. Этот набор данных состоит из двух кругов, один из которых описан другим.
  2. Луны — этот набор данных состоит из двух чередующихся полукругов.
  3. Блобы с разной дисперсией. Этот набор данных состоит из BLOB-объектов с разной дисперсией.
  4. Анизотропно распределенные BLOB-объекты. Эти BLOB-объекты имеют неодинаковую ширину и длину.
  5. Обычные большие двоичные объекты — всего три обычных больших двоичных объекта.
  6. Однородные данные — это пример «нулевой» ситуации для кластеризации.

На рисунке ниже вы можете быстро увидеть, что эффективность алгоритма кластеризации зависит от базового типа набора данных. Например, если вы работаете с набором данных, похожим на набор данных кругов, то DBSCAN, OPTICS или агломеративная кластеризация будут более эффективными, чем остальные алгоритмы.

Какой лучший алгоритм кластеризации?

Не существует такого понятия, как «лучший» метод кластеризации; тем не менее, существует несколько алгоритмов кластеризации, которые лучше подходят для конкретного набора данных с определенным распределением.

Подведение итогов

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

Первоначально опубликовано на https://www.advancinganalytics.co.uk 14 июня 2022 г.