Алгоритмы кластеризации в машинном обучении
Кластеризация – это задача выявления похожих экземпляров на основе аналогичных функций и их назначения кластерам на основе аналогичных экземпляров. Она похожа на классификацию, где каждый экземпляр также назначается группе, но в отличие от классификации, кластеризация основана на обучении без учителя. Здесь набор данных, с которым вы имеете дело, не имеет меток, поэтому мы не можем использовать алгоритм классификации в наборе данных без меток, здесь на помощь приходят алгоритмы кластеризации. Если вы хотите изучить все алгоритмы кластеризации, о которых вы должны знать, как исследователи данных, эта статья для вас. В этой статье я познакомлю вас со всеми алгоритмами кластеризации в машинном обучении.
Алгоритмы кластеризации
Ниже представлены все алгоритмы кластеризации, которые вам следует знать:
- Кластеризация K-средних
- Кластеризация DBSCAN
- Агломеративная кластеризация
- Кластеризация BIRCH.
- Кластеризация со средним сдвигом
Итак, это все алгоритмы кластеризации в машинном обучении, которые вам необходимо знать. Теперь давайте перейдем к введению во все эти алгоритмы кластеризации один за другим и рассмотрим их реализацию с использованием Python.
Кластеризация K-средних
K-средние – это алгоритм кластеризации в машинном обучении, который может очень быстро и эффективно сгруппировать немаркированный набор данных всего за несколько итераций. Он работает, маркируя все экземпляры в кластере ближайшим центроидом. Когда экземпляры сосредоточены вокруг определенной точки, эта точка называется центроидом. Если вы получаете метки экземпляров, вы можете легко найти все элементы, усреднив все экземпляры для каждого кластера.
Но здесь нам не дается метка или центроиды, поэтому мы должны начать с размещения центроидов случайным образом, выбрав k случайных экземпляров и используя их положения в качестве центроидов. Затем мы маркируем экземпляры, обновляем центроиды, повторно маркируем экземпляры, снова обновляем центроиды и так далее. Алгоритм кластеризации K-средних гарантированно сойдется за несколько итераций, он не будет повторяться бесконечно. Вы можете узнать о реализации алгоритма кластеризации K-средних здесь.
Кластеризация DBSCAN
Алгоритм кластеризации DBSCAN основан на концепции образцов ядра, неосновных образцов и выбросов:
- Образцы ядра: образцы, представленные в области с высокой плотностью, имеют минимальное количество точек выборки с радиусом eps.
- Образцы, не являющиеся образцами ядра: образцы близкие к образцам ядра, не являющиеся образцами ядра, но находящиеся очень близко к образцам ядра. Образцы без ядра лежат в радиусе eps от образцов ядра, но у них нет минимальных точек отбора проб.
- Выбросы: образцы, которые не являются частью образцов ядра и образцов, не являющихся образцами ядра, и находятся далеко от всех образцов.
Алгоритм кластеризации DBSCAN работает хорошо, если все кластеры достаточно плотные и хорошо представлены областями с низкой плотностью. Вы можете узнать о реализации алгоритма кластеризации DBSCAN здесь.
Агломеративная кластеризация
Агломеративная кластеризация – это один из алгоритмов кластеризации, в котором процесс группировки похожих экземпляров начинается с создания нескольких групп, каждая из которых содержит одну сущность на начальном этапе, затем он находит две самые похожие группы, объединяет их, повторяет процесс до тех пор, пока не получит единую группу наиболее похожих экземпляров.
Например, представьте пузыри, плавающие на воде и прикрепляющиеся друг к другу. В конце процесса вы увидите большую группу пузырьков. Так работает алгоритм агломеративной кластеризации. Вот некоторые из преимуществ использования этого алгоритма кластеризации:
- Хорошо адаптируется к большому количеству случаев.
- Может захватывать кластеры различной формы.
- Образует гибкие и информативные кластеры.
- Его также можно использовать с любым попарным расстоянием.
Вы можете узнать о реализации алгоритма агломеративной кластеризации здесь.
Кластеризация BIRCH
BIRCH – это алгоритм кластеризации в машинном обучении, специально разработанный для кластеризации очень большого набора данных. Часто он работает быстрее, чем другие алгоритмы кластеризации, такие как K-средние. Он дает результат, очень похожий на алгоритм K-средних, если количество объектов в наборе данных не превышает 20.
При обучении модели с использованием алгоритма BIRCH создается древовидная структура с достаточным количеством данных, чтобы быстро назначить каждую точку данных кластеру. Сохраняя все точки данных в дереве, этот алгоритм позволяет использовать ограниченную память при работе с очень большим набором данных. Вы можете узнать о реализации алгоритма кластеризации BIRCH здесь.
Кластеризация среднего сдвига
Кластеризация со средним сдвигом – это непараметрический алгоритм кластеризации, который не требует каких-либо предварительных знаний о количестве кластеров. Ниже приведен полный процесс алгоритма кластеризации среднего сдвига:
- Сначала ставим кружок с центром на каждом образце.
- Затем для каждого круга вычисляется среднее значение всех образцов, расположенных в круге.
- Затем круг перемещается так, чтобы его центр находился в центре среднего.
- Затем выполняется итерация среднего шага сдвига до тех пор, пока все круги не перестанут двигаться.
- Затем он сдвигает круги в направлении максимальной плотности, пока каждый круг не достигнет максимума локальной плотности.
- Затем все экземпляры, круги которых обосновались в одном и том же месте, помещаются в один и тот же кластер.
Некоторые особенности этого алгоритма делают его похожим на алгоритм кластеризации DBSCAN, например, как он находит любое количество кластеров любой формы. Но в отличие от алгоритма кластеризации DBSCAN, средний сдвиг имеет тенденцию разделять кластеры на куски, когда у них есть вариации внутренней плотности. Вы можете узнать о реализации алгоритма кластеризации среднего сдвига здесь.
Резюме
Итак, это были все алгоритмы кластеризации в машинном обучении, которые вам следует знать. Кластеризация – это задача выявления похожих экземпляров на основе аналогичных функций и их назначения кластерам на основе аналогичных экземпляров. Это похоже на классификацию, где каждый экземпляр также назначается группе, но в отличие от классификации, кластеризация основана на обучении без учителя. Надеюсь, вам понравилась эта статья об алгоритмах кластеризации, которые вы должны знать.