Спектральная кластеризация
Материал из 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 Иерархическая кластеризация Построение дерева кластеров Не требует K заранее Высокая сложность на больших данных DBSCAN Поиск областей высокой плотности Находит шум, кластеры произвольной формы Чувствителен к параметрам плотности Gaussian Mixture Models Вероятностная модель смеси распределений Даёт вероятности принадлежности Требует предположения о форме кластеров Mean Shift Поиск мод плотности Не требует задания числа кластеров Дорогой вычислительно Affinity Propagation Передача сообщений между объектами Выбирает реальные представители кластеров Квадратичная память
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- множество объектов
-
-
-
-
-
-
-
-

