1.3. Kernel Ridge Regression#

Kernel Ridge Regression (KRR) [M2012] kombiniert Ridge-Regression und -Klassifikation (lineare Methode der kleinsten Quadrate mit \(L_2\)-Norm-Regularisierung) mit dem Kernel-Trick. Sie lernt somit eine lineare Funktion im Raum, der durch den jeweiligen Kernel und die Daten induziert wird. Für nichtlineare Kernel entspricht dies einer nichtlinearen Funktion im ursprünglichen Raum.

Die Form des von KernelRidge gelernten Modells ist identisch mit der von Support Vector Regression (SVR). Es werden jedoch unterschiedliche Verlustfunktionen verwendet: KRR verwendet den quadratischen Fehlerverlust, während Support Vector Regression den \(\epsilon\)-insensiblen Verlust verwendet, beides kombiniert mit \(L_2\)-Regularisierung. Im Gegensatz zu SVR kann die Anpassung von KernelRidge in geschlossener Form erfolgen und ist typischerweise für mittelgroße Datensätze schneller. Andererseits ist das gelernte Modell nicht-sparse und daher bei der Vorhersage langsamer als SVR, das ein Sparse-Modell für \(\epsilon > 0\) lernt.

Die folgende Abbildung vergleicht KernelRidge und SVR auf einem künstlichen Datensatz, der aus einer sinusförmigen Ziel-Funktion und starkem Rauschen bei jedem fünften Datenpunkt besteht. Das gelernte Modell von KernelRidge und SVR wird dargestellt, wobei sowohl die Komplexität/Regularisierung als auch die Bandbreite des RBF-Kernels mittels Grid-Search optimiert wurden. Die gelernten Funktionen sind sehr ähnlich; das Anpassen von KernelRidge ist jedoch ungefähr siebenmal schneller als das Anpassen von SVR (beides mit Grid-Search). Die Vorhersage von 100.000 Zielwerten ist jedoch mehr als dreimal schneller mit SVR, da es ein Sparse-Modell gelernt hat, das nur ungefähr 1/3 der 100 Trainingsdatenpunkte als Support-Vektoren verwendet.

../_images/sphx_glr_plot_kernel_ridge_regression_001.png

Die nächste Abbildung vergleicht die Zeit für das Anpassen und die Vorhersage von KernelRidge und SVR für verschiedene Größen des Trainingsdatensatzes. Das Anpassen von KernelRidge ist schneller als das von SVR für mittelgroße Trainingssätze (weniger als 1000 Samples); für größere Trainingssätze skaliert SVR jedoch besser. Hinsichtlich der Vorhersagezeit ist SVR aufgrund der gelernten Sparse-Lösung für alle Größen des Trainingsdatensatzes schneller als KernelRidge. Beachten Sie, dass der Grad der Sparsity und damit die Vorhersagezeit von den Parametern \(\epsilon\) und \(C\) des SVR abhängt; \(\epsilon = 0\) würde einem dichten Modell entsprechen.

../_images/sphx_glr_plot_kernel_ridge_regression_002.png

Beispiele

Referenzen

[M2012]

"Machine Learning: A Probabilistic Perspective" Murphy, K. P. - Kapitel 14.4.3, S. 492-493, The MIT Press, 2012