1.3. 核岭回归#

核岭回归(KRR)[M2012]_ 结合了 岭回归 (带有l2范数正则化的线性最小二乘法)与 核技巧 。因此,它在由各自核和数据诱导的空间中学习一个线性函数。对于非线性核,这对应于原始空间中的非线性函数。

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

下图在一个人工数据集上比较了 KernelRidgeSVR ,该数据集由一个正弦目标函数和每五个数据点添加的强噪声组成。绘制了 KernelRidgeSVR 学习到的模型,其中RBF核的复杂度/正则化和带宽已使用网格搜索进行了优化。学习到的函数非常相似;然而,拟合 KernelRidge 比拟合 SVR 快大约七倍(两者都使用网格搜索)。然而,预测100000个目标值的速度在 SVR 中快三倍以上,因为它学习了一个稀疏模型,仅使用了大约100个训练数据点的1/3作为支持向量。 .. figure:: ../auto_examples/miscellaneous/images/sphx_glr_plot_kernel_ridge_regression_001.png

target:

../auto_examples/miscellaneous/plot_kernel_ridge_regression.html

align:

center

下一张图比较了不同训练集大小下,KernelRidgeSVR 的拟合和预测时间。对于中等大小的训练集(少于1000个样本),KernelRidge 的拟合速度比 SVR 更快;然而,对于更大的训练集,SVR 的扩展性更好。关于预测时间,由于学习到的稀疏解,SVR 对于所有大小的训练集都比 KernelRidge 更快。请注意,稀疏程度以及预测时间取决于 SVR 的参数 \(\epsilon\)\(C\)\(\epsilon = 0\) 对应于一个密集模型。

../_images/sphx_glr_plot_kernel_ridge_regression_002.png

示例

参考文献

[M2012]

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