Skip to content

1.3. 内核岭回归

内核岭回归 (KRR) [M2012] 将 岭回归 和 分类 (l2正则化的线性最小二乘法)与核技巧结合在一起 。 因此,它学习了由各个内核和数据产生的在空间中的线性函数。 对于非线性内核,这对应于原始空间中的非线性函数。

KernelRidge学习的模型形式与支持向量回归(SVR)相同。但使用了不同的损失函数(loss functions):KRR使用平方误差损失函数(squared error loss),而支持向量回归使用$\epsilon$-不敏感损失函数($\epsilon$-insensitive loss),两者都结合了l2正则化。与SVR相反,拟合KernelRidge可以以封闭形式完成,对于中等大小的数据集来说通常更快。另一方面,学习的模型是非稀疏的,因此比SVR要慢,SVR在预测时学习的是一个$\epsilon > 0$的稀疏模型。

下图比较了人工数据集上的KernelRidgeSVR,人工数据集由正弦目标函数和每五个数据点添加的强噪声组成。图中分别绘制了KernelRidgeSVR学习到的回归曲线,两者都利用网格搜索优化了RBF核的复杂度/正则化(complexity/regularization)和带宽(bandwidth)。它们学习到的函数(learned functions)非常相似;但是,拟合KernelRidge 比拟合SVR(两种方法都使用网格搜索)快7倍。然而,由于SVR只使用100个训练数据点中的约1/3作为支持向量来学习稀疏模型,因此SVR预测100000个目标值比 KernelRidge 快3倍以上。

https://scikit-learn.org/stable/_images/sphx_glr_plot_kernel_ridge_regression_0011.png

下一个图比较了不同大小训练集的KernelRidgeSVR的拟合和预测时间。对于中等规模的训练集(少于1000个样本),拟合KernelRidgeSVR快;但是,对于较大的训练集,SVR效果更好。在预测时间方面,由于学习到的稀疏解,SVR在所有不同大小的训练集上都比KernelRidge快。请注意,稀疏度和预测时间取决于SVR的参数$\epsilon$和参数$C$,$\epsilon = 0$将对应于稠密模型。

https://scikit-learn.org/stable/_images/sphx_glr_plot_kernel_ridge_regression_0021.png

参考文献:

[M2012] “Machine Learning: A Probabilistic Perspective” Murphy, K. P. - chapter 14.4.3, pp. 492-493, The MIT Press, 2012

(C) 2007 - 2019, scikit-learn 开发人员(BSD许可证)。显示此页源码