Главная
Новости
Строительство
Ремонт
Дизайн и интерьер

















Яндекс.Метрика





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

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

В приложении к сегментации изображений спектральная кластеризация известна как кластеризация объектов на основе сегментации.

Алгоритмы

Если задано пронумерованное множество точек данных, матрицу сходства можно определить как симметричную матрицу A {displaystyle A} , в которой элементы A i j ≥ 0 {displaystyle A_{ij}geq 0} представляют меру схожести между точками данных с индексами i {displaystyle i} и j {displaystyle j} . Общий принцип спектральной кластеризации — использование стандартного метода кластеризации (существует много таких методов, метод k-средних обсуждается ниже) на значимых собственных векторах матрицы Кирхгофа матрицы A {displaystyle A} . Существует много различных способов определения матрицы Кирхгофа, которая имеет различные математические интерпретации, так что кластеризация будет также иметь различные интерпретации. Значимые собственные вектора — это те, которые соответствуют наименьшим нескольким собственным значениям матрицы Кирхгофа, за исключением собственных значений 0. Для обеспечения вычислительной эффективности эти собственные вектора часто вычисляются как собственные вектора, соответствующие некоторым наибольшим собственным значениям функции от матрицы Кирхгофа.

Одна из техник спектральной кластеризации — алгоритм нормализованных сечений (или алгоритм Ши — Малика), предложенный Джиамбо Ши и Джитендра Маликом, широко используемый метод для сегментации изображений. Алгоритм разбивает точки на два множества ( B 1 , B 2 ) {displaystyle (B_{1},B_{2})} основываясь на собственном векторе v {displaystyle v} , соответствующем второму по величине собственному значению симметрично нормализованной матрицы Кирхгофа, задаваемой формулой

L norm := I − D − 1 / 2 A D − 1 / 2 , {displaystyle L^{ ext{norm}}:=I-D^{-1/2}AD^{-1/2},}

где D {displaystyle D} — диагональная матрица

D i i = ∑ j A i j . {displaystyle D_{ii}=sum _{j}A_{ij}.}

Математически эквивалентный алгоритм использует собственный вектор, соответствующий наибольшему собственному значению нормализованной матрицы Кирхгофа случайного блуждания P = D − 1 A {displaystyle P=D^{-1}A} . Алгоритм Мейла – Ши был проверен в контексте диффузионных карт, которые, как обнаружилось, имеют связь с вычислительной квантовой механикой.

Другая возможность — использование матрицы Кирхгофа, задаваемой выражением

L := D − A {displaystyle L:=D-A}

а не симметрично нормализованной матрицы Кирхгофа.

Разбиение можно осуществить различными способами, такими как вычисление медианы m {displaystyle m} компонент второго наименьшего собственного вектора v {displaystyle v} и помещение всех точек в B 1 {displaystyle B_{1}} , компоненты которых в v {displaystyle v} больше, чем m {displaystyle m} , остальные точки помещаются в B 2 {displaystyle B_{2}} . Алгоритм можно использовать для иерархической кластеризации путём последовательного разбиения подмножеств подобным способом.

Если алгебраически матрица сходства A {displaystyle A} ещё не построена, эффективность спектральной кластеризации может быть улучшена, если решение соответствующей задачи — поиск собственных значений осуществить безматричным методом (без явного манипулирования или даже вычисления матрицы сходства), таким как алгоритм Ланцоша.

Для графов большого размера второе собственное значение (нормализованной) матрицы Кирхгофа графа часто плохо обусловлено, что приводит к медленной сходимости итеративных методов поиска собственных значений. Предобуславливание является ключевой техникой улучшения сходимости, для примера, в безматричном методе LOBPCG. Спектральная кластеризация была успешно применена к большим графам первым делом путём распознавания структуры сетевого сообщества, а затем уж кластеризации сообщества.

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

Бесплатное программное обеспечение для имплементации спектральной кластеризации доступно в больших проектах с открытым исходным кодом, таких как Scikit-learn, MLlib для кластеризации на основе псевдособственных значений с использованием метода степенной итерации, языка R.

Связь с k-средними

Задача о k-средних с нелинейным ядром является расширением задачи о k-средних, в которой входные точки отображаются нелинейно в пространство признаков высокой размерности с помощью ядерной функции k ( x i , x j ) = φ T ( x i ) φ ( x j ) {displaystyle k(x_{i},x_{j})=varphi ^{T}(x_{i})varphi (x_{j})} . Взвешенная задача о k-средних с нелинейным ядром расширяет задачу далее, задавая вес w r {displaystyle w_{r}} для каждого кластера как значение, обратно пропорциональное числу элементов кластера,

max { C s } ∑ r = 1 k w r ∑ x i , x j ∈ C r k ( x i , x j ) . {displaystyle max _{{C_{s}}}sum _{r=1}^{k}w_{r}sum _{x_{i},x_{j}in C_{r}}k(x_{i},x_{j}).}

Пусть F {displaystyle F} — матрица нормализованных коэффициентов для каждой точки любого кластера, в которой F i j = w r {displaystyle F_{ij}=w_{r}} , если i , j ∈ C r {displaystyle i,jin C_{r}} , и 0 в противном случае. Пусть K {displaystyle K} — матрица ядра для всех точек. Взвешенная задача о k-средних с нелинейным ядром с n точками и k кластерами задаётся как задача максимизации

max F trace ⁡ ( K F ) {displaystyle max _{F}operatorname {trace} left(KF ight)}

при условиях

F = G n × k G k × n T {displaystyle F=G_{n imes k}G_{k imes n}^{T}} G T G = E {displaystyle G^{T}G=E}

При этом rank ⁡ ( G ) = k {displaystyle operatorname {rank} (G)=k} . Кроме того, задано ограничение на коэффициенты F {displaystyle F}

F ⋅ 1 = 1 {displaystyle Fcdot mathbf {1} =mathbf {1} } ,

где 1 {displaystyle mathbf {1} } представляет собой вектор из единиц.

F T 1 = 1 {displaystyle F^{T}mathbf {1} =mathbf {1} }

Задачу можно преобразовать в

max G trace ⁡ ( G T G ) . {displaystyle max _{G}operatorname {trace} (G^{T}G).}

Эта задача эквивалентна задаче спектральной кластеризации, когда ограничение на F {displaystyle F} ослаблено. В частности, взвешенная задача k-средних с нелинейным ядром может быть переформулирована как задача спектральной кластеризации (разбиения графа), и наоборот. Выходом алгоритма служат собственные вектора, которые не удовлетворяют ограничениям на индикаторные переменные, определённые вектором F {displaystyle F} . Следовательно, требуется постобработка собственных векторов, чтобы задачи были эквивалентными. Преобразование задачи спектральной кластеризации во взвешенную задачу о k-средних с нелинейным ядром существенно сокращает вычислительные затраты.

Меры для сравнения кластеризации

Рави Каннан, Сантош Вемпала и Адриан Ветта предложили бикритериальную меру для определения качества кластеризации. Они говорят, что кластеризация является (α, ε)-кластеризацией, если проводимость каждого кластера не меньше α, а вес межкластерных рёбер не превышает ε доли от веса всех рёбер в графе. В той же статье они рассматривают также два аппроксимационных алгоритма.