В многомерной статистике спектральные методы кластеризации используют спектр ( собственные значения ) матрицы сходства данных для выполнения снижения размерности перед кластеризацией в меньшем количестве измерений. Матрица сходства предоставляется в качестве входных данных и состоит из количественной оценки относительного сходства каждой пары точек в наборе данных.
Применительно к сегментации изображений спектральная кластеризация известна как категоризация объектов на основе сегментации .
При наличии перечисленного набора точек данных матрица подобия может быть определена как симметричная матрица , где представляет собой меру подобия между точками данных с индексами и . Общий подход к спектральной кластеризации заключается в использовании стандартного метода кластеризации (существует много таких методов, k -средние обсуждаются ниже) на соответствующих собственных векторах матрицы Лапласа . Существует много различных способов определения Лапласа, которые имеют различные математические интерпретации, и поэтому кластеризация также будет иметь различные интерпретации. Релевантными собственными векторами являются те, которые соответствуют нескольким наименьшим собственным значениям Лапласа, за исключением наименьшего собственного значения, которое будет иметь значение 0. Для эффективности вычислений эти собственные векторы часто вычисляются как собственные векторы, соответствующие наибольшим нескольким собственным значениям функции Лапласа.
Спектральная кластеризация, как хорошо известно, связана с разбиением системы масса-пружина, где каждая масса связана с точкой данных, а каждая жесткость пружины соответствует весу ребра, описывающего сходство двух связанных точек данных, как в системе пружины . В частности, классическая ссылка [1] объясняет, что задача на собственные значения, описывающая поперечные моды колебаний системы масса-пружина, в точности совпадает с задачей на собственные значения для матрицы Лапласа графа, определяемой как
где диагональная матрица
и A — матрица смежности .
Массы, которые плотно связаны пружинами в системе масса-пружина, очевидно, движутся вместе из положения равновесия в низкочастотных модах колебаний, так что компоненты собственных векторов, соответствующие наименьшим собственным значениям графа Лапласа, могут быть использованы для осмысленной кластеризации масс. Например, предполагая, что все пружины и массы идентичны в изображенной двумерной системе пружин, можно было бы интуитивно ожидать, что наиболее слабо связанные массы в правой части системы будут двигаться с наибольшей амплитудой и в противоположном направлении относительно остальных масс, когда система встряхивается — и это ожидание будет подтверждено анализом компонентов собственных векторов графа Лапласа, соответствующих наименьшим собственным значениям, т. е. наименьшим частотам колебаний .
Цель нормализации — сделать все диагональные элементы матрицы Лапласа единичными, а также соответствующим образом масштабировать недиагональные элементы. В взвешенном графе вершина может иметь большую степень из-за небольшого числа связанных ребер, но с большими весами, а также из-за большого числа связанных ребер с единичными весами.
Популярный метод нормализованной спектральной кластеризации — это алгоритм нормализованных разрезов или алгоритм Ши–Малика, представленный Цзяньбо Ши и Джитендрой Маликом [2] , [2] обычно используемый для сегментации изображений . Он разбивает точки на два набора на основе собственного вектора, соответствующего второму наименьшему собственному значению симметричного нормализованного лапласиана, определяемого как
Вектор также является собственным вектором, соответствующим второму по величине собственному значению симметрично нормализованной матрицы смежности.
Случайный блуждающий (или левый) нормализованный Лапласиан определяется как
и также может быть использован для спектральной кластеризации. Математически эквивалентный алгоритм [3] берет собственный вектор, соответствующий наибольшему собственному значению случайного блуждания нормализованной матрицы смежности .
Собственный вектор симметрично нормализованного Лапласа и собственный вектор левонормализованного Лапласа связаны тождеством
Зная матрицу выбранных собственных векторов, выполняется отображение — называемое спектральным вложением — исходных точек данных в -мерное векторное пространство с использованием строк . Теперь анализ сводится к кластеризации векторов с компонентами, что может быть сделано различными способами.
В простейшем случае выбранный одиночный собственный вектор , называемый вектором Фидлера , соответствует второму наименьшему собственному значению. Используя компоненты одного, можно поместить все точки, компонент которых в положителен, в набор , а остальные в , таким образом, разделив график на два и пометив точки данных двумя метками. Этот подход на основе знаков следует интуитивному объяснению спектральной кластеризации с помощью модели массы-пружины — в низкочастотном режиме вибрации, который представляет вектор Фидлера , точки данных одного кластера, идентифицированные с взаимно сильно связанными массами, будут двигаться вместе в одном направлении, в то время как в точках данных дополнительного кластера, идентифицированных с оставшимися массами, будут двигаться вместе в противоположном направлении. Алгоритм можно использовать для иерархической кластеризации путем многократного разделения подмножеств таким же образом.
В общем случае можно использовать любой метод векторной кластеризации, например, DBSCAN .
Если матрица подобия еще не была явно построена, эффективность спектральной кластеризации может быть улучшена, если решение соответствующей задачи на собственные значения выполняется безматричным способом (без явного манипулирования или даже вычисления матрицы подобия), как в алгоритме Ланцоша .
Для графов большого размера второе собственное значение (нормализованной) матрицы Лапласа графа часто плохо обусловлено , что приводит к медленной сходимости итеративных решателей собственных значений. Предварительная подготовка является ключевой технологией, ускоряющей сходимость, например, в методе LOBPCG без матриц . Спектральная кластеризация успешно применялась к большим графам, сначала определяя их структуру сообщества , а затем кластеризуя сообщества. [4]
Спектральная кластеризация тесно связана с нелинейным уменьшением размерности , а методы уменьшения размерности, такие как локально-линейное встраивание, могут использоваться для уменьшения ошибок, вызванных шумом или выбросами. [5]
Обозначая число точек данных как , важно оценить объем памяти и время вычислений или число выполненных арифметических операций (AO) как функцию . Независимо от алгоритма спектральной кластеризации, двумя основными затратными пунктами являются построение графа Лапласа и определение его собственных векторов для спектрального встраивания. Последний шаг — определение меток из матрицы собственных векторов — обычно является наименее затратным, требуя только AO и создания только вектора меток в памяти.
Необходимость построения графового Лапласа является общей для всех методов кластеризации на основе расстояний или корреляций. Вычисление собственных векторов характерно только для спектральной кластеризации.
Графовый лапласиан может быть и обычно строится из матрицы смежности. Построение может быть выполнено без матрицы, т. е. без явного формирования матрицы графового лапласиана и без АО. Его также можно выполнить вместо матрицы смежности без увеличения объема памяти. В любом случае, затраты на построение графового лапласиана по сути определяются затратами на построение матрицы смежности -по- графу.
Более того, нормализованный Лапласиан имеет точно такие же собственные векторы, как и нормализованная матрица смежности, но с обратным порядком собственных значений. Таким образом, вместо вычисления собственных векторов, соответствующих наименьшим собственным значениям нормализованного Лапласа, можно эквивалентно вычислить собственные векторы, соответствующие наибольшим собственным значениям нормализованной матрицы смежности, даже не говоря о матрице Лапласа.
Наивные конструкции матрицы смежности графа , например, с использованием ядра RBF, делают ее плотной, требуя, таким образом, памяти и АО для определения каждого из элементов матрицы. Метод Нистрома [6] может быть использован для аппроксимации матрицы сходства, но аппроксимированная матрица не является поэлементно положительной, [7] т.е. не может быть интерпретирована как сходство на основе расстояния.
Алгоритмы построения матрицы смежности графа как разреженной матрицы обычно основаны на поиске ближайшего соседа , который оценивает или выбирает окрестность заданной точки данных для ближайших соседей и вычисляет ненулевые элементы матрицы смежности, сравнивая только пары соседей. Таким образом, количество выбранных ближайших соседей определяет количество ненулевых элементов и часто фиксируется, так что объем памяти матрицы смежности графа составляет всего , для вычисления ненулевых элементов требуются только последовательные арифметические операции , и вычисления можно тривиально выполнять параллельно.
Стоимость вычисления матрицы -by- (с ) выбранных собственных векторов графового лапласиана обычно пропорциональна стоимости умножения матрицы -by- графового лапласиана на вектор, которая сильно варьируется в зависимости от того, плотная или разреженная матрица графового лапласиана. Для плотного случая стоимость, таким образом, составляет . Очень часто цитируемая в литературе стоимость исходит из выбора и явно вводит в заблуждение, поскольку, например, в иерархической спектральной кластеризации , определяемой вектором Фидлера .
В разреженном случае матрицы Лапласа -by- graph с ненулевыми элементами стоимость произведения матрицы на вектор и, следовательно, вычисления матрицы -by- with выбранных собственных векторов составляет , с занимаемой памятью также только — оба являются оптимальными нижними границами сложности кластеризации точек данных. Более того, решатели собственных значений без матриц, такие как LOBPCG, могут эффективно работать параллельно, например, на нескольких графических процессорах с распределенной памятью, что приводит не только к высококачественным кластерам, которыми славится спектральная кластеризация, но и к наивысшей производительности. [8]
Бесплатное программное обеспечение, реализующее спектральную кластеризацию, доступно в крупных проектах с открытым исходным кодом, таких как scikit-learn [9] с использованием LOBPCG [10] с многосеточным предварительным обусловливанием [11] [12] или ARPACK , MLlib для кластеризации псевдособственных векторов с использованием метода степенной итерации [13] и R [14] .
Идеи, лежащие в основе спектральной кластеризации, могут быть не очевидны. Может быть полезно выделить связи с другими методами. В частности, ее можно описать в контексте методов ядерной кластеризации, что выявляет несколько сходств с другими подходами. [15]
Задача взвешенного ядра k -средних [16] разделяет целевую функцию с задачей спектральной кластеризации, которую можно оптимизировать напрямую с помощью многоуровневых методов. [17]
В тривиальном случае определения компонентов связного графа — оптимальных кластеров без разрезов ребер — спектральная кластеризация также связана со спектральной версией кластеризации DBSCAN , которая находит компоненты, связанные по плотности. [18]
Рави Каннан, Сантош Вемпала и Адриан Ветта [19] предложили бикритериальную меру для определения качества заданной кластеризации. Они сказали, что кластеризация является (α, ε)-кластеризацией, если проводимость каждого кластера (в кластеризации) составляет не менее α, а вес межкластерных ребер составляет не более ε доли от общего веса всех ребер в графе. Они также рассматривают два алгоритма аппроксимации в той же статье.
Спектральная кластеризация имеет долгую историю. [20] [21] [22] [23] [24] [2] [25] Спектральная кластеризация как метод машинного обучения была популяризирована Ши и Маликом [2] и Нг, Джорданом и Вайсом. [25]
Идеи и сетевые меры, связанные со спектральной кластеризацией, также играют важную роль в ряде приложений, явно отличных от проблем кластеризации. Например, сети с более сильными спектральными разбиениями требуют больше времени для сходимости в моделях обновления мнений, используемых в социологии и экономике. [26] [27]