spectralcluster

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

Описание

пример

idx = spectralcluster(X,k) наблюдения разбиений в n -by p матрице данных X в k кластеры, использующие алгоритм спектральной кластеризации (см. Алгоритмы). spectralcluster возвращает вектор n -by-1 idx содержит кластерные индексы каждого наблюдения.

пример

idx = spectralcluster(S,k,'Distance','precomputed') возвращает вектор индексов кластеров для S, матрица подобия (или матрица смежности) график подобия. S может быть выходом adjacency.

Чтобы использовать матрицу подобия в качестве первого входа, вы должны задать 'Distance','precomputed'.

пример

idx = spectralcluster(___,Name,Value) задает дополнительные опции, используя один или несколько аргументы пары "имя-значение" в дополнение к входным параметрам в предыдущих синтаксисах. Для примера можно задать 'SimilarityGraph','epsilon' чтобы создать график подобия с помощью метода радиусного поиска.

[idx,V] = spectralcluster(___) также возвращает собственные векторы V соответствующий k наименьшие собственные значения Матрицы Лапласа.

пример

[idx,V,D] = spectralcluster(___) также возвращает вектор D содержащий k наименьшие собственные значения Матрицы Лапласа.

Примеры

свернуть все

Скопируйте 2-D набор круговых данных с помощью спектральной кластеризации с метрикой Евклидова расстояния по умолчанию.

Сгенерируйте синтетические данные, которые содержат два шумных круга.

rng('default') % For reproducibility

% Parameters for data generation
N = 300;  % Size of each cluster
r1 = 2;   % Radius of first circle
r2 = 4;   % Radius of second circle
theta = linspace(0,2*pi,N)';

X1 = r1*[cos(theta),sin(theta)]+ rand(N,1); 
X2 = r2*[cos(theta),sin(theta)]+ rand(N,1);
X = [X1;X2]; % Noisy 2-D circular data set

Найдите два кластера в данных с помощью спектральной кластеризации.

idx = spectralcluster(X,2);

Визуализируйте результат кластеризации.

gscatter(X(:,1),X(:,2),idx);

Figure contains an axes. The axes contains 2 objects of type line. These objects represent 1, 2.

The spectralcluster функция правильно определяет два кластера в наборе данных.

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

Загрузите набор данных радужки Фишера. Используйте длины и ширины лепестков в качестве функций для кластеризации.

load fisheriris
X = meas(:,3:4);
gscatter(X(:,1),X(:,2),species);

Figure contains an axes. The axes contains 3 objects of type line. These objects represent setosa, versicolor, virginica.

Найти расстояние между каждой парой наблюдений в X при помощи pdist и squareform функционирует с метрикой Евклидова расстояния по умолчанию.

dist_temp = pdist(X);
dist = squareform(dist_temp);

Создайте матрицу подобия и подтвердите, что она симметричная.

S = exp(-dist.^2);
issymmetric(S)
ans = logical
   1

Выполните спектральную кластеризацию. Задайте 'Distance','precomputed' для выполнения кластеризации с помощью матрицы подобия. Задайте k=3 кластеры и установите 'LaplacianNormalization' аргумент пары "имя-значение" для использования нормализованной симметричной матрицы Лапласа.

k = 3; % Number of clusters
rng('default') % For reproducibility
idx = spectralcluster(S,k,'Distance','precomputed','LaplacianNormalization','symmetric');

idx содержит индексы кластеров для каждого наблюдения в X.

Визуализируйте результат кластеризации.

gscatter(X(:,1),X(:,2),idx);

Figure contains an axes. The axes contains 3 objects of type line. These objects represent 1, 2, 3.

Сведите результаты кластеризации в таблицу.

tabulate(idx)
  Value    Count   Percent
      1       48     32.00%
      2       50     33.33%
      3       52     34.67%

The Percent в столбце показан процент точек данных, присвоенных трем кластерам.

Повторите спектральную кластеризацию, используя данные как вход в spectralcluster. Задайте 'NumNeighbors' как size(X,1), что соответствует созданию матрицы подобия S путем соединения каждой точки со всеми оставшимися точками.

idx2 = spectralcluster(X,k,'NumNeighbors',size(X,1),'LaplacianNormalization','symmetric');
gscatter(X(:,1),X(:,2),idx2);

Figure contains an axes. The axes contains 3 objects of type line. These objects represent 1, 2, 3.

tabulate(idx2)
  Value    Count   Percent
      1       50     33.33%
      2       52     34.67%
      3       48     32.00%

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

Найдите кластеры в наборе данных на основе заданного радиуса поиска для создания графика подобия.

Создайте данные с 3 кластеры, каждый из которых содержит 500 точек.

rng('default') % For reproducibility
N = 500;
X = [mvnrnd([0 0],eye(2),N); ...
    mvnrnd(5*[1 -1],eye(2),N); ...
    mvnrnd(5*[1 1],eye(2),N)];

Задайте радиус поиска 2 для создания графика подобия и поиска 3 кластеров в данных.

idx = spectralcluster(X,3,'SimilarityGraph','epsilon','Radius',2);

Визуализируйте результат кластеризации.

gscatter(X(:,1),X(:,2),idx);

Figure contains an axes. The axes contains 3 objects of type line. These objects represent 1, 2, 3.

Найдите собственные значения и собственные векторы Матрицы Лапласа и используйте значения для подтверждения результатов кластеризации.

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

rng('default'); % For reproducibility
n = 100;
X = [randn(n,2)*0.5+3;
    randn(n,2)*0.5
    randn(n,2)*0.5-3]; 

Оцените количество кластеров в данных с помощью собственных значений Матрицы Лапласа. Вычислите пять наименьших собственных значений (в величине) Матрицы Лапласа.

[~,~,D_temp] = spectralcluster(X,5)
D_temp = 5×1

   -0.0000
   -0.0000
   -0.0000
    0.0277
    0.0296

Только первые три собственных значений примерно равны нулю. Количество нулевых собственных значений является хорошим показателем количества связанных компонентов в графике подобия и, следовательно, является хорошей оценкой количества кластеров в ваших данных. Итак, k=3 является хорошей оценкой количества кластеров в X.

Поиск k=3 Кластеры и возврат трёх наименьших собственных значений и соответствующие собственные векторы Матрицы Лапласа.

[idx,V,D] = spectralcluster(X,3)
idx = 300×1

     3
     3
     3
     3
     3
     3
     3
     3
     3
     3
      ⋮

V = 300×3

   -0.0000    0.1000    0.0000
   -0.0000    0.1000    0.0000
   -0.0000    0.1000    0.0000
   -0.0000    0.1000    0.0000
   -0.0000    0.1000    0.0000
   -0.0000    0.1000    0.0000
   -0.0000    0.1000    0.0000
   -0.0000    0.1000    0.0000
   -0.0000    0.1000    0.0000
   -0.0000    0.1000    0.0000
      ⋮

D = 3×1
10-16 ×

   -0.3634
   -0.3857
   -0.3894

Элементы D соответствуют трем наименьшим собственным значениям Матрицы Лапласа. Столбцы V содержат собственные векторы, соответствующие собственным значениям в D. Для хорошо разделенных кластеров собственные векторы являются векторами-индикаторами. Собственные векторы имеют значения нуля (или близкие к нулю) для точек, которые не принадлежат конкретному кластеру, и ненулевые значения для точек, которые принадлежат конкретному кластеру.

Визуализируйте результат кластеризации.

gscatter(X(:,1),X(:,2),idx);

Figure contains an axes. The axes contains 3 objects of type line. These objects represent 1, 2, 3.

Входные параметры

свернуть все

Входные данные, заданные как n -by p числовая матрица. Строки X соответствуют наблюдениям (или точкам), а столбцы соответствуют переменным.

Программное обеспечение лечит NaNs в X как отсутствующие данные и игнорирует любую строку X содержит, по меньшей мере, один NaN. spectralcluster функция возвращает NaN значения для соответствующей строки в выходных аргументах idx и V.

Типы данных: single | double

Матрица подобия, заданная как n -by n симметричная матрица, где n - количество наблюдений. Матрица подобия (или матрица смежности) представляет входные данные путем моделирования отношений локального соседства между точками данных. Значения в матрице подобия представляют ребра (или связи) между узлами (точками данных), которые связаны в графике подобия. Для получения дополнительной информации см. «Матрица подобия».

S не должно содержать никаких NaN значения.

Чтобы использовать матрицу подобия в качестве первого входа spectralcluster, необходимо указать 'Distance','precomputed'.

Типы данных: single | double

Количество кластеров в данных, заданное как положительное целое число.

Для получения дополнительной информации о том, как оценить количество кластеров, смотрите Советы.

Типы данных: single | double

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: spectralcluster(X,3,'SimilarityGraph','epsilon','Radius',5) задает 3 кластеры и использует метод радиусного поиска с радиусом поиска 5 чтобы создать график подобия.

Метрика расстояния, заданная как разделенная разделенными запятой парами, состоящая из 'Distance' и вектор символов, строковый скаляр или указатель на функцию, как описано в этой таблице.

ЗначениеОписание
'precomputed'

Предварительно вычисленное расстояние. Вы должны задать эту опцию, если первый вход в spectralcluster является матрицей подобия S.

'euclidean'

Евклидово расстояние (по умолчанию)

'seuclidean'

Стандартизированное евклидово расстояние. Каждое различие координат между наблюдениями масштабируется путем деления на соответствующий элемент стандартного отклонения, вычисленного из X. Используйте Scale аргумент пары "имя-значение" для задания другого масштабного коэффициента.

'mahalanobis'

Расстояние Махаланобиса с помощью выборочной ковариации X, C = cov(X,'omitrows'). Используйте Cov аргумент пары "имя-значение" для задания другой ковариационной матрицы.

'cityblock'

Расстояние между блоками

'minkowski'

Расстояние Минковского. Экспонента по умолчанию является 2. Используйте P аргумент пары "имя-значение" для задания другого экспонента, где P является положительная скалярная величина значением.

'chebychev'

Расстояние Чебычева (максимальное различие координат)

'cosine'

Один минус косинус включенного угла между наблюдениями (обрабатывается как векторы)

'correlation'

Один минус корреляция выборки между наблюдениями (рассматривается как последовательности значений)

'hamming'

Расстояние Хемминга, которое является процентом координат, которые различаются

'jaccard'

Один минус коэффициент Жаккарда, который является процентом ненулевых координат, которые различаются

'spearman'

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

distfun

Пользовательский указатель на функцию расстояния. Функция расстояния имеет вид

function D2 = distfun(ZI,ZJ)
% calculation of distance
...
где

  • ZI является 1-by- n вектор, содержащий одно наблюдение.

  • ZJ является m2-by- n матрица, содержащая несколько наблюдений. distfun необходимо принять матрицу ZJ с произвольным количеством наблюдений.

  • D2 является m2-by- 1 вектор расстояний, и D2(k) - расстояние между наблюдениями ZI и ZJ(k,:).

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

Для получения дополнительной информации см. «Метрики расстояния».

Когда вы используете 'seuclidean', 'minkowski', или 'mahalanobis' distance metric, можно задать дополнительный аргумент пары "имя-значение" 'Scale', 'P', или 'Cov', соответственно, для управления метрикой расстояния.

Пример: spectralcluster(X,5,'Distance','minkowski','P',3) задает 5 кластеры и использование метрики расстояния Минковского с показателем 3 для выполнения алгоритма кластеризации.

Экспонента для метрики расстояния Минковского, заданная как разделенная разделенными запятой парами, состоящая из 'P' и положительная скалярная величина.

Этот аргумент действителен только в том случае, если 'Distance' является 'minkowski'.

Пример: 'P',3

Типы данных: single | double

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

Этот аргумент действителен только в том случае, если 'Distance' является 'mahalanobis'.

Пример: 'Cov',eye(4)

Типы данных: single | double

Масштабные коэффициенты для стандартизированной метрики Евклидова расстояния, заданные как разделенная разделенными запятой парами, состоящая из 'Scale' и числовой вектор неотрицательных значений.

Scale имеет p длины (количество столбцов в X), поскольку каждая размерность (столбец) X имеет соответствующее значение в Scale. Для каждой размерности X, spectralcluster использует соответствующее значение в Scale стандартизировать различие между наблюдениями.

Этот аргумент действителен только в том случае, если 'Distance' является 'seuclidean'.

Типы данных: single | double

Тип графика подобия для построения из входных данных X, заданная как разделенная разделенными запятой парами, состоящая из 'SimilarityGraph' и одно из этих значений.

ЗначениеОписаниеАргументы в виде пар имя-значение для конкретного графа
'knn'(По умолчанию) Создайте график, используя ближайшие соседи.

'NumNeighbors' - Количество ближайших соседей, используемых для построения графика подобия

'KNNGraphType' - Тип графа ближайшего соседа

'epsilon'

Создайте график с помощью радиусного поиска. Вы должны задать значение для Radius если вы используете эту опцию.

'Radius' - Радиус поиска для ближайших соседей, используемых для построения графика подобия

Для получения дополнительной информации см. «График подобия».

Этот аргумент действителен только в том случае, если 'Distance' не 'precomputed'.

Пример: 'SimilarityGraph','epsilon'

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

Этот аргумент действителен только в том случае, если 'SimilarityGraph' является 'knn'. Для получения дополнительной информации см. «График подобия».

Пример: 'NumNeighbors',10

Типы данных: single | double

Тип ближайшего соседнего графика, заданный как разделенная запятой пара, состоящий из 'KNNGraphType' и одно из этих значений.

ЗначениеОписание
'complete'

(По умолчанию) Соединяет две точки i и j, когда i является ближайшим соседом j или j является ближайшим соседом i.

Эта опция приводит к более плотному представлению матрицы подобия.

'mutual'

Соединяет две точки i и j, когда i является ближайшим соседом j и j является ближайшим соседом i.

Эта опция приводит к более разреженному представлению матрицы подобия.

Этот аргумент действителен только в том случае, если 'SimilarityGraph' является 'knn'.

Пример: 'KNNGraphType','mutual'

Радиус поиска для ближайших соседей, используемых для построения графика подобия, заданный как разделенная разделенными запятой парами, состоящая из 'Radius' и неотрицательный скаляр.

Вы должны задать этот аргумент, если 'SimilarityGraph' является 'epsilon'. Для получения дополнительной информации см. «График подобия».

Пример: 'Radius',5

Типы данных: single | double

Масштабный коэффициент для ядра, заданный как разделенная разделенными запятой парами, состоящая из 'KernelScale' и 'auto' или положительная скалярная величина. Программа использует коэффициент шкалы, чтобы преобразовать расстояния к измерениям подобия. Для получения дополнительной информации см. «График подобия».

  • The 'auto' опция поддерживается только для 'euclidean' и 'seuclidean' метрики расстояния.

  • Если вы задаете 'auto'затем программа выбирает соответствующий масштабный коэффициент с помощью эвристической процедуры. Эта эвристическая процедура использует субдискретизацию, поэтому оценки могут варьироваться от одного вызова к другому. Чтобы воспроизвести результаты, установите начальное число случайных чисел используя rng перед вызовом spectralcluster.

Этот аргумент действителен только в том случае, если 'Distance' не 'precomputed'.

Пример: 'KernelScale','auto'

Типы данных: double | single | char | string

Метод нормализации Матрицы Лапласа L, заданный как разделенная запятой пара, состоящий из 'LaplacianNormalization' и одно из этих значений.

ЗначениеОписание
'none'

Используйте матрица Лапласа L без нормализации.

'randomwalk'

(По умолчанию) Используйте нормализованную Laplacian матрицу случайных Lrw (Shi-Malik [2]).

Lrw=Dg1L.

Матричная Dg является степенью матрицей.

'symmetric'

Используйте нормированную симметричную матрицу Лапласа Ls (Ng-Jordan-Weiss [3]).

Ls=Dg1/2LDg1/2.

Матричная Dg является степенью матрицей.

Для получения дополнительной информации см. Матрица Лапласа.

Пример: 'LaplacianNormalization','randomwalk'

Метод кластеризации для кластеризации собственных векторов Матрицы Лапласа, заданный как разделенная разделенными запятой парами, состоящая из 'ClusterMethod' и любой из них 'kmeans' или 'kmedoids'.

  • 'kmeans' - Выполните k -means кластеризацию при помощи kmeans функция.

  • 'kmedoids' - Выполните k -medoids кластеризацию при помощи kmedoids функция.

kmeans и kmedoids включают случайность в свои алгоритмы. Поэтому воспроизвести результаты spectralcluster, необходимо задать seed генератора случайных чисел при помощи rng.

Пример: 'ClusterMethod','kmedoids'

Выходные аргументы

свернуть все

Индексы кластера, возвращенные как числовой вектор-столбец. idx имеет n строки и каждую строку idx указывает назначение кластера соответствующей строки (или наблюдения) в X.

Типы данных: double

Собственные векторы, возвращенные как n -by- k числовая матрица. Столбцы V являются собственными векторами, соответствующими k наименьшие собственные значения Матрицы Лапласа. Эти собственные векторы являются маломерным представлением входных данных X в новом пространстве, где кластеры более широко разделены.

Для хорошо разделенных кластеров собственные векторы являются векторами-индикаторами. То есть собственные векторы имеют значения нуля (или близкие к нулю) для точек, которые не относятся к данному кластеру, и ненулевые значения для точек, которые относятся к конкретному кластеру.

Типы данных: single | double

Собственные значения, возвращенные как k-by-1 числовой вектор, который содержит k наименьшие собственные значения Матрицы Лапласа. Количество нулевых собственных значений в D является показателем количества связанных компонентов в графике подобия и, следовательно, является хорошей оценкой количества кластеров в ваших данных.

Типы данных: single | double

Подробнее о

свернуть все

График подобия

График подобия моделирует отношения локального соседства между точками данных в X как неориентированный граф. Узлы в графике представляют точки данных, а ребра, которые не имеют направления, представляют связи между точками данных.

Если попарное расстояние Disti,j между любыми двумя узлами i и j положительно (или больше определенного порога), то график подобия соединяет эти два узла с помощью ребра [1]. Ребро между этими двумя узлами взвешивается попарным Si,j подобия, где Si,j=exp((Disti,jσ)2), для заданного значения σ шкалы ядра.

spectralcluster поддерживает эти два метода построения графика подобия:

  • Метод ближайшего соседа (если 'SimilarityGraph' является 'knn'(по умолчанию)): spectralcluster соединяет точки в X которые являются ближайшими соседями. Можно использовать 'NumNeighbors' и 'KNNGraphType' Аргументы пары "имя-значение", чтобы задать опции для построения ближайшего соседнего графика.

    • Использование 'NumNeighbors' для определения количества ближайших соседей.

    • Использование 'KNNGraphType' чтобы указать, делать ли 'complete' или 'mutual' соединение точек.

  • Метод поиска радиуса (если 'SimilarityGraph' является 'epsilon'): spectralcluster соединяет точки, парные расстояния которых меньше радиуса поиска. Необходимо задать радиус поиска для ближайших соседей, используемых для построения графика подобия при помощи 'Radius' аргумент пары "имя-значение".

Матрица подобия

Матрица подобия является матричным представлением графика подобия. Матрица n -by n S=(Si,j)i,j=1,,n содержит попарные значения подобия между связанными узлами в графике подобия. Матрица подобия графика также называется матрицей смежности.

Матрица подобия симметрична, потому что ребра графика подобия не имеют направления. Значение Si,j = 0 означает, что узлы < reservedrangesplaceholder1 > и < reservedrangesplaceholder0 > графика подобия не связаны.

Матрица степеней

Матричная Dg степени является n -by n диагональной матрицей, полученной путем суммирования строк матричной S подобия. То есть i-й диагональный элемент Dg является Dg(i,i)=j=1nSi,j.

Матрица Лапласа

Матрица Лапласа является одним из способов представления графика подобия. spectralcluster функция поддерживает неормализованную матрицу Лапласа, нормализованную матрицу Лапласа с помощью метода Ши-Малика [2] и нормализованную матрицу Лапласа с помощью метода Нг-Жордана-Вайса [3].

  • Неормализированная Матрица Лапласа L является различием между матрицей степеней и матрицей подобия.

    L=DgS.

  • Нормализованная Матрица Лапласа случайной ходьбы (Shi-Malik) определяется как:

    Lrw=Dg1L.

    Чтобы вывести Lrw, решите обобщенную задачу собственного значения Lv=λDgv, где v - вектор-столбец длины n, а λ - скаляр. Значения λ, которые удовлетворяют уравнению, являются обобщенными собственными значениями матрицы Lrw=Dg1L.

    Можно использовать MATLAB® функция eigs для решения обобщенной задачи собственного значения.

  • Нормированная симметричная Матрица Лапласа (Ng-Jordan-Weiss) определяется как:

    Ls=Dg1/2LDg1/2.

Используйте 'LaplacianNormalization' аргумент пары "имя-значение" для задания метода нормализации матрицы Лапласа.

Совет

  • Рассмотрите использование спектральной кластеризации, когда кластеры в ваших данных естественно не соответствуют выпуклым областям.

  • Из алгоритма спектральной кластеризации можно оценить количество кластеров k как:

    • Количество собственных значений Матрицы Лапласа, которые равны 0.

    • Количество связанных компонентов в представлении графика подобия. Использование graph чтобы создать график подобия из матрицы подобия и использовать conncomp для поиска количества связанных компонентов в графике.

    Для получения примера см. «Оценка количества кластеров и выполнение спектральной кластеризации».

Алгоритмы

Спектральная кластеризация является основанным на графе алгоритмом для кластеризации точек данных (или наблюдений в X). Алгоритм включает построение графика, нахождение его Матрицы Лапласа и использование этой матрицы для поиска k собственных векторов, чтобы разделить графиков k способами. По умолчанию алгоритм для spectralcluster вычисляет нормированную матрицу Лапласа случайной ходьбы с помощью метода, описанного Ши-Маликом [2]. spectralcluster также поддерживает неормализованную матрицу Лапласа и нормализованную симметричную матрицу Лапласа, которая использует метод Ng-Jordan-Weiss [3]. spectralcluster реализует кластеризацию следующим образом:

  1. Для каждой точки данных в X, задайте локальное соседство с помощью метода поиска радиуса или метода ближайшего соседа, как задано 'SimilarityGraph' Аргумент пары "имя-значение" (см. График подобия). Затем найдите парные расстояния Disti,j для всех точек i и j в районе.

  2. Преобразуйте расстояния в измерения подобия с помощью преобразования ядра Si,j=exp((Disti,jσ)2). Матричная S является матрицей подобия, и σ является масштабным коэффициентом для ядра, как задано с помощью 'KernelScale' аргумент пары "имя-значение".

  3. Вычислите неормализованную матричную L Лаплака, нормализованную Матрицу Лапласа Lrw с случайной ходьбой или нормализованную симметричную матричную Ls с Лаплаковой в зависимости от значения 'LaplacianNormalization' аргумент пары "имя-значение".

  4. Создайте матрицу Vn×k содержащие столбцы v1,,vk, где столбцы являются k собственными векторами, которые соответствуют k наименьшим собственным значениям Матрицы Лапласа. При использовании Ls нормализуйте каждую строку V, чтобы она имела единичную длину.

  5. Рассматривая каждую строку V как точку, группируйте точки n с помощью кластеризации k -means (по умолчанию) или k-medoids, как задано 'ClusterMethod' аргумент пары "имя-значение".

  6. Присвойте исходные точки в X в те же кластеры, что и соответствующие им строки в V.

Ссылки

[1] Von Luxburg, U. «A Tutorial on Spectral Clustering». Журнал статистики и вычислений. Vol.17, № 4, 2007, с. 395-416.

[2] Ши, Дж., и Дж. Малик. «Нормированные вырезы и сегментация изображений». Транзакции IEEE по шаблонному анализу и машинному анализу. Том 22, 2000, стр. 888-905.

[3] Ng, A.Y., M. Jordan, and Y. Weiss. «О спектральной кластеризации: Анализ и алгоритм». В трудах по усовершенствованиям в системах обработки нейронной информации 14. MIT Press, 2001, стр. 849-856.

Введенный в R2019b
Для просмотра документации необходимо авторизоваться на сайте