核岭回归(Kernel Ridge Regression,简称KRR)是一种机器学习中的回归算法,它通过核技巧(kernel trick)在高维空间中学习一个线性函数。对于非线性核,这相当于在原始空间中学习一个非线性函数。KRR的模型形式与支持向量回归(Support Vector Regression,简称SVR)相似,但它们使用的损失函数不同:KRR使用平方误差损失,而SVR使用ε-不敏感损失,两者都结合了L2正则化。与SVR相比,KRR的拟合过程可以在封闭形式中完成,对于中等规模的数据集通常更快。然而,学习到的模型是非稀疏的,因此在预测时比SVR慢,SVR学习了一个稀疏模型,当ε > 0时,仅使用大约1/3的100个训练数据点作为支持向量。
下面的图表比较了KRR和SVR在包含正弦目标函数和强噪声的人工数据集上的表现。通过网格搜索优化了RBF核的复杂性/正则化和带宽后,绘制了学习到的模型。学习到的函数非常相似;然而,拟合KRR大约比拟合SVR快七倍(两者都使用网格搜索)。然而,由于SVR学习了一个稀疏模型,使用大约1/3的100个训练数据点作为支持向量,因此预测100000个目标值比KRR快三倍以上。
接下来的图表比较了不同训练集大小下KRR和SVR的拟合和预测时间。对于中等规模的训练集(少于1000个样本),拟合KRR比SVR更快;然而,对于更大的训练集,SVR的扩展性更好。就预测时间而言,由于学习到的稀疏解,SVR对于所有大小的训练集都比KRR快。需要注意的是,稀疏度和预测时间取决于SVR的参数ε和C;ε = 0将对应于一个密集模型。
在机器学习领域,KRR和SVR都是解决回归问题的有效工具。它们各自有其优势和局限性,选择哪种方法取决于具体的应用场景和数据特性。例如,如果数据集规模较大,SVR可能是更好的选择,因为它在预测时更快。然而,如果需要快速拟合模型,KRR可能是更合适的选择。此外,这两种方法都可以使用不同的核函数来处理非线性问题,这为解决复杂的回归问题提供了灵活性。