Открыть сервис

Кластеризация

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

История и происхождение

Термин «кластер» (от англ. cluster — гроздь, скопление) впервые был введён в психологии и антропологии в 1930-х годах. Первые формальные алгоритмы кластеризации появились в 1950-х годах. В 1952 году К. С. Бёрт предложил метод иерархической кластеризации для анализа психологических тестов. В 1960-х годах Дж. Хартиган и М. Вонг разработали алгоритм k-средних (k-means), ставший одним из самых популярных. В СССР значительный вклад в развитие кластерного анализа внесли математики А. А. Дородницын, Ю. И. Журавлёв и В. В. Рязанов, которые разработали методы распознавания образов и классификации без учителя. С развитием вычислительной техники в 1980–1990-х годах кластеризация стала широко применяться в биоинформатике, маркетинге, геоинформатике и анализе текстов.

Основные подходы и алгоритмы

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

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

Методы, строящие дерево вложенных кластеров (дендрограмму). Разделяются на агломеративные (снизу вверх: каждый объект — отдельный кластер, затем они последовательно объединяются) и дивизивные (сверху вниз: все объекты — один кластер, затем он рекурсивно разделяется). Расстояние между кластерами может измеряться по-разному: одиночная связь (ближайшие соседи), полная связь (дальние соседи), средняя связь (UPGMA), метод Уорда (минимизация внутригрупповой дисперсии). Иерархические методы наглядны, но вычислительно затратны для больших наборов данных (O(n²) и выше).

Метод k-средних (k-means)

Один из самых распространённых итеративных алгоритмов. Цель — разбить n объектов на k кластеров, минимизируя сумму квадратов расстояний от точек до центроидов кластеров. Алгоритм: 1) случайно выбираются k центроидов; 2) каждый объект приписывается к ближайшему центроиду; 3) центроиды пересчитываются как средние точки в кластере; 4) шаги 2–3 повторяются до сходимости. Требует заранее заданного числа кластеров k, чувствителен к начальному выбору центроидов и к выбросам. Существуют модификации: k-medoids (использует реальные объекты как центры), k-means++ (улучшенная инициализация), mini-batch k-means (для больших данных).

Плотностные методы

Выделяют кластеры как области высокой плотности объектов, разделённые областями низкой плотности. Наиболее известен алгоритм DBSCAN (Density-Based Spatial Clustering of Applications with Noise), который определяет кластеры как связные компоненты графа, где вершины — объекты, а рёбра существуют, если расстояние между объектами меньше заданного порога ε, и объект имеет не менее MinPts соседей. DBSCAN автоматически определяет количество кластеров, устойчив к выбросам и может находить кластеры произвольной формы. Недостаток — чувствительность к параметрам ε и MinPts. Другие плотностные методы: OPTICS (обобщение DBSCAN), HDBSCAN (иерархический вариант).

Методы на основе распределений

Предполагают, что данные порождены смесью вероятностных распределений (например, гауссовых). Алгоритм EM (Expectation-Maximization) итеративно оценивает параметры смеси (средние, ковариации, веса) и вероятности принадлежности объектов к каждому компоненту. Результат — мягкая кластеризация (каждый объект имеет вероятности принадлежности ко всем кластерам). Метод хорошо работает, если форма кластеров близка к распределению модели, но требует априорного знания числа компонентов.

Спектральная кластеризация

Использует собственные векторы матрицы сходства (или графа) для понижения размерности, после чего применяет k-средних в новом пространстве. Эффективна для кластеров сложной формы, особенно когда данные нелинейно разделимы. Вычислительно сложна для больших графов.

Другие методы

Оценка качества кластеризации

Качество кластеризации оценивается с помощью внутренних (без эталонных меток) и внешних (с эталонными метками) критериев.

Внутренние критерии

Внешние критерии

Используются, если известна правильная разметка (ground truth):

Применение

Кластеризация применяется в самых разных областях:

Наука и инженерия

Бизнес и маркетинг

Информационные технологии

Социальные науки и психология

Медицина

Проблемы и ограничения

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →