1.3. Regresión de cresta de núcleo

La regresión de cresta del núcleo (Kernel Ridge Regression, KRR) [M2012] combina Regresión de cresta y clasificación (mínimos cuadrados lineales con regularización de la norma l2) con el kernel triciclo. Así aprende una función lineal en el espacio inducido por el núcleo respectivo y los datos. Para los núcleos no lineales, esto corresponde a una función no lineal en el espacio original.

La forma del modelo aprendido por KernelRidge es idéntica a la regresión de vectores de soporte (SVR). Sin embargo, se utilizan diferentes funciones de pérdida: KRR utiliza la pérdida de error al cuadrado mientras que la regresión de vectores de soporte utiliza la pérdida insensible (insensitive loss) a \(\epsilon\), ambas combinadas con la regularización l2. A diferencia de SVR, el ajuste de KernelRidge puede realizarse de forma cerrada y suele ser más rápido para conjuntos de datos de tamaño medio. Por otro lado, el modelo aprendido no es disperso y por lo tanto es más lento que SVR, que aprende un modelo disperso para \(\epsilon > 0\), en tiempo de predicción.

La siguiente figura compara KernelRidge y SVR en un conjunto de datos artificial, que consiste en una función objetivo sinusoidal y un fuerte ruido añadido cada quinto punto de datos. El modelo aprendido de KernelRidge y SVR se representa gráficamente, donde tanto la complejidad/regularización como el ancho de banda del kernel RBF se han optimizado utilizando la búsqueda en cuadrícula (grid-search). Las funciones aprendidas son muy similares; sin embargo, el ajuste de KernelRidge es aproximadamente siete veces más rápido que el ajuste de SVR (ambos con búsqueda en cuadrícula). Sin embargo, la predicción de 100.000 valores objetivo es más de tres veces más rápida con SVR ya que ha aprendido un modelo disperso utilizando sólo aproximadamente 1/3 de los 100 puntos de datos de entrenamiento como vectores de soporte.

../_images/sphx_glr_plot_kernel_ridge_regression_001.png

La siguiente figura compara el tiempo de ajuste y predicción de KernelRidge y SVR para diferentes tamaños del conjunto de entrenamiento. El ajuste de KernelRidge es más rápido que el de SVR para conjuntos de entrenamiento de tamaño medio (menos de 1000 muestras); sin embargo, para conjuntos de entrenamiento más grandes SVR se adapta mejor. Con respecto al tiempo de predicción, SVR es más rápido que KernelRidge para todos los tamaños del conjunto de entrenamiento debido a la solución dispersa aprendida. Ten en cuenta que el grado de dispersión y por lo tanto el tiempo de predicción depende de los parámetros \(\epsilon\) y \(C\) de la SVR; \(\epsilon = 0\) correspondería a un modelo denso.

../_images/sphx_glr_plot_kernel_ridge_regression_002.png

Referencias:

M2012

«Machine Learning: A Probabilistic Perspective» Murphy, K. P. - capítulo 14.4.3, pp. 492-493, The MIT Press, 2012