1.3. 核岭回归#

核岭回归(Kernel ridge regression,KRR) [M2012]岭回归和分类(带有 \(L_2\)-范数正则化的线性最小二乘法)与核技巧相结合。它在由相应核和数据所诱导的空间中学习一个线性函数。对于非线性核,这对应于原始空间中的一个非线性函数。

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

下图比较了 KernelRidgeSVR 在一个人工数据集上的表现,该数据集包含一个正弦目标函数,并且每第五个数据点都添加了强噪声。图中绘制了 KernelRidgeSVR 学习到的模型,其中 RBF 核的复杂性/正则化和带宽都通过网格搜索进行了优化。学习到的函数非常相似;然而,拟合 KernelRidge 比拟合 SVR 快约七倍(均包含网格搜索)。然而,预测 100,000 个目标值时,SVR 要快三倍以上,因为它学习了一个稀疏模型,仅使用了 100 个训练数据点中的大约 1/3 作为支持向量。

../_images/sphx_glr_plot_kernel_ridge_regression_001.png

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

../_images/sphx_glr_plot_kernel_ridge_regression_002.png

示例

References

[M2012]

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