1.3. 核岭回归#
核岭回归(KRR)[M2012]_ 结合了 岭回归 (带有l2范数正则化的线性最小二乘法)与 核技巧 。因此,它在由各自核和数据诱导的空间中学习一个线性函数。对于非线性核,这对应于原始空间中的非线性函数。
KernelRidge
学习的模型形式与支持向量回归(SVR
)相同。然而,使用了不同的损失函数:KRR使用平方误差损失,而支持向量回归使用 \(\epsilon\) -不敏感损失,两者都结合了l2正则化。与 SVR
相比,KernelRidge
的拟合可以以闭式解完成,并且通常对于中等大小的数据集更快。另一方面,学习到的模型是非稀疏的,因此在预测时比 SVR
慢,后者为 \(\epsilon > 0\) 学习了一个稀疏模型。
下图在一个人工数据集上比较了 KernelRidge
和 SVR
,该数据集由一个正弦目标函数和每五个数据点添加的强噪声组成。绘制了 KernelRidge
和 SVR
学习到的模型,其中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
下一张图比较了不同训练集大小下,KernelRidge
和 SVR
的拟合和预测时间。对于中等大小的训练集(少于1000个样本),KernelRidge
的拟合速度比 SVR
更快;然而,对于更大的训练集,SVR
的扩展性更好。关于预测时间,由于学习到的稀疏解,SVR
对于所有大小的训练集都比 KernelRidge
更快。请注意,稀疏程度以及预测时间取决于 SVR
的参数 \(\epsilon\) 和 \(C\) ;\(\epsilon = 0\) 对应于一个密集模型。
示例
参考文献
“Machine Learning: A Probabilistic Perspective” Murphy, K. P. - chapter 14.4.3, pp. 492-493, The MIT Press, 2012