Кластеризация и ее типы: обсуждение K-средних и DBSCAN.

Введение:

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

Объяснение кластеризации с точки зрения непрофессионала.

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

Некоторые примеры кластеризации включают в себя:

  • Поиск групп людей со схожими интересами, таких как спортивные фанаты или энтузиасты технологий (также известные как «команды гиков»)
  • Использование кластерного анализа для выявления похожих типов товаров на Amazon Marketplace (например, кулинарных книг, книг о кулинарии)

Типы кластеризации:

Существуют различные типы алгоритмов кластеризации. Наиболее распространенными являются:

Жесткая кластеризация:

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

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

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

Мягкая кластеризация:

Мягкие методы кластеризации не требуют идеального разбиения (или даже какого-либо). Вместо этого эти алгоритмы используют некоторую меру сходства между элементами в группе — например, как часто два элемента появляются вместе в наборе данных — для автоматического назначения их похожим группам во время выполнения без полного знания о том, как должны выглядеть эти группы заранее. * Алгоритм K-средних также попадает в эту категорию, потому что он использует расстояния между точками вместо абсолютных значений; однако он не зависит от какой-либо математической функции.

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

  • Количество кластеров должно быть меньше или равно размерности вашего набора данных (это означает, что на точку не может быть больше одного кластера).
  • Расстояние между двумя точками должно быть больше или равно их сходству (это означает, что если у вас есть две точки с высоким сходством, мы не хотим, чтобы они группировались вместе).

K означает Алгоритм:

Этот алгоритм известен набору данных, чрезвычайно быстро, эффективно и часто всего за несколько итераций.

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

Поскольку это неконтролируемый алгоритм, входными данными, которые он принимает, является немаркированный набор данных, он делит набор данных на k кластеров, и весь процесс повторяется до тех пор, пока не будут найдены лучшие кластеры. Значение кластеров выбирает программист.

Две основные задачи, когда мы продолжаем:

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

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

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

1) Выберите число K, чтобы определить количество кластеров.

2) Выберите случайные K точек или центроидов. (Это может быть не входной набор данных).

3) Назначьте каждую точку данных ее ближайшему центроиду, который сформирует предопределенные кластеры K.

4) Рассчитайте дисперсию и поместите новый центр тяжести каждого кластера.

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

6) Если происходит какое-либо переназначение, то переходите к четвертому шагу, иначе переходите к ГОТОВО.

7) Модель готова.

Алгоритм DBSCAN:

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

DBSCAN — это алгоритм на основе плотности, который разбивает точки на кластеры в зависимости от их расстояний друг от друга в пределах некоторого заданного радиуса (называемого «радиус»).

Плюсы кластеризации:

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

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

Минусы кластеризации:

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

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

Заключение:

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