Ядерный метод главных компонент (Kernel PCA)
Материал из MachineLearning.
| | Статья написана с использованием LLM Qwen3.7-Plus и проверена участником Mariia Shubina 10:22, 19 июля 2026 (MSD) |
|
Ядерный метод главных компонент (Kernel Principal Component Analysis, Kernel PCA) — это нелинейное расширение классического метода главных компонент (PCA), предназначенное для снижения размерности данных. Метод основан на отображении исходных данных в пространство более высокой (возможно, бесконечной) размерности с помощью ядерной функции, где нелинейные зависимости в исходном пространстве становятся линейными, после чего к преобразованным данным применяется стандартный линейный PCA. Метод был впервые строго сформулирован в фундаментальной работе Шёлькопфа, Смолы и Мюллера в 1998 году[1].
Постановка задачи и интуиция
Задача нелинейного снижения размерности заключается в поиске такого низкоразмерного представления данных, которое сохраняет максимальное количество дисперсии (информации) исходных данных, учитывая при этом их нелинейную структуру.
Классический PCA находит линейные комбинации исходных признаков, максимизирующие дисперсию. Если данные лежат на нелинейном многообразии (например, концентрические окружности или спираль швейцарского рулона), линейный PCA не способен выделить значимые направления. Интуиция Kernel PCA состоит в применении отображения , где
— исходное пространство, а
— гильбертово пространство признаков (feature space) высокой или бесконечной размерности. В пространстве
нелинейные структуры исходных данных могут стать линейно разделимыми или линейно коррелированными, что позволяет стандартному PCA успешно выделить главные компоненты.
Связь с классическим PCA и ядерный трюк
Пусть дана выборка . Предположим, что данные в пространстве признаков уже центрированы, то есть
. Ковариационная матрица в пространстве
имеет вид:
Задача PCA сводится к решению задачи на собственные значения и собственные векторы:
Любой собственный вектор , соответствующий ненулевому собственному значению, лежит в линейной оболочке отображённых данных
. Следовательно,
можно представить как:
Подставив это выражение в уравнение на собственные значения и умножив слева на для всех
, получаем:
Вводя матрицу Грама с элементами
, где
— ядерная функция, уравнение переписывается в матричном виде:
Поскольку мы ищем решения с , это уравнение эквивалентно:
Таким образом, задача сводится к нахождению собственных значений и собственных векторов матрицы Грама . Это и есть суть «ядерного трюка» (Kernel Trick): нам никогда не требуется явно вычислять отображение
, достаточно знать функцию
.
Согласно теореме Мерсера, функция
является допустимым ядром (то есть соответствует скалярному произведению в некотором гильбертовом пространстве) тогда и только тогда, когда матрица Грама
является положительно полуопределённой для любой конечной выборки.
Центрирование данных в признаковом пространстве
На практике данные в пространстве редко бывают центрированы. Пусть
. Центрированное отображение имеет вид
. Центрированная матрица Грама
вычисляется без явного знания
по формуле:
где — это
матрица, все элементы которой равны
.
Далее решается задача на собственные значения для центрированной матрицы:
Для того чтобы собственные векторы в пространстве
были нормированы (
), коэффициенты
должны удовлетворять условию нормировки:
Проекция новой точки на
-ю главную компоненту вычисляется как:
Алгоритм и вычислительная сложность
Псевдокод
Вычислить матрицу ядра размера
, где
.
Центрировать матрицу ядра:
.
Найти собственные значения
и соответствующие им собственные векторы
матрицы
.
Отсортировать собственные векторы по убыванию собственных значений.
Нормировать каждый собственный вектор
так, чтобы
.
Для проецирования новой точки
вычислить вектор проекций
по формуле скалярного произведения с центрированным ядром.
Анализ вычислительной сложности
Время: Вычисление матрицы Грама требует операций, где
— размерность исходного пространства. Нахождение собственных значений и векторов плотной симметричной матрицы размера
требует
операций. Это делает метод вычислительно затратным для больших выборок.
Память: Требуется хранение матрицы Грама размера
, что составляет
элементов памяти. При
это становится узким местом даже для современных вычислительных систем.
Выбор ядерной функции
Результат работы Kernel PCA критически зависит от выбора ядра, которое определяет геометрию пространства признаков.
RBF ядро (Radial Basis Function): . Гиперпараметр
контролирует ширину гауссиана. Малые значения
приводят к гладким, глобальным компонентам, большие значения
фокусируются на локальной структуре и могут привести к переобучению (выделению шума как значимой компоненты).
Полиномиальное ядро:
. Позволяет выявлять полиномиальные взаимодействия признаков. Параметры
и
управляют смещением и степенью полинома.
Сигмоидальное ядро:
. Исторически связано с многослойными перцептронами, но не всегда является положительно полуопределённым (требует аккуратного подбора
и
для выполнения условий теоремы Мерсера).
Подбор гиперпараметров обычно осуществляется с помощью кросс-валидации по качеству решения конечной задачи (например, точности классификации после снижения размерности) или путём минимизации ошибки реконструкции в исходном пространстве (что напрямую упирается в проблему прообраза).
Проблема прообраза (Pre-image problem)
Одной из фундаментальных трудностей Kernel PCA является «проблема прообраза». После проецирования данных в пространство главных компонент и выполнения там определённых операций (например, шумоподавления или кластеризации), часто возникает необходимость восстановить соответствующую точку в исходном пространстве .
Поскольку отображение
нелинейно и часто переводит данные в пространство бесконечной размерности, оно не имеет обратного отображения в явном виде. Более того, точка в пространстве признаков, полученная в результате линейной комбинации
, может не лежать на многообразии
.
Для решения этой задачи применяются эвристические методы:
Метод фиксированной точки (Mika et al., 1999)[1]. Для RBF-ядра задача минимизации расстояния
сводится к максимизации
. Итерационный процесс обновления:
Многомерное шкалирование (MDS). Использование метрического MDS для нахождения точки в исходном пространстве, которая сохраняет расстояния до опорных точек, вычисленные в пространстве признаков. Обучение прямой регрессии. Построение модели (например, нейронной сети или метода опорных векторов для регрессии), которая обучается отображать координаты в пространстве главных компонент обратно в исходное пространство на основе обучающей выборки.
Сравнение с другими методами
Линейный PCA: Значительно быстрее ( или
), полностью интерпретируем (компоненты являются линейными комбинациями исходных признаков). Однако не способен выявлять нелинейные зависимости.
Автоэнкодеры: Нейросетевой аналог нелинейного снижения размерности. Масштабируются на большие выборки с помощью стохастического градиентного спуска, обладают высокой гибкостью. Недостатки: требуют тщательной настройки архитектуры и регуляризации, склонны к переобучению, главные компоненты не имеют строгой математической интерпретации ортогональных направлений максимальной дисперсии.
t-SNE и UMAP: Методы, ориентированные преимущественно на визуализацию. Они превосходно сохраняют локальную структуру соседства, но искажают глобальную структуру и расстояния между кластерами. В отличие от Kernel PCA, они не предоставляют явной аналитической функции для проецирования новых данных (хотя UMAP имеет эвристический метод
), и не решают задачу максимизации дисперсии.
Спектральная кластеризация: Также использует собственные вектора матрицы, построенной на основе ядра (матрицы Лапласиана графа сходства). Однако её цель — дискретная кластеризация, а не непрерывное снижение размерности с возможностью реконструкции.
Ограничения метода
Плохая масштабируемость: Кубическая вычислительная сложность по времени и квадратичная по памяти делают классический Kernel PCA неприменимым для выборок размером более нескольких десятков тысяч объектов без использования аппроксимаций. Чувствительность к шуму и выбросам: Поскольку матрица Грама вычисляется попарно для всех объектов, выбросы могут существенно исказить собственные векторы, соответствующие наибольшим собственным значениям. Отсутствие прямой интерпретируемости: В отличие от линейного PCA, где веса компонент показывают вклад исходных признаков, в Kernel PCA компонента определяется через сходство с опорными объектами, что затрудняет содержательную интерпретацию. Область предпочтительного применения: Kernel PCA наиболее полезен при работе с данными умеренного размера, где присутствует выраженная нелинейная структура (например, в задачах обработки изображений, биоинформатики), и когда требуется строгое математическое обоснование без привлечения эвристик глубокого обучения.
Варианты и расширения
Для преодоления ограничений масштабируемости разработаны следующие подходы:
Инкрементальный Kernel PCA: Позволяет обновлять собственные значения и собственные векторы матрицы Грама при поступлении новых данных без полного пересчёта разложения, что полезно для потоковых данных.
Метод Нистрёма (Nyström method): Аппроксимирует полную матрицу Грама, вычисляя точные значения ядра только для небольшой подвыборки из объектов (ландшафтных точек), а затем экстраполирует результат на всю выборку. Сложность снижается до
.
Random Fourier Features (RFF): Метод, предложенный Рахими и Рехтом[1], позволяет явно аппроксимировать сдвинутые инвариантные ядра (в первую очередь RBF) с помощью случайных проекций в конечномерное пространство. После такого преобразования задача сводится к применению быстрого линейного PCA, что радикально снижает вычислительную сложность.
Литература
Schölkopf B., Smola A., Müller K.-R. Nonlinear Component Analysis as a Kernel Eigenvalue Problem // Neural Computation: Журнал. — 1998. — Т. 10. — № 5. — С. 1299—1319. Schölkopf B., Smola A. J. Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond. — MIT Press, 2002. — 644 с. Mika S., Schölkopf B., Smola A., Müller K.-R., Scholz M., Rätsch G. Kernel PCA and De-Noising in Feature Spaces // Advances in Neural Information Processing Systems (NIPS). — 1998. — Т. 11. — С. 536—542. Rahimi A., Recht B. Random Features for Large-Scale Kernel Machines // Advances in Neural Information Processing Systems (NIPS). — 2007. — Т. 20. — С. 1177—1184. Bishop C. M. Pattern Recognition and Machine Learning. — Springer, 2006. — 738 с.

