review

先回顾一下在基本线性可分情况下的SVM模型:

【机器学习】SVM之回归模型

分类svm模型中要让训练集中的各个样本点尽量远离自己类别一侧的支持向量。

其实回归模型也沿用了最大间隔分类器的思想。

【机器学习】SVM之回归模型误差函数

对于回归模型,优化目标函数和分类模型保持一致,依然是【机器学习】SVM之回归模型,但是约束条件不同。我们知道回归模型的目标是让训练集中的每个样本点【机器学习】SVM之回归模型,尽量拟合到一个线性模型【机器学习】SVM之回归模型上。对于一般的回归模型,我们是用均方误差作为损失函数的,但SVM不是这样定义损失函数的。

SVM回归算法采用【机器学习】SVM之回归模型误差函数,【机器学习】SVM之回归模型误差函数定义为,如果预测值【机器学习】SVM之回归模型与真实值【机器学习】SVM之回归模型之间的差值【机器学习】SVM之回归模型,则不产生损失,否则,损失代价为【机器学习】SVM之回归模型

如下图所示,在蓝色带里面的点都是没有损失的,但是外面的点是有损失的,损失大小为红色线的长度。

【机器学习】SVM之回归模型

总结一下,SVM回归模型的损失函数度量为:

【机器学习】SVM之回归模型

下图为【机器学习】SVM之回归模型误差函数与平方误差函数的图形 

【机器学习】SVM之回归模型

目标函数

观察上述的 【机器学习】SVM之回归模型 误差函数的形式,可以看到,实际形成了一个类似管道的样子,在管道中样本点,不做惩罚,所以被称为【机器学习】SVM之回归模型,如下图阴影红色部分 

【机器学习】SVM之回归模型

采用 【机器学习】SVM之回归模型 替代平方误差项,因此可以定义最小化误差函数作为优化目标:

【机器学习】SVM之回归模型

这个损失函数与从最大间隔分类推过来的不太相似,可以参考我写的从LR到SVM这篇文章,将二分类的Hinge Loss换成【机器学习】SVM之回归模型误差函数就可以了。

由于上述目标函数含有绝对值项不可微。我们可以转化成一个约束优化问题,常用的方法是为每一个样本数据定义两个松弛变量【机器学习】SVM之回归模型,表示度量真实值 【机器学习】SVM之回归模型【机器学习】SVM之回归模型的距离。 

当样本点真实值 【机器学习】SVM之回归模型 位于管道上方时,【机器学习】SVM之回归模型 ,写成表达式:【机器学习】SVM之回归模型时,【机器学习】SVM之回归模型【机器学习】SVM之回归模型; 

当样本点真实值 【机器学习】SVM之回归模型 位于管道下方时,【机器学习】SVM之回归模型 ,写成表达式:【机器学习】SVM之回归模型时,【机器学习】SVM之回归模型【机器学习】SVM之回归模型; 

因此使得每个样本点位于管道内部的条件为:

当 【机器学习】SVM之回归模型  位于管道上方时,【机器学习】SVM之回归模型,有【机器学习】SVM之回归模型 
当 【机器学习】SVM之回归模型  位于管道下方时,【机器学习】SVM之回归模型,有【机器学习】SVM之回归模型

误差函数可以写为一个凸二次优化问题:

【机器学习】SVM之回归模型

拉格朗日对偶

和SVM分类模型一样,我们也可以用拉格朗日函数将目标优化函数变成无约束的形式:

【机器学习】SVM之回归模型

其中【机器学习】SVM之回归模型是拉格朗日的系数。

满足约束下 max L= f ,拉格朗日系数都为0,min max L=min f。若不满足约束max L=无穷大,min max L无解。即min max L在约束内的解就是min f 的解。在约束外无解。因此求解min max L得到的解就是在约束内min f的解.

求解问题转化为min max L,对偶问题为max min L.先对【机器学习】SVM之回归模型求偏导数:

【机器学习】SVM之回归模型

带回到拉格朗日函数中去,化简得到只关于【机器学习】SVM之回归模型的函数,目标即最大化此函数。 

【机器学习】SVM之回归模型

约束条件为:

【机器学习】SVM之回归模型

【机器学习】SVM之回归模型

其中【机器学习】SVM之回归模型为向量内积。现在为线性核,也可以更换为高斯核之类的非线性核函数。

下面考虑KKT条件:

【机器学习】SVM之回归模型

由式(1),(2)知: 
【机器学习】SVM之回归模型时,必有【机器学习】SVM之回归模型,【机器学习】SVM之回归模型,这些点位于管道上方边界处,或者管道上面。 预测值比真实值小了。
【机器学习】SVM之回归模型时,必有【机器学习】SVM之回归模型,【机器学习】SVM之回归模型,这些点位于管道下方边界处,或者管道下面。 预测值比真实值大了。

同时,由式(1),(2)知,对于任意一个数据点,由于【机器学习】SVM之回归模型,则【机器学习】SVM之回归模型不可能同时都大于0,而且得到在管道内部的点,必然有【机器学习】SVM之回归模型。 

【机器学习】SVM之回归模型

超平面计算

根据前面的计算已经可以得到【机器学习】SVM之回归模型

现在来计算【机器学习】SVM之回归模型的值

由上述的分析,影响超平面参数的点为位于管道边界处,或者管道外面。 
关于【机器学习】SVM之回归模型的计算,可以考虑在管道上方边界处一个点必然有: 

【机器学习】SVM之回归模型

【机器学习】SVM之回归模型

可以解得:

【机器学习】SVM之回归模型

则预测函数为

【机器学习】SVM之回归模型

其中【机器学习】SVM之回归模型为超平面管道上平面边界上的一点。

SVM回归模型系数的稀疏性

可以发现,对于【机器学习】SVM之回归模型的点【机器学习】SVM之回归模型(不包括边界),必有【机器学习】SVM之回归模型

此时有【机器学习】SVM之回归模型,要满足KKT条件,则【机器学习】SVM之回归模型

我们定义样本系数【机器学习】SVM之回归模型,根据上面【机器学习】SVM之回归模型的计算式

【机器学习】SVM之回归模型

我们发现此时【机器学习】SVM之回归模型,也就是说【机器学习】SVM之回归模型不受这些在误差范围内的点的影响。对于在边界上或者在边界外的点,【机器学习】SVM之回归模型,此时。

【机器学习】SVM之回归模型。即【机器学习】SVM之回归模型只受那些在tube管道边界及管道之外的点影响。同理b也是。


接下来有时间会详写SMO算法,发现在SMO优化算法必不可少啊。

SVM的优缺点及应用场景会在之后写一篇,与LR等算法做一下对比。

参考文章

SVM解回归问题

支持向量机(SVM)的回归模型

相关文章: