scikit-learn 学习 (七) 核岭回归

核岭回归 (KRR) 结合了岭回归 (l2正则化线性最小二乘) 与核技巧. 因此它学习了由核和数据引起的空间中的线性函数. 对于非线性核, 这会在原空间生成一个非线性函数.

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

下图比较了KernelRidge和SVR在人造数据集上的情况,该数据集由正弦目标函数和每隔五个数据点添加的强噪声组成。 绘制了KernelRidge和SVR的学习模型,其中RBF内核的复杂度/正则化和带宽均使用网格搜索进行了优化。 学到的功能非常相似, 然而,拟合KernelRidge大约比拟合SVR快七倍(都是网格搜索)。 然而,对于10万个目标值的预测,使用SVR的速度提高了3倍以上,因为它只学习了一个稀疏模型。 100个训练数据点中的1/3作为支持向量。

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

分享到