Skip to content

SVM Regression

字数
380 字
阅读时间
2 分钟

两种SVR

对于左边的tube SVR来说,当点在tube内的时候,就没有error,当点在tube外才有。tube的error叫做 epsilon-insensitive error. 当 |s-y| 比较小的时候,tube约等于squared,且更少被outlier影响。

SVR定义

我们要找到一条tube,tube的宽度由人为确定。这个tube可以让所有的点都在tube内。 那么问题就转化成了:

min12w2s.t.yiw1xibε;w1xi+byiε;

然而,这就有问题了。如果你的data本身就不能被塞到一个tube中怎么办呢?这里就引入slack变量,转化为凸优化问题。只有超出tube的部分,才会对损失函数产生线性惩罚。 引入拉格朗日乘子进行凸优化:

L:=12w2+Ci=1(ξi+ξi)i=1(ηiξi+ηiξi)αi(ε+ξiyi+w,xi+b)i=1αi(ε+ξi+yiw,xib)Lagrange multipliersαi(),ηi()0.

这里面yita也是拉格朗日乘子,用来惩罚超出tube的部分。那么接下来根据kkt条件我们有:

bL=i=1(αiαi)=0wL=wi=1(αiαi)xi=0ξi()L=Cαi()ηi()=0

全部代入L得到:

maximize{12i,j=1(αiαi)(αjαj)xi,xjεi=1(αi+αi)+i=1yi(αiαi)subject toi=1(αiαi)=0andαi,αi[0,C]

其中支撑向量是超出tube的部分。接下来就可以用SMO了。具体可以去看 3 - SVM Classification

贡献者

文件历史