Спектральная кластеризация
Материал из MachineLearning.
Спектральная кластеризация — семейство методов кластеризации, основанных на представлении данных в виде графа сходства и анализе спектральных свойств соответствующего лапласиана. В отличие от методов, работающих непосредственно с координатами объектов, спектральная кластеризация использует структуру связей между объектами и позволяет обнаруживать кластеры сложной формы.
Основная идея метода заключается в построении графа, вершины которого соответствуют объектам, а веса рёбер отражают их сходство. Затем вычисляются несколько собственных векторов лапласиана графа. Полученное низкоразмерное представление объектов кластеризуется стандартными методами, чаще всего k-means.
Спектральная кластеризация занимает промежуточное положение между методами машинного обучения и теорией графов. Она связана с задачами разбиения графов, случайными блужданиями, снижением размерности и методами анализа сетей.[1]
Постановка задачи
Пусть дана выборка объектов:
Требуется разбить множество объектов на кластеров:
В классических алгоритмах кластеризации близость объектов определяется расстоянием в исходном пространстве признаков. Спектральная кластеризация использует другой подход: сначала строится граф сходства.
Граф задаётся тройкой:
где:
-
— множество вершин;
-
— множество рёбер;
-
— матрица весов рёбер.
Каждому объекту соответствует вершина
. Вес
характеризует степень сходства объектов и
.
Если два объекта похожи, то
имеет большое значение. Если объекты различаются, вес близок к нулю.
После построения графа задача кластеризации преобразуется в задачу поиска слабо связанных групп вершин.
Граф сходства
Построение графа является одним из наиболее важных этапов спектральной кластеризации. Ошибки на этом этапе могут привести к неправильному разбиению даже при идеальном вычислении собственных векторов.
Основные способы построения графа:
- полносвязный граф;
- граф ближайших соседей;
- ε-граф.
Полносвязный граф
В полносвязном графе каждая пара объектов соединена ребром:
Чаще всего используется гауссово ядро:
-
Параметр
определяет масштаб локальности. Малое значение приводит к тому, что близкими считаются только очень похожие объекты, большое — делает все объекты похожими.
Преимущества полносвязного графа:
- используется информация обо всех парах объектов;
- хорошо подходит для небольших выборок.
Недостаток:
по памяти и времени для построения матрицы сходства.
Граф ближайших соседей
В графе ближайших соседей объект соединяется только с наиболее близкими объектами.
Для
-NN графа:
-
После построения граф обычно симметризуется.
Используются два варианта:
- объединённый граф — ребро существует, если одна из вершин выбирает другую;
- взаимный граф — ребро существует только при взаимном выборе.
Граф ближайших соседей уменьшает количество рёбер и лучше сохраняет локальную структуру данных.
ε-граф
В ε-графе связь определяется расстоянием:
-
Преимущество такого подхода — простая геометрическая интерпретация.
Недостаток — необходимость выбора параметра
. Если он слишком мал, граф может стать несвязным. Если слишком велик, различные кластеры могут соединиться.
Матрица смежности
Матрица весов
-
называется матрицей смежности или матрицей сходства.
Для невзвешенного графа:
-
Для взвешенного графа элементы матрицы принимают значения, характеризующие силу связи.
Обычно предполагается, что граф неориентированный:
Это условие позволяет использовать свойства симметричных матриц и стандартную теорию собственных значений.
Матрица степеней
Степенью вершины называется сумма весов всех исходящих рёбер:
-
На основе степеней строится диагональная матрица:
-
Матрица степеней играет важную роль в нормализованных вариантах спектральной кластеризации.
Если вершина имеет большую степень, это означает, что она сильно связана с большим числом других объектов.
Лапласианы графа
Лапласиан графа является центральным объектом спектральной кластеризации.
Ненормализованный лапласиан
Классический лапласиан определяется как:
-
Для любого вектора
выполняется:
-
Это выражение показывает, что лапласиан минимизирует различия между сильно связанными вершинами.
Если два объекта имеют большой вес связи, то соответствующие значения вектора
должны быть близкими.
Основные свойства:
-
симметрична;
- собственные значения неотрицательны;
- минимальное собственное значение равно нулю.
Количество нулевых собственных значений равно числу компонент связности графа.[1]
Симметричный нормализованный лапласиан
Для уменьшения влияния различий в степенях используется:
-
Эквивалентная форма:
-
Нормализация делает вклад вершин более сопоставимым и особенно полезна для графов с различными плотностями.
Лапласиан случайного блуждания
Другой вариант:
-
Он связан с вероятностями переходов случайного блуждания:
-
Тогда:
-
Этот оператор показывает, насколько быстро случайное блуждание распространяется по графу.
Собственные значения и собственные векторы
Спектральная кластеризация использует решение задачи:
-
где:
-
— собственное значение;
-
— собственный вектор.
Собственные значения упорядочиваются:
-
Малые собственные значения соответствуют направлениям, в которых структура графа изменяется медленно.
Если граф имеет несколько почти независимых компонент, первые собственные векторы приближают индикаторы этих компонент.
В идеальном случае граф из
компонент имеет:
-
Поэтому первые
собственных векторов содержат информацию о структуре кластеров.
Спектральное вложение
Пусть найдены собственные векторы:
-
Из них формируется матрица:
-
Каждый объект заменяется строкой:
-
Таким образом исходные данные переводятся в новое пространство размерности
.
После этого выполняется обычная кластеризация:
-
Чаще всего применяется алгоритм k-means.
Для нормализованной версии Нга — Джордана — Вайса выполняется дополнительная нормировка строк:
-
Связь с задачами разбиения графов
Спектральная кластеризация тесно связана с задачами минимального разреза графа. Идея состоит в поиске такого разбиения:
-
при котором связи между различными группами минимальны, а внутри групп — максимальны.
Разрез графа
Для двух непересекающихся множеств вершин
и
определяется:
-
Минимизация только этого критерия приводит к вырожденному решению: можно отделить одну вершину или небольшую группу вершин.
Поэтому используются нормированные критерии, учитывающие размер кластеров.
RatioCut
Критерий RatioCut определяется как:
-
Он нормирует значение разреза количеством вершин в кластере.
Спектральная релаксация этой задачи приводит к поиску собственных векторов ненормализованного лапласиана:
-
Normalized Cut
Вместо количества вершин используется объём:
-
Критерий Normalized Cut:
-
Этот критерий учитывает количество связей вершины с остальным графом.
Его спектральная релаксация приводит к нормализованному лапласиану:
-
Normalized Cut был предложен для задачи сегментации изображений и стал одной из наиболее известных интерпретаций спектральной кластеризации.[1]
Алгоритм спектральной кластеризации
Ненормализованный вариант
Вход:
- объекты
;
- число кластеров
;
- функция сходства.
Шаги алгоритма:
- Построить матрицу сходства
.
- Вычислить матрицу степеней
.
- Построить лапласиан:
-
- Найти
собственных векторов, соответствующих минимальным собственным значениям.
- Сформировать матрицу вложения:
-
- Выполнить k-means над строками матрицы
.
- Назначить исходным объектам найденные метки.
Нормализованный вариант
Для нормализованной версии:
- Строится граф сходства.
- Вычисляется:
-
- Находятся первые
собственных векторов.
- Формируется матрица:
-
- Каждая строка нормируется:
-
- Выполняется k-means.
Псевдокод
Вход: X, K
1. Построить граф сходства W. 2. Вычислить D. 3. Построить лапласиан L. 4. Найти K минимальных собственных векторов. 5. Получить спектральное представление объектов. 6. При необходимости нормировать строки. 7. Выполнить k-means. 8. Вернуть метки кластеров.
Выбор параметров
Число кластеров
Число кластеров
является одним из главных параметров алгоритма.
Часто используется анализ спектрального зазора:
-
Большой разрыв может указывать на естественное число кластеров.
Однако этот критерий является эвристикой. Спектральный зазор зависит от построенного графа и не всегда соответствует реальной структуре данных.
Число соседей
Для графа ближайших соседей параметр
определяет размер локального окружения.
Малое значение:
- сохраняет локальную структуру;
- может привести к несвязности графа.
Большое значение:
- увеличивает связность;
- может создавать ложные связи между кластерами.
На практике рекомендуется проверять устойчивость результата при разных значениях
.
Масштаб ядра
В гауссовом ядре:
-
параметр
задаёт масштаб близости.
При малом
граф становится слишком разреженным.
При большом
различия между объектами уменьшаются.
Для неоднородных данных используют локальные масштабы:
-
Число собственных векторов
В стандартном алгоритме число собственных векторов совпадает с числом кластеров:
-
Использование большего количества компонент возможно, но требует дополнительного выбора и уже не является прямой релаксацией исходной задачи разбиения графа.
Масштабируемые методы
Классическая спектральная кластеризация плохо масштабируется на больших данных из-за необходимости хранить матрицу сходства.
Для решения этой проблемы используются приближённые методы.
Метод 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 предполагают:
-
Преимущества:
- вероятностная интерпретация;
- оценка степени принадлежности.
Недостатки:
- необходимость предполагать форму распределений;
- локальные оптимумы EM-алгоритма.
Спектральная кластеризация не требует конкретной вероятностной модели.
Mean Shift
Mean Shift ищет максимумы оценки плотности.
Преимущества:
- число кластеров определяется автоматически;
- подходит для сложных форм.
Недостатки:
- высокая вычислительная стоимость;
- зависимость от ширины окна.
Affinity Propagation
Affinity Propagation выбирает представителей кластеров через передачу сообщений между объектами.
Преимущества:
- не требует заранее задавать число кластеров;
- центры являются реальными объектами.
Недостатки:
- квадратичная память;
- ограниченная масштабируемость.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Находятся первые
-
- Выполнить k-means над строками матрицы
-
- Найти
-
- объекты
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

