1.3. Kernel ridge regression
一、简介
Kernel ridge regression (KRR) (内核岭回归) 对常规岭回归 采用了 “核方法”,因此可以拟合非线性的函数。对于每个非线性的核,它对应了原始空间里的一个非线性的函数。
二、“核方法”简介
参考西瓜书,我们认为,在原始空间里线性函数无法拟合的关系也许 能在高维空间里的线性关系拟合 (这里的说法并不严谨,但意思没错)
按照我这种常人的想法,为了能成功调用线性算法,我会对数据进行“升维”。但是显然,这种“升维”并不现实,我们总不可能强行补n个维度(包括其中的数据),然后还能正巧然这n个维度使得数据可以线性划分。
于是,聪明人想出一种办法。它们先假设数据能在高维中展开,然后我们再根据目标函数在高维中的优化式,定义数据在高维的运算(数据间结构中,体现最多的距离,高维的距离称之为范数,又由不同的内积计算,所以我们一般会选择不同的内积计算方式去求解模型),最后完成算法对模型的优化。
这种定义数据在高维的运算,我们称之为核函数。应用核函数将线性模型推广为非线性模型的方法叫做 “核方法”
(详细的核方法我会在SVM中介绍)
三、与SVR(support vector regression)的对比
我们知道核方法就是最先应用与支持向量机(SVM),而且Ridge和SVM(SVR)都基于L2范数,还都是线性模型,它们在形式上,是十分接近的。
不同的是:
- KR使用MSE作为损失函数而SVR用"ϵ-insensitive loss"(忽略真实值在某个上下范围内的误差)作为损失。
- KR因为封闭,所以它在中等大小的训练集(一两万)上训练的很快;但是因为不想SVR一样稀疏,所以在预测较多数据时,它表现的很慢(SVR因为要确保稀疏性,所以在有些情况下收敛的慢,即训练时间稍长)。
总得来说,我感觉KR没有SVR优秀。