Ядро
Материал из MachineLearning.
Содержание |
Ядра в машинном обучении
Ядро (в контексте машинного обучения, не путать с ядрами сверточных нейронных сетей) — это функция, которая позволяет применять линейные алгоритмы в неявно заданном нелинейном пространстве признаков, не вычисляя координаты точек в этом пространстве напрямую. Этот подход, известный как ядерный трюк, лежит в основе широкого класса алгоритмов, называемых ядерными методами.
Формально, ядром называется функция , которая для любых двух объектов
эквивалентна скалярному произведению их образов в некотором гильбертовом пространстве признаков
:
,
где — неявное отображение из исходного пространства в пространство признаков.
Исторический контекст и мотивация
Классические линейные методы, такие как SVM или линейная регрессия, просты в обучении и интерпретации, но неспособны улавливать сложные нелинейные зависимости в данных. Ручное конструирование нелинейных признаков (например, полиномиальных) может привести к комбинаторному взрыву размерности. Ядра решают эту дилемму, позволяя эффективно работать в пространствах очень высокой или даже бесконечной размерности, избегая проклятия размерности за счет того, что все вычисления сводятся к операциям с ядровой функцией в исходном пространстве.
Необходимые математические условия
Чтобы функция могла быть ядром, она должна удовлетворять определенным условиям. Важнейшим из них является теорема Мерсера, а также симметричность и положительная полуопределенность.
Ядро Мерсера. Функция является ядром Мерсера тогда и только тогда, когда для любого конечного набора точек
матрица Грама
, элементы которой
, является симметричной и положительно полуопределенной (т.е. все ее собственные значения неотрицательны).
Воспроизводящее ядро гильбертова пространства (RKHS). Для каждого ядра Мерсера существует уникальное воспроизводящее ядро гильбертова пространства (Reproducing Kernel Hilbert Space, RKHS) . Ключевое свойство RKHS — воспроизводящее свойство: для любой функции
и любого
выполняется
. Это свойство связывает представление функции в гильбертовом пространстве с вычислением ядра.
Распространенные ядра и конструирование
Выбор ядра критичен для успеха модели. Наиболее распространены следующие семейства:
- Линейное ядро:
. Соответствует отсутствию преобразования, используется как базовый случай.
- Полиномиальное ядро:
. Позволяет строить разделяющие поверхности в виде полиномов степени
. Параметр
масштабирует данные,
управляет влиянием старших степеней.
- Ядро радиальной базисной функции (RBF):
. Самое популярное нелинейное ядро, соответствующее признаковому пространству бесконечной размерности. Оно основано на расстоянии между объектами и является универсальным аппроксиматором. Параметр
определяет радиус влияния одной точки.
- Сигмоидное ядро:
. Исторически связано с нейронными сетями, но его матрица Грама не всегда положительно полуопределена, что ограничивает применение.
- Ядра для специальных структур данных: Существуют ядра, определенные на строках (string kernels), графах (graph kernels), изображениях (например, ядро пересечения гистограмм) и вероятностных распределениях, которые позволяют применять ядерные методы в этих доменах.
Ядра можно комбинировать для создания новых:
- Сумма:
.
- Произведение:
.
Эти операции сохраняют свойства положительной полуопределенности.
Ядерный трюк в алгоритмах
Основная идея заключается в том, что многие линейные алгоритмы можно сформулировать так, чтобы они зависели только от попарных скалярных произведений объектов . Замена этих произведений на вызов ядра
неявно выполняет обучение в пространстве
.
- В Методе опорных векторов (SVM): Двойственная задача SVM зависит от скалярных произведений. Применение ядра позволяет строить нелинейные разделяющие поверхности. Решающее правило принимает вид
, где
— опорные векторы. Это классический пример непараметрической ядерной машины.
- В Гребневой регрессии: Решение гребневой регрессии через ядерный трюк приводит к форме
, где
— вектор ядерых близостей объекта
ко всем объектам обучающей выборки.
- В Анализе главных компонент (PCA): Ядерный PCA выполняет поиск главных компонент в пространстве
, решая задачу на собственные векторы центрированной матрицы Грама.
Практические аспекты: масштабируемость и аппроксимации
Главный недостаток ядерных методов — их вычислительная сложность. Для построения и хранения матрицы Грама размером требуется
памяти и до
операций для ее обращения (как в случае Гауссовских процессов), что делает их неприменимыми для больших наборов данных.
Для решения этой проблемы разработаны методы аппроксимации:
- Случайные признаки (Random Fourier Features): Позволяют явно аппроксимировать ядро RBF конечномерным отображением, сводя задачу к линейной со сложностью
.
- Разложение Нюстрёма (Nyström method): Аппроксимирует полную матрицу Грама с помощью низкорангового разложения на основе небольшого подмножества опорных точек.
Современное состояние и связь с глубоким обучением
Хотя пик популярности ядерных методов пришелся на начало 2000-х, они сохраняют важное теоретическое и прикладное значение. Связь с глубинным обучением проявляется в нескольких аспектах:
- Ядерные методы с множественным ядром (Multiple Kernel Learning, MKL): Изучают оптимальные комбинации ядер, что можно рассматривать как предшественника современных архитектур, автоматически настраивающих представления.
- Гауссовские процессы: Используются в Bayesian Optimization и предоставляют хорошо откалиброванную оценку неопределенности, чего лишены многие нейронные сети.
- Нейронные тангенциальные ядра (Neural Tangent Kernel, NTK): Теория, связывающая бесконечно широкие нейронные сети с ядерными методами. NTK описывает динамику обучения таких сетей в функциональном пространстве, давая строгое теоретическое обоснование их сходимости.
Ядерные методы остаются мощным инструментом, когда интерпретируемость и работа с малыми и средними выборками важнее масштабирования на миллиарды примеров.
См. также
- Метод опорных векторов
- Гауссовский процесс
- Воспроизводящее ядро гильбертова пространства
- Ядерный анализ главных компонент
- Методы аппроксимации ядер
Литература
- Schölkopf, B., & Smola, A. J. (2002). Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond. MIT Press.
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer. (Глава 6: Kernel Methods).
- Murphy, K. P. (2012). Machine Learning: A Probabilistic Perspective. MIT Press. (Глава 14: Kernels).
- Hofmann, T., Schölkopf, B., & Smola, A. J. (2008). Kernel methods in machine learning. The Annals of Statistics, 36(3), 1171–1220.
- Rahimi, A., & Recht, B. (2007). Random Features for Large-Scale Kernel Machines. Advances in Neural Information Processing Systems (NIPS).
- Jacot, A., Gabriel, F., & Hongler, C. (2018). Neural Tangent Kernel: Convergence and Generalization in Neural Networks. Advances in Neural Information Processing Systems (NeurIPS).

