Спектральная кластеризация
Материал из MachineLearning.
| | Статья написана с использованием LLM ChatGPT и проверена участником .... |
Спектральная кластеризация — семейство методов кластеризации, основанных на представлении данных в виде взвешенного графа и анализе спектра его лапласиана. В отличие от методов, работающих непосредственно в исходном пространстве признаков, спектральная кластеризация использует структуру связей между объектами и позволяет находить кластеры сложной формы, которые могут быть неразделимы линейными границами.
Основная идея метода состоит в построении графа сходства, вычислении нескольких собственных векторов соответствующего лапласиана и последующей кластеризации полученного низкоразмерного представления, обычно алгоритмом k-means. Метод тесно связан с задачами разбиения графов, критериями Normalized Cut и RatioCut, а также с такими направлениями, как Laplacian Eigenmaps и Diffusion Maps.[1]
Постановка задачи
Пусть дана выборка объектов
Цель кластеризации — разбить множество объектов на групп:
В спектральной кластеризации сначала строится граф
где:
-
— множество вершин, соответствующих объектам;
-
— множество рёбер;
-
— матрица весов, задающая сходство объектов.
Вес показывает, насколько объекты
и
близки. Большие значения соответствуют сильным связям, малые — слабым.
После построения графа задача кластеризации преобразуется в задачу поиска слабо связанных областей графа.
Построение графа сходства
Качество спектральной кластеризации во многом определяется выбором графа. Один и тот же набор объектов при разных способах построения графа может давать различные результаты.
Полносвязный граф
В простейшем случае каждое ребро присутствует между всеми парами объектов:
Часто используется гауссово ядро:
Параметр определяет масштаб локальной близости.
Преимущество полносвязного графа — использование всей информации о сходстве. Недостаток — квадратичная сложность хранения:
Поэтому для больших данных чаще используются разреженные графы.
Граф ближайших соседей
В -NN графе вершина соединяется только с ближайшими соседями:
После построения граф обычно симметризуется:
- объединённый граф — ребро существует, если хотя бы одна вершина выбирает другую;
- взаимный граф — ребро существует, если обе вершины выбирают друг друга.
Граф ближайших соседей уменьшает вычислительную стоимость и лучше сохраняет локальную структуру данных.
ε-граф
В ε-графе связь создаётся, если расстояние меньше заданного порога:
Недостаток метода — необходимость правильно выбрать параметр . Малое значение может привести к разрыву графа, а большое — к объединению разных кластеров.
Матрица смежности и матрица степеней
Матрица весов
называется матрицей смежности или матрицей сходства.
Для невзвешенного графа:
Степень вершины определяется как
Матрица степеней:
Степень показывает общую силу связи вершины с остальным графом.
Лапласианы графа
Ненормализованный лапласиан
Классический лапласиан определяется как
Он обладает важным свойством:
Следовательно, если две вершины сильно связаны, то значение соответствующих координат вектора должно быть близким.
Лапласиан является симметричной положительно полуопределённой матрицей. Его минимальное собственное значение равно нулю:
Количество собственных значений, равных нулю, совпадает с количеством компонент связности графа.[1]
Нормализованный лапласиан
Для уменьшения влияния различий в степенях вершин используют нормализованный лапласиан:
Другой вариант:
Он связан со случайным блужданием по графу.
Нормализация особенно важна, когда кластеры имеют разные размеры или различную плотность связей.
Собственные значения и собственные векторы
Пусть
— задача на собственные значения лапласиана.
Собственные значения упорядочиваются:
Собственные векторы соответствуют направлениям, в которых структура графа изменяется медленно.
Если граф состоит из нескольких почти независимых частей, то первые собственные векторы приближают индикаторы этих групп.
В идеальном случае, когда граф имеет ровно компонент связности:
Поэтому первые собственных векторов содержат информацию о кластерной структуре.
Разность между соседними собственными значениями:
называется спектральным зазором и часто используется для выбора числа кластеров.
Спектральное вложение
Пусть найдены собственные векторы
Из них формируется матрица:
Каждый объект заменяется строкой этой матрицы:
Таким образом исходное пространство высокой размерности заменяется новым пространством размерности .
После этого применяется обычная кластеризация:
Чаще всего используется k-means.
Для нормализованной версии Нга — Джордана — Вайса строки дополнительно нормируются:
Связь с RatioCut и Normalized Cut
Разрез графа
Для двух множеств вершин и
определяется вес разреза:
Минимизация только этого выражения приводит к выделению маленьких групп или одиночных вершин.
RatioCut
Критерий RatioCut учитывает размер кластеров:
Он стремится минимизировать связи между кластерами и одновременно избегать слишком маленьких групп.
Спектральная релаксация RatioCut приводит к поиску собственных векторов ненормализованного лапласиана.
Normalized Cut
Normalized Cut использует объём множества:
Критерий:
Его спектральная релаксация приводит к собственным векторам нормализованного лапласиана.
Normalized Cut широко применяется в задачах сегментации изображений.[1]
Алгоритм спектральной кластеризации
Базовый алгоритм
Вход:
- множество объектов
;
- число кластеров
;
- функция сходства;
- параметры построения графа.
Выход:
- кластерные метки объектов.
Алгоритм:
- Построить матрицу сходства
.
- Вычислить матрицу степеней
.
- Построить выбранный лапласиан:
-
для ненормализованной версии;
-
для нормализованной версии.
-
- Найти
собственных векторов, соответствующих наименьшим собственным значениям.
- Сформировать спектральное вложение объектов.
- Выполнить кластеризацию строк полученной матрицы, обычно методом k-means.
- Присвоить исходным объектам найденные метки.
Псевдокод
Вход: данные X, число кластеров K.
Выход: метки кластеров.
1. Построить граф сходства W.
2. Вычислить степени вершин D.
3. Построить лапласиан L.
4. Найти K минимальных собственных векторов:
L u_i = λ_i u_i
5. Сформировать матрицу U.
6. Нормировать строки U (для нормализованного варианта).
7. Выполнить k-means по строкам U.
8. Вернуть полученные группы.
Выбор параметров
Число кластеров
В классическом алгоритме число кластеров задаётся заранее. Однако часто его необходимо оценивать.
Один из распространённых подходов основан на спектральном зазоре:
Если между двумя соседними собственными значениями существует большой разрыв, это может указывать на естественное число кластеров.
Однако спектральный зазор является только эвристикой. Большой разрыв может возникать из-за особенностей построенного графа, выбросов или неравномерной плотности данных.
Выбор числа соседей
В графах ближайших соседей параметр определяет локальный масштаб.
Слишком маленькое значение:
- приводит к разрывам графа;
- создаёт искусственные компоненты связности;
- делает результат нестабильным.
Слишком большое значение:
- добавляет связи между различными группами;
- сглаживает границы кластеров;
- приближает граф к полносвязному.
На практике рекомендуется проверять устойчивость кластеров при нескольких значениях .
Выбор параметра ядра
Для гауссового сходства
параметр определяет масштаб.
Если слишком мал:
- большинство весов становится близко к нулю;
- граф может распасться.
Если слишком велик:
- все объекты становятся похожими;
- теряется локальная структура.
Для неоднородных данных применяют локальные масштабы:
Такой подход называется самонастраиваемой спектральной кластеризацией.[1]
Ненормализованная и нормализованная спектральная кластеризация
Ненормализованный вариант
Используется лапласиан
Он соответствует релаксации критерия RatioCut.
Преимущества:
- простая математическая форма;
- естественная связь с теорией графов;
- хорошая работа при близких степенях вершин.
Недостатки:
- чувствительность к различию плотностей;
- зависимость от размеров кластеров;
- хуже работает при сильно неоднородных данных.
Нормализованный вариант
Используются:
или
Нормализация учитывает степень каждой вершины и уменьшает влияние крупных плотных областей.
Преимущества:
- устойчивость к различным размерам кластеров;
- связь со случайными блужданиями;
- широкое применение на реальных данных.
Именно нормализованные варианты чаще используются в современных приложениях.
Масштабируемая спектральная кластеризация
Классическая спектральная кластеризация имеет высокую вычислительную стоимость.
Для полной матрицы сходства:
требуется
памяти.
Полное собственное разложение имеет сложность порядка:
Поэтому для больших наборов данных применяются приближённые методы.
Метод Nyström
Метод Nyström приближает большую матрицу сходства через небольшое количество опорных точек.
Пусть выбрано объектов. Тогда матрица сходства приближается низкоранговой:
Вместо разложения матрицы размера решается задача меньшего размера.
Преимущества:
- снижение памяти;
- ускорение вычислений;
- возможность работы с большими выборками.
Недостаток — качество зависит от выбора опорных точек.[1]
Разреженная спектральная кластеризация
Вместо полного графа используется разреженный граф ближайших соседей.
Количество рёбер:
Это позволяет применять итерационные методы поиска собственных векторов, например методы Ланцоша.
Преимущества:
- меньшая память;
- возможность работы с большими графами;
- сохранение локальной структуры.
Landmark-based методы
Выбирается небольшое множество представителей данных:
Затем строится граф только между объектами и представителями.
Метод позволяет применять спектральную кластеризацию к миллионам объектов, но качество зависит от того, насколько хорошо выбраны landmarks.
Расширения метода
Многопредставленческая спектральная кластеризация
Если объекты имеют несколько представлений:
для каждого строится отдельный граф.
Затем графы объединяются:
Такой подход применяется, например, при объединении:
- текстовых признаков;
- изображений;
- биологических измерений.
Основная проблема — определить оптимальные веса различных представлений.
Робастная спектральная кластеризация
Классический метод чувствителен к ошибочным рёбрам.
Робастные варианты учитывают:
- шум в матрице сходства;
- выбросы;
- неправильные связи графа.
Обычно вводится дополнительная модель ошибок:
где — истинная структура, а
— шум.
Цель состоит в восстановлении устойчивого графа перед кластеризацией.
Глубокая спектральная кластеризация
Современные методы объединяют спектральные идеи с нейронными сетями.
Вместо явного вычисления собственных векторов обучается отображение:
Сеть обучается так, чтобы её выходы приближали спектральное вложение.
Преимущества:
- масштабируемость;
- возможность работы с новыми объектами;
- использование сложных признаковых представлений.
Недостатки:
- сложность обучения;
- зависимость от архитектуры;
- отсутствие точного совпадения с классическим спектральным решением.
Пример такого подхода — SpectralNet.[1]
Применения
Сегментация изображений
Одно из первых практических применений спектральной кластеризации — разделение изображения на области.
Вершинами графа являются пиксели или суперпиксели.
Вес учитывает:
- сходство цвета;
- близость координат;
- текстурные признаки.
Например:
Метод Normalized Cut стал одним из классических подходов к компьютерной сегментации.[1]
Анализ социальных сетей
В социальных графах вершины представляют пользователей, а рёбра — связи между ними.
Спектральные методы позволяют находить:
- сообщества;
- группы пользователей;
- скрытую структуру сети.
Они особенно эффективны, когда связи внутри сообществ значительно сильнее связей между ними.
Текстовые данные
Для документов строится граф сходства:
- вершины — документы;
- веса — сходство текстовых представлений.
Используются:
- TF-IDF;
- эмбеддинги слов;
- трансформерные представления.
Спектральная кластеризация позволяет находить тематические группы документов.
Биоинформатика
Применения:
- кластеризация профилей экспрессии генов;
- анализ белковых сетей;
- поиск групп клеток.
Особенно полезна способность работать с графами взаимодействий.
Рекомендательные системы
Пользователи и объекты можно представить двудольным графом.
Спектральные методы применяются для:
- группировки пользователей;
- поиска похожих товаров;
- анализа структуры взаимодействий.
Сравнение с другими методами
k-means
k-means быстр и хорошо масштабируется, но предпочитает компактные кластеры, близкие к сферическим. Спектральная кластеризация предпочтительнее для колец, дуг, многообразий и данных с естественной графовой структурой.
Иерархическая кластеризация
Иерархическая кластеризация строит дендрограмму и позволяет исследовать несколько уровней разбиения. Спектральный метод обычно выдаёт одно плоское разбиение, используя глобальную структуру графа.
DBSCAN
DBSCAN ищет области высокой плотности и выделяет шум. Спектральный метод вместо плотностной достижимости ищет слабо связанные части графа. Оба подхода чувствительны к выбору локального масштаба.
Gaussian Mixture Models
Gaussian Mixture Models задают вероятностную смесь распределений и позволяют получать мягкие принадлежности. Спектральная кластеризация не требует предположения о гауссовой форме компонент, но не даёт вероятностной интерпретации меток.
Mean Shift
Mean Shift ищет моды оценки плотности и не требует заранее задавать число кластеров. Его результат чувствителен к ширине окна, а вычислительная стоимость высока на больших выборках.
Affinity Propagation
Affinity Propagation выбирает реальные объекты в качестве представителей кластеров и передаёт сообщения между парами объектов. В плотной реализации он, как и классическая спектральная кластеризация, требует квадратичной памяти.
Отличия от близких методов
Спектральное разбиение графов
Спектральное разбиение графов делит уже заданный граф, часто по знаку вектора Фидлера. Спектральная кластеризация дополнительно включает построение графа из объектов, выбор функции сходства, многомерное вложение и округление методом k-means.
Laplacian Eigenmaps
Laplacian Eigenmaps использует собственные векторы лапласиана для нелинейного снижения размерности. Целью является сохранение локальной геометрии, а не обязательное получение кластерных меток.[1]
Diffusion Maps
Diffusion Maps строит координаты по собственным векторам марковского оператора и учитывает многошаговую диффузию. Метод предназначен прежде всего для анализа геометрии и диффузионных расстояний.[1]
Графовые нейронные сети
Графовые нейронные сети обучают параметрические преобразования признаков с использованием рёбер графа. Использование лапласиана в выводе графовой свёртки не делает модель алгоритмом спектральной кластеризации.
Преимущества и ограничения
Преимущества метода:
- обнаружение невыпуклых и линейно неразделимых групп;
- использование произвольных предметных мер сходства;
- естественная работа с графовыми данными;
- формальная связь с RatioCut и Normalized Cut.
Основные ограничения:
- квадратичная память для плотной матрицы сходства;
- высокая стоимость вычисления собственных векторов;
- необходимость выбирать граф, масштаб и число кластеров;
- чувствительность к выбросам и ошибочным рёбрам;
- отсутствие естественного точного продолжения на новые объекты.
Типичные ошибки
- использование нестандартизованных признаков при евклидовой метрике;
- слишком малое или слишком большое число соседей;
- игнорирование изолированных вершин;
- выбор собственных векторов не с того края спектра;
- пропуск построчной нормировки в алгоритме Нга — Джордана — Вайса;
- единственный запуск k-means;
- подбор параметров по тестовым меткам;
- интерпретация любого спектрального зазора как доказательства кластерной структуры.
Когда метод предпочтителен
Спектральная кластеризация особенно полезна, когда объекты естественно образуют граф, кластеры имеют сложную форму, важна связность по цепочкам локальных соседей и существует содержательная функция сходства. Метод обычно не является первым выбором для миллионов объектов без специальных приближений, при частом добавлении новых данных или когда кластеры хорошо описываются центроидами.
См. также
- Кластеризация
- Обучение без учителя
- Лапласиан графа
- Матрица смежности
- Собственные значения
- Собственные векторы
- k-means
- Иерархическая кластеризация
- DBSCAN
- Снижение размерности
- Графовые нейронные сети
Литература
- Chung F. R. K. Spectral Graph Theory. — American Mathematical Society, 1997.
- von Luxburg U. A Tutorial on Spectral Clustering // Statistics and Computing. — 2007. — Т. 17. — № 4. — С. 395—416.
- Shi J., Malik J. Normalized Cuts and Image Segmentation // IEEE Transactions on Pattern Analysis and Machine Intelligence. — 2000. — Т. 22. — № 8. — С. 888—905.
- Ng A. Y., Jordan M. I., Weiss Y. On Spectral Clustering: Analysis and an Algorithm // Advances in Neural Information Processing Systems 14. — 2002. — С. 849—856.
- Zelnik-Manor L., Perona P. Self-Tuning Spectral Clustering // Advances in Neural Information Processing Systems 17. — 2004. — С. 1601—1608.
- Fowlkes C., Belongie S., Chung F., Malik J. Spectral Grouping Using the Nyström Method // IEEE Transactions on Pattern Analysis and Machine Intelligence. — 2004. — Т. 26. — № 2. — С. 214—225.
- Belkin M., Niyogi P. Laplacian Eigenmaps for Dimensionality Reduction and Data Representation // Neural Computation. — 2003. — Т. 15. — № 6. — С. 1373—1396.
- Coifman R. R., Lafon S. Diffusion Maps // Applied and Computational Harmonic Analysis. — 2006. — Т. 21. — № 1. — С. 5—30.
- Shaham U., Stanton K., Li H., Nadler B., Basri R., Kluger Y. SpectralNet: Spectral Clustering Using Deep Neural Networks // International Conference on Learning Representations. — 2018.

