机器学习

13 SVM - SVR(回归问题的SVM)

2018-12-06  本文已影响115人  白尔摩斯

12 SVM - SMO - 初始β变量的选择、总结

十七、SVR 回归问题的SVM

SVM和决策树一样,可以将模型直接应用到回归问题中;在SVM的分类模型(SVC)中,目标函数和限制条件如下:

SVM软间隔的损失函数

在简单的线性回归当中,我们最小化一个正则化的误差函数:

二次误差函数

为了得到稀疏解,二次误差函数被替换为一个 ε-不敏感误差函数(ε-insensitive error function)。
如果预测值hθ(x(i)) 与实际值y(i)之间的差小于ε, 这个误差函数给出的误差为0,ε-不敏感误差函数可以写为如下形式:

解释: 如果 |真实值-预测值| 的误差在一个区域内(ε) ,则认为没有误差。即当前预测损失值为0;

ε-不敏感误差函数

在不敏感区域之外,会有一个与误差相关的线性代价:
红色图像 是ε-不敏感误差函数,斜率=正负1;
绿色图像 是最小二乘法损失函数,即误差的平方和函数;

损失函数

于是我们最小化正则化的误差函数,写为一般形式:

最小化正则化的误差函数

与SVM中的软间隔一样,通过引入松弛变量的方式,我们可以重新表达最优化问题。

对于每个数据点xi ,我们现在需要两个松弛变量ζi≥0 和ζ^i≥0 ,其中:
ζi>0 对应于 yi > hθ(x(i)) + ε 的数据点;
ζ^i>0 对应于 yi < hθ(x(i)) - ε 的数据点;
目标点位于hθ(x(i)) - ε ≤ yi ≤ hθ(x(i)) + ε 管道内的条件是 ,只要松弛变量不为0即可。

对应的条件变为了:

这样,SVR回归的误差函数就可以写成:

SVR回归的损失函数

通过几何意义来帮助理解上述概念:
1、预测值 hθ(x(i))是红色的线,粉红色的区域是由不敏感误差ε构成的缓冲区。我们认为当预测值蓝点落在不敏感误差ε构成的粉色缓冲区时,没有损失。
2、松弛变量ζ是预测值到缓冲区域上边界的距离,松弛变量ζ^是预测值到缓冲区域下边界的距离。
3、我们希望预测值落在缓冲区内部(即上面说的管道),这样损失为0。
4、如果不敏感误差ε=0,那么缓冲区就只有 hθ(x(i))这条红线了,ε=0表示不允许预测存在错误的缓冲区。

几何意义

加入松弛因子ξ>0,从而我们的目标函数和限制条件变成:

目标函数和限制条件

构造拉格朗日函数:

拉格朗日函数

原始函数:

原始问题

转化为对偶函数:

对偶问题

首先来求优化函数对于w、b、ξ的极小值,通过求导可得:

将w、b、ξ的值带入函数L中,就可以将L转换为只包含β的函数,从而我们可以得到最终的优化目标函数为下面的式子:
PS:对于β的求解照样可以使用SMO算法来求解;

14 - SVM - 代码案例

上一篇下一篇

猜你喜欢

热点阅读