SVM——(六)软间隔目标函数求解

来源:互联网 发布:mysql官方手册中文版 编辑:程序博客网 时间:2024/05/22 10:23

1.什么是软间隔

我们之前谈到过两种情况下的分类:一种是直接线性可分的;另外一种是通过ϕ(x)映射到高维空间之后“线性可分”的。为什么后面这个“线性可分”要加上引号呢?这是因为在上一篇文章中有一件事没有和大家交代:虽然通过映射到高维空间的方式能够很大程度上使得原先线性不可分的数据集线性可分,但是我们并不能够一定保证它就是线性可分的,可能这个高维空间依旧线性不可分得换一个(事实上你还是不知道换哪一个更好,所以此时就要折中选择),或者保守的说即使线性可分了,但也可能会有过拟合现象。这是因为超平面对于异常点(outlier)过于敏感。如下图:

这里写图片描述

在左图,直线A为该数据集下的最优解;但是,此时若出现一个异常点(中图所示),它将导致分类直线发生剧烈的摆动,虽然最终也达到了将数据集分开的效果,但这显然不是我们希望的。我们将其称之为硬间隔(hard margin),即不允许出现错分的情况,哪怕导致过拟合。所以,我们所期望的就是图右的这种情况:容许少量的错分,从而得到最优解,而这个容忍的则通过代价函数来调节。或者再极端一点就是,根本找不到超平面将其分开(不过拟合的前提下),必须得错分一些点。此时虚线与实现之间的间隔就称之为软间隔(soft margin)。

2.软间隔最大化

此时我们可以知道,如数据集中出现了异常点,必将导致该异常点的函数间隔小于1。所以,此时引入一个松弛变量(ξ>0),使得函数加上松弛变量但与等于1.

y(i)(wTx(i)+b)1ξi(2.1)

那么此时的目标函数可以重新改写为如下形式:

minw,b,ξs.t.12||w||2+Ci=1mξiy(i)(wTx(i)+b)1ξi,i=1,2,...mξi0,i=1,2,...m(2.2)

其中C>0称为惩罚参数,一般由应用问题决定,C越大时对误分类的惩罚越大.最小化目标函数(2.2)包含两层含义:使12||w||2尽量小,即间隔尽量打,同时使误分类点的个数尽量小,C是调和二者的系数。并且只要错分一个样本点,我们都将付出Cξi的代价。

如先前一样,我们可以将其对应的广义拉格朗日函数写出:

L(w,b,ξ,α,r)=12wTw+Ci=1mξii=1mαi[y(i)(wTx(i)+b)1+ξi]i=1mriξi(2.3)

其中,αi0,ri0是拉格朗日乘数(为什么有这个条件,参见此文3.1)

则其对偶问题为:

maxαs.t.W(α)=i=1mαi12i,j=1my(i)y(j)αiαjx(i),x(j)0αiC,i=1,...,mi=1mαiy(i)=0(2.4)


推导:
(2.2)可知:

minw,b,ξs.t.12||w||2+Ci=1mξigi(w,b)=[y(i)(wTx(i)+b)1+ξi]0,i=1,2,...mhi(ξ)=ξi0,i=1,2,...m(2.5)

注:h(w,b),h(ξ)均为不等式约束条件

(2.5)可知:

L(w,b,ξ,α,r)=12wTw+Ci=1mξi+i=1mαigi(w,b)+rihi(ξ)(2.6)

(2.6)可知:

θp(w,b,ξ)=maxαi0,ri0L(w,b,ξ,α,r)(2.7)

gi(w,b)>0,则只需任取αi无穷大,即可导致(2.7)趋于无穷大;
hi(ξ)>0,则只需任取ri无穷大,即可导致(2.7)趋于无穷大;
gi(w,b)0,hi(ξ)0两者同时满足,则即可满足θp=12||w||2+Cmi=1ξi

由以上3点分析可知:

θp(w,b,ξ)=12||w||2+Cmi=1ξi,,if w,b,ξ satisfies primal constraintsotherwise(2.8)

(2.8)和KKT条件可知:

d=maxαi0,ri0minw,b,ξL(w,b,ξ,α,r)=minw,b,ξmaxαi0,ri0L(w,b,ξ,α,r)(2.9)

关于参数w,b,ξ,求L的极小值W(α):


LwLbLξi=wi=1mαiy(i)x(i)=0=i=1mαiy(i)=0=Cαiri=0

这几个求导相对容易,注意一下最后一个求导时的下标就好

w=i=1mαiy(i)x(i)i=1mαiy(i)=0Cαiri=0(2.10)(2.11)(2.12)

(2.10)(2.11)(2.12)代入(2.3)得:
minw,b,ξL(w,b,ξ,α,r)==12wTw+i=1mCξii=1mαi[y(i)wTx(i)+y(i)b1+ξi]i=1mriξi=12wTw+i=1mCξiwTi=1mαiy(i)x(i)bi=1mαiy(i)+i=1mαii=1mαiξii=1mriξi=12wTw+i=1m(αi+ri)ξiwTwb0+i=1mαii=1m(αi+ri)ξi=12wTw+i=1mαi=i=1mαi12i,j=1my(i)y(j)αiαjx(i),x(j)

关于α(因为ξ被消去了)再对minw,b,ξL(w,b,ξ,α,r)求极大即可得到(2.4)

其中约束条件如下(因为这是保证minw,b,ξL(w,b,ξ,α,r)存在的前提):

i=1mαiy(i)=0Cαiri=0αi0,i=1mri0,i=1m(2.13)(2.14)(2.15)(2.16)

利用(2.14)消去ri,则可将(2.14)(2.16)写成
0αiC(2.17)

推导完毕


对于对偶问题(2.4)成立的是必须满足KKT条件的要求:

αi0,ri0gi(w,b)=[y(i)(wTx(i)+b)1+ξi]0hi(ξ)=ξi0αigi(w,b)=0rihi(ξ)=0(2.18)

于是,对于任意训练样本(x(i),y(i)),总有αi=0gi(w,b)=0

αi=0,该样本点则不会对决策平面产生任何影响;
0<αi<C,由(2.14)知,则同时必有gi(w,b)=0y(i)(wTx(i)+b)=1ξiri>0,进而有ξi=0,所以该样本恰在最大边界上,即支持向量(下图点a,b,c);
αi=C,由(2.14)知,则必有ri=0,由(2.18)知,进而有ξi>0;同时:若0<ξi1,则该样本点落在最大间隔内(下图点d),若ξi>1,则样本点被错误分类(下图点e,此时其函数距离<0)

这里写图片描述
黑色虚线表示硬间隔,红色虚线表示软间隔

事实上上面的几种情况可以总结成下面的3个条件:

αi=0y(i)(wTx(i)+b)1αi=Cy(i)(wTx(i)+b)10<αi<Cy(i)(wTx(i)+b)1(2.19)(2.20)(2.21)

3.求解参数

不论是前面说到的硬间还是现在的软间隔,最后都要最大化W(α)来求得αi,进而解得w,b。所以前面做了这么多工作,也只差这最后一步了。那么如何来进行求解呢?

不难发现只是一个二次规划问题,可以使用通用的二次规划算法来求解;然而,该问题的规模正比于训练样本数,这会在实际任务中造成很大的开销。为了避免这个障碍,人们通过利用问题本身的特性,提出了很多高效的算法,SMO(Sequential Minimal Optimization)是其中一个著名的代表。

不过为了避免一篇博客内容过于冗长,我并不打算继续在这篇博客中写下去。下一篇咱接着说。

SVM——(七)SMO(序列最小最优算法)
SVM——(六)软间隔目标函数求解
SVM——(五)线性不可分之核函数
SVM——(四)目标函数求解
SVM——(三)对偶性和KKT条件(Lagrange duality and KKT condition)
SVM——(二)线性可分之目标函数推导方法2
SVM——(一)线性可分之目标函数推导方法1

参考:

  • Andrew Ng. CS229. Note3
  • 《统计学习方法》李航
  • 《机器学习》周志华
阅读全文
0 0