文章目录


内核岭回归(Kernel ridge regression-KRR) 由使用内核方法的岭回归(使用 l2 正则化的最小二乘法)所组成。因此,它所拟合到的在空间中不同的线性函数是由不同的内核和数据所导致的。对于非线性的内核,它与原始空间中的非线性函数相对应。

KernelRidge 学习的模型的形式与支持向量回归(SVR是一样的。但是他们使用不同的损失函数: 内核岭回归(KRR)使用平方误差损失函数(squared error loss) 而支持向量回归(support vector regression)(SVR)使用 R做岭回归分析 r怎么做岭回归_岭回归-insensitive loss ( R做岭回归分析 r怎么做岭回归_岭回归-不敏感损失 ),两者都使用 l2 正则化。与SVR 相反,拟合 KernelRidge 可以以封闭形式(closed-form) 完成,对于中型数据集通常更快。另一方面,学习的模型是非稀疏的,因此比 SVR 慢。在预测时间内,SVR 拟合的是 R做岭回归分析 r怎么做岭回归_岭回归_03

下图比较了人造数据集上的 KernelRidgeSVR 的区别,它由一个正弦目标函数和每五个数据点产生一个强噪声组成。图中分别绘制了由 KernelRidgeSVR 学习到的回归曲线。两者都使用网格搜索优化了 RBF 内核的复杂性/正则化(complexity/regularization )和带宽(bandwidth)。它们的学习函数(learned functions) 非常相似;但是,拟合 KernelRidge 大约比拟合 SVR 快七倍(都使用网格搜索(grid-search))。然而,由于 SVR 只学习了一个稀疏模型,所以 SVR 预测 10 万个目标值比使用 KernelRidge 快三倍以上。SVR 只使用了大约 1/3 的数据点做为支撑向量。

R做岭回归分析 r怎么做岭回归_岭回归_04

下图显示不同大小训练集的 KernelRidgeSVR拟合(fitting)和预测(prediction) 时间。 对于中型训练集(小于 1000 个样本),拟合 KernelRidgeSVR 快;然而,对于更大的训练集 SVR 通常更好。 关于预测时间,由于学习的稀疏解,SVR 对于所有不同大小的训练集都比 KernelRidge 快。 注意,稀疏度和预测时间取决于 SVR 的参数 R做岭回归分析 r怎么做岭回归_岭回归R做岭回归分析 r怎么做岭回归_R做岭回归分析_06

R做岭回归分析 r怎么做岭回归_拟合_07

示例: 内核岭回归与SVR的对比

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