1.3. Ядровая гребневая регрессия
Ядровая гребневая регрессия (KRR) [M2012] объединяет гребневую регрессию и классификацию (линейный метод наименьших квадратов с регуляризацией по норме \(L_2\)) с ядерным трюком. Таким образом, она обучает линейную функцию в пространстве, задаваемом соответствующим ядром и данными. Для нелинейных ядер это соответствует нелинейной функции в исходном пространстве.
Форма модели, обученной с помощью KernelRidge, идентична форме модели регрессии на опорных векторах (SVR). Однако используются разные функции потерь: KRR использует квадратичную функцию потерь, а регрессия на опорных векторах — функцию потерь, нечувствительную к \(\epsilon\); в обоих случаях применяется регуляризация \(L_2\). В отличие от SVR, обучение KernelRidge можно выполнить в замкнутой форме, и для наборов данных среднего размера оно обычно работает быстрее. С другой стороны, обученная модель не является разреженной и поэтому на этапе предсказания работает медленнее, чем SVR, которая при \(\epsilon > 0\) обучает разреженную модель.
На следующем рисунке сравниваются KernelRidge и SVR на искусственном наборе данных, состоящем из синусоидальной целевой функции и сильного шума, добавленного к каждой пятой точке данных. На рисунке показаны модели, обученные с помощью KernelRidge и SVR; сложность/регуляризация и ширина полосы RBF-ядра оптимизированы с помощью поиска по сетке. Обученные функции очень похожи, однако обучение KernelRidge выполняется примерно в семь раз быстрее, чем обучение SVR (в обоих случаях с поиском по сетке). Однако предсказание 100 000 целевых значений с помощью SVR выполняется более чем в три раза быстрее, поскольку обученная модель является разреженной и использует в качестве опорных векторов лишь примерно 1/3 из 100 обучающих точек данных.
На следующем рисунке сравнивается время обучения и предсказания для KernelRidge и SVR для обучающих выборок разного размера. На обучающих выборках среднего размера (менее 1000 образцов) обучение KernelRidge выполняется быстрее, чем SVR; однако на более крупных обучающих выборках SVR масштабируется лучше. Что касается времени предсказания, SVR работает быстрее, чем KernelRidge, при любом размере обучающей выборки благодаря разреженному решению, полученному при обучении. Обратите внимание, что степень разреженности и, следовательно, время предсказания зависят от параметров \(\epsilon\) и \(C\) модели SVR; при \(\epsilon = 0\) модель была бы плотной.
Примеры
Литература
«Машинное обучение: вероятностный подход», Murphy, K. P. — глава 14.4.3, стр. 492–493, The MIT Press, 2012
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/kernel_ridge.html