Выбор метода кластерного анализа

В этом разделе представлен краткий обзор доступных методов кластеризации в Statistics and Machine Learning Toolbox™.

Методы кластеризации

Cluster analysis, также называемый segmentation analysis или taxonomy analysis, является общим неконтролируемым методом обучения. Неконтролируемое обучение используется, чтобы сделать выводы из наборов данных, состоящих из входных данных без маркированных ответов. Для примера можно использовать кластерный анализ для исследовательского анализа данных для поиска скрытых шаблонов или группировок в немаркированных данных.

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

Statistics and Machine Learning Toolbox предоставляет функциональность для следующих методов кластеризации:

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

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

Использовать clusterdata для выполнения иерархической кластеризации входных данных. clusterdata включает в себя pdist, linkage, и cluster функций, которые можно использовать отдельно для более детального анализа. dendrogram графики функций дерева кластеров. Для получения дополнительной информации см. Введение в иерархическую кластеризацию.

k кластеризации -Means и k-Medoids

k -means clustering и k -medoids кластеризуют данные разбиения на k взаимоисключающих кластеров. Эти методы кластеризации требуют, чтобы вы задали количество k кластеров. Кластеризация k -means и k -medoids присваивает кластеру каждую точку в ваших данных; однако, в отличие от иерархической кластеризации, эти методы работают с фактическими наблюдениями (а не с мерами неоднородности), и создают единый уровень кластеров. Поэтому кластеризация k -means или k-medoids часто более подходит, чем иерархическая кластеризация для больших объемов данных.

Использовать kmeans и kmedoids для реализации кластеризации k -means и k -medoids, соответственно. Для получения дополнительной информации смотрите Введение в k -Means Clustering и k -Medoids Clustering.

Основанная на плотности пространственная кластеризация приложений с шумом (DBSCAN)

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

Использовать dbscan для выполнения кластеризации на входные данные матрице или на парных расстояниях между наблюдениями. Для получения дополнительной информации смотрите Введение в DBSCAN.

Смешанная гауссовская модель

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

Использовать fitgmdist для соответствия gmdistribution объект вашим данным. Можно также использовать gmdistribution для создания объекта GMM путем определения параметров распределения. Когда у вас есть подобранный GMM, можно кластеризировать данные запроса при помощи cluster функция. Для получения дополнительной информации смотрите Кластер Использование Смешанной гауссовской модели.

k - поиск по ближайшему соседу и поиск по радиусу

k - ближайший соседний поиск находит k ближайшие точки в данных к точке запроса или набору точек запроса. Напротив, радиус поиска находит все точки в данных, которые находятся на заданном расстоянии от точки запроса или набора точек запроса. Результаты этих методов зависят от заданной метрики расстояния.

Используйте knnsearch функция для поиска k - ближайших соседей или rangesearch функция для поиска всех соседей на заданном расстоянии от ваших входных данных. Можно также создать объект-искатель с помощью набора обучающих данных и передать наборы данных объекта и запросов в функции объекта (knnsearch и rangesearch). Для получения дополнительной информации смотрите Классификация с использованием ближайших соседей.

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

Спектральная кластеризация является основанным на графе алгоритмом для нахождения k произвольно сформированных кластеров в данных. Метод включает представление данных в низкой размерности. В низкой размерности кластеры в данных разделяются более широко, что позволяет использовать такие алгоритмы, как кластеризация k -means или k -medoids. Эта низкая размерность основана на собственных векторах матрицы Лапласа. Матрица Лапласа является одним из способов представления графика подобия, который моделирует отношения локального соседства между точками данных как неориентированный граф.

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

Сравнение методов кластеризации

В этой таблице сравниваются функции доступных методов кластеризации в Statistics and Machine Learning Toolbox.

МетодБазис алгоритмаВход в алгоритмТребуется указанное количество кластеровИдентифицированные фигуры кластераПолезно для определения выбросов
Иерархическая кластеризацияРасстояние между объектамиПарные расстояния между наблюдениямиНетПроизвольно сформированные кластеры, в зависимости от заданной 'Linkage' алгоритмНет
k-означает кластеризацию и k-медоидную кластеризацию Расстояние между объектами и центроидамиФактические наблюденияДаСфероидальные кластеры с равной диагональной ковариациейНет
Основанная на плотности пространственная кластеризация приложений с шумом (DBSCAN)Плотность областей в данныхФактические наблюдения или парные расстояния между наблюдениямиНетКластеры произвольной формыДа
Смешанные гауссовские моделиСмесь Гауссовых распределенийФактические наблюденияДаСфероидальные кластеры с различными ковариационными структурамиДа
Ближайшие соседиРасстояние между объектамиФактические наблюденияНетКластеры произвольной формыДа, в зависимости от заданного количества соседей
Спектральная кластеризация (данные разбиения с использованием спектральной кластеризации)График, представляющий связи между точками данныхФактические наблюдения или матрица подобияДа, но алгоритм также предоставляет способ оценить количество кластеровКластеры произвольной формыНет

Похожие темы