Спектральная кластеризация
возвращает вектор кластерных индексов для idx
= spectralcluster(S
,k
,'Distance'
,'precomputed')S
, матрица подобия (или матрица смежности) графика подобия. S
может быть выход adjacency
.
Чтобы использовать матрицу подобия в качестве первого входа, необходимо задать 'Distance','precomputed'
.
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение" в дополнение к входным параметрам в предыдущих синтаксисах. Например, можно задать idx
= spectralcluster(___,Name,Value
)'SimilarityGraph','epsilon'
создать график подобия с помощью метода поиска радиуса.
[
также возвращает собственные вектора idx
,V
] = spectralcluster(___)V
соответствие k
самые маленькие собственные значения Матрицы Лапласа.
Рассмотрите использование спектральной кластеризации, когда кластеры в ваших данных не будут естественно соответствовать выпуклым областям.
Из спектрального алгоритма кластеризации можно оценить количество кластеров k
как:
Для примера смотрите Оценочное Количество Кластеров и Выполните Спектральную Кластеризацию.
Спектральная кластеризация является основанным на графике алгоритмом для кластеризации точек данных (или наблюдения в X
). Алгоритм включает построение графика, нахождение его Матрицы Лапласа и использование этой матрицы, чтобы найти, что собственные вектора k разделяют график k пути. По умолчанию, алгоритм для spectralcluster
вычисляет нормированную Матрицу Лапласа случайного обхода с помощью метода, описанного Ши-Маликом [2]. spectralcluster
также поддерживает ненормированную Матрицу Лапласа и нормированную симметричную Матрицу Лапласа, которая использует метод Ына-Джордана-Вайса [3]. spectralcluster
реализации, кластеризирующиеся можно следующим образом:
Для каждой точки данных в X
, задайте локальное окружение с помощью или метода поиска радиуса или самого близкого соседнего метода, как задано 'SimilarityGraph'
аргумент пары "имя-значение" (см. График Подобия). Затем найдите попарные расстояния для всех точек i и j в окружении.
Преобразуйте расстояния до мер по подобию с помощью преобразования ядра . Матричный S является матрицей подобия, и σ является масштабным коэффициентом для ядра, как задано использование 'KernelScale'
аргумент пары "имя-значение".
Вычислите ненормированную Матрицу Лапласа
L, нормированная Матрица Лапласа случайного обхода Lrw или нормированная симметричная Матрица Лапласа Ls, в зависимости от значения 'LaplacianNormalization'
аргумент пары "имя-значение".
Создайте матрицу содержа столбцы , где столбцы являются собственными векторами k, которые соответствуют k самые маленькие собственные значения Матрицы Лапласа. При использовании Ls нормируйте каждую строку V, чтобы иметь единичную длину.
При обработке каждой строки V как точка кластеризируйтесь, точки n с помощью k - означает кластеризировать (значение по умолчанию) или k-medoids кластеризацию, как задано 'ClusterMethod'
аргумент пары "имя-значение".
Присвойте исходные точки в X
к тем же кластерам как их соответствующие строки в V.
[2] Ши, J. и Дж. Малик. “Нормированные сокращения и сегментация изображений”. Транзакции IEEE согласно Анализу Шаблона и Искусственному интеллекту. Издание 22, 2000, стр 888–905.
[3] Ын, A.Y., М. Джордан и И. Вайс. “На спектральной кластеризации: Анализ и алгоритм”. В Продолжениях Усовершенствований в Нейронных Системах обработки информации 14. Нажатие MIT, 2001, стр 849–856.