SVM——(六)软间隔目标函数求解
2017-11-19 15:50
260 查看
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+C∑i=1mξiy(i)(wTx(i)+b)≥1−ξi,i=1,2,...mξi≥0,i=1,2,...m(2.2)
其中C>0称为惩罚参数,一般由应用问题决定,C越大时对误分类的惩罚越大.最小化目标函数(2.2)包含两层含义:使12||w||2尽量小,即间隔尽量打,同时使误分类点的个数尽量小,C是调和二者的系数。并且只要错分一个样本点,我们都将付出Cξi的代价。
如先前一样,我们可以将其对应的广义拉格朗日函数写出:
L(w,b,ξ,α,r)=12wTw+C∑i=1mξi−∑i=1mαi[y(i)(wTx(i)+b)−1+ξi]−∑i=1mriξi(2.3)
其中,αi≥0,ri≥0是拉格朗日乘数(为什么有这个条件,参见此文3.1)
则其对偶问题为:
maxαs.t.W(α)=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj⟨x(i),x(j)⟩0≤αi≤C,i=1,...,m∑i=1mαiy(i)=0(2.4)
推导:
由(2.2)可知:
minw,b,ξs.t.12||w||2+C∑i=1mξigi(w,b)=−[y(i)(wTx(i)+b)−1+ξi]≤0,i=1,2,...mhi(ξ)=−ξi≤0,i=1,2,...m(2.5)
注:h(w,b),h(ξ)均为不等式约束条件
由(2.5)可知:
L(w,b,ξ,α,r)=12wTw+C∑i=1mξi+∑i=1mαigi(w,b)+rihi(ξ)(2.6)
由(2.6)可知:
θp(w,b,ξ)=maxαi≥0,ri≥0L(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+C∑mi=1ξi
由以上3点分析可知:
θp(w,b,ξ)=⎧⎩⎨12||w||2+C∑mi=1ξi,∞,if w,b,ξ satisfies primal constraintsotherwise(2.8)
由(2.8)和KKT条件可知:
d∗=maxαi≥0,ri≥0minw,b,ξL(w,b,ξ,α,r)=minw,b,ξmaxαi≥0,ri≥0L(w,b,ξ,α,r)(2.9)
关于参数w,b,ξ,求L的极小值W(α):
由
∂L∂w∂L∂b∂L∂ξi=w−∑i=1mαiy(i)x(i)=0=−∑i=1mαiy(i)=0=C−αi−ri=0
这几个求导相对容易,注意一下最后一个求导时的下标就好
得
w=∑i=1mαiy(i)x(i)∑i=1mαiy(i)=0C−αi−ri=0(2.10)(2.11)(2.12)
将(2.10)(2.11)(2.12)代入(2.3)得:
minw,b,ξL(w,b,ξ,α,r)==12wTw+∑i=1mCξi−∑i=1mαi[y(i)wTx(i)+y(i)b−1+ξi]−∑i=1mriξi=12wTw+∑i=1mCξi−wT∑i=1mαiy(i)x(i)−b∑i=1mαiy(i)+∑i=1mαi−∑i=1mαiξi−∑i=1mriξi=12wTw+∑i=1m(αi+ri)ξi−wTw−b⋅0+∑i=1mαi−∑i=1m(αi+ri)ξi=−12wTw+∑i=1mαi=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj⟨x(i),x(j)⟩
关于α(因为ξ被消去了)再对minw,b,ξL(w,b,ξ,α,r)求极大即可得到(2.4)
其中约束条件如下(因为这是保证minw,b,ξL(w,b,ξ,α,r)存在的前提):
∑i=1mαiy(i)=0C−αi−ri=0αi≥0,i=1⋯mri≥0,i=1⋯m(2.13)(2.14)(2.15)(2.16)
利用(2.14)消去ri,则可将(2.14)−(2.16)写成
0≤αi≤C(2.17)
推导完毕
对于对偶问题(2.4)成立的是必须满足KKT条件的要求:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪αi≥0,ri≥0gi(w,b)=−[y(i)(wTx(i)+b)−1+ξi]≤0hi(ξ)=−ξi≤0αigi(w,b)=0rihi(ξ)=0(2.18)
于是,对于任意训练样本(x(i),y(i)),总有αi=0或gi(w,b)=0。
若αi=0,该样本点则不会对决策平面产生任何影响;
若0<αi<C,由(2.14)知,则同时必有gi(w,b)=0即y(i)(wTx(i)+b)=1−ξi且ri>0,进而有ξi=0,所以该样本恰在最大边界上,即支持向量(下图点a,b,c);
若αi=C,由(2.14)知,则必有ri=0,由(2.18)知,进而有ξi>0;同时:若0<ξi≤1,则该样本点落在最大间隔内(下图点d),若ξi>1,则样本点被错误分类(下图点e,此时其函数距离<0)
黑色虚线表示硬间隔,红色虚线表示软间隔
事实上上面的几种情况可以总结成下面的3个条件:
αi=0⟹y(i)(wTx(i)+b)≥1αi=C⟹y(i)(wTx(i)+b)≤10<αi<C⟹y(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
《统计学习方法》李航
《机器学习》周志华
我们之前谈到过两种情况下的分类:一种是直接线性可分的;另外一种是通过ϕ(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+C∑i=1mξiy(i)(wTx(i)+b)≥1−ξi,i=1,2,...mξi≥0,i=1,2,...m(2.2)
其中C>0称为惩罚参数,一般由应用问题决定,C越大时对误分类的惩罚越大.最小化目标函数(2.2)包含两层含义:使12||w||2尽量小,即间隔尽量打,同时使误分类点的个数尽量小,C是调和二者的系数。并且只要错分一个样本点,我们都将付出Cξi的代价。
如先前一样,我们可以将其对应的广义拉格朗日函数写出:
L(w,b,ξ,α,r)=12wTw+C∑i=1mξi−∑i=1mαi[y(i)(wTx(i)+b)−1+ξi]−∑i=1mriξi(2.3)
其中,αi≥0,ri≥0是拉格朗日乘数(为什么有这个条件,参见此文3.1)
则其对偶问题为:
maxαs.t.W(α)=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj⟨x(i),x(j)⟩0≤αi≤C,i=1,...,m∑i=1mαiy(i)=0(2.4)
推导:
由(2.2)可知:
minw,b,ξs.t.12||w||2+C∑i=1mξigi(w,b)=−[y(i)(wTx(i)+b)−1+ξi]≤0,i=1,2,...mhi(ξ)=−ξi≤0,i=1,2,...m(2.5)
注:h(w,b),h(ξ)均为不等式约束条件
由(2.5)可知:
L(w,b,ξ,α,r)=12wTw+C∑i=1mξi+∑i=1mαigi(w,b)+rihi(ξ)(2.6)
由(2.6)可知:
θp(w,b,ξ)=maxαi≥0,ri≥0L(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+C∑mi=1ξi
由以上3点分析可知:
θp(w,b,ξ)=⎧⎩⎨12||w||2+C∑mi=1ξi,∞,if w,b,ξ satisfies primal constraintsotherwise(2.8)
由(2.8)和KKT条件可知:
d∗=maxαi≥0,ri≥0minw,b,ξL(w,b,ξ,α,r)=minw,b,ξmaxαi≥0,ri≥0L(w,b,ξ,α,r)(2.9)
关于参数w,b,ξ,求L的极小值W(α):
由
∂L∂w∂L∂b∂L∂ξi=w−∑i=1mαiy(i)x(i)=0=−∑i=1mαiy(i)=0=C−αi−ri=0
这几个求导相对容易,注意一下最后一个求导时的下标就好
得
w=∑i=1mαiy(i)x(i)∑i=1mαiy(i)=0C−αi−ri=0(2.10)(2.11)(2.12)
将(2.10)(2.11)(2.12)代入(2.3)得:
minw,b,ξL(w,b,ξ,α,r)==12wTw+∑i=1mCξi−∑i=1mαi[y(i)wTx(i)+y(i)b−1+ξi]−∑i=1mriξi=12wTw+∑i=1mCξi−wT∑i=1mαiy(i)x(i)−b∑i=1mαiy(i)+∑i=1mαi−∑i=1mαiξi−∑i=1mriξi=12wTw+∑i=1m(αi+ri)ξi−wTw−b⋅0+∑i=1mαi−∑i=1m(αi+ri)ξi=−12wTw+∑i=1mαi=∑i=1mαi−12∑i,j=1my(i)y(j)αiαj⟨x(i),x(j)⟩
关于α(因为ξ被消去了)再对minw,b,ξL(w,b,ξ,α,r)求极大即可得到(2.4)
其中约束条件如下(因为这是保证minw,b,ξL(w,b,ξ,α,r)存在的前提):
∑i=1mαiy(i)=0C−αi−ri=0αi≥0,i=1⋯mri≥0,i=1⋯m(2.13)(2.14)(2.15)(2.16)
利用(2.14)消去ri,则可将(2.14)−(2.16)写成
0≤αi≤C(2.17)
推导完毕
对于对偶问题(2.4)成立的是必须满足KKT条件的要求:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪αi≥0,ri≥0gi(w,b)=−[y(i)(wTx(i)+b)−1+ξi]≤0hi(ξ)=−ξi≤0αigi(w,b)=0rihi(ξ)=0(2.18)
于是,对于任意训练样本(x(i),y(i)),总有αi=0或gi(w,b)=0。
若αi=0,该样本点则不会对决策平面产生任何影响;
若0<αi<C,由(2.14)知,则同时必有gi(w,b)=0即y(i)(wTx(i)+b)=1−ξi且ri>0,进而有ξi=0,所以该样本恰在最大边界上,即支持向量(下图点a,b,c);
若αi=C,由(2.14)知,则必有ri=0,由(2.18)知,进而有ξi>0;同时:若0<ξi≤1,则该样本点落在最大间隔内(下图点d),若ξi>1,则样本点被错误分类(下图点e,此时其函数距离<0)
黑色虚线表示硬间隔,红色虚线表示软间隔
事实上上面的几种情况可以总结成下面的3个条件:
αi=0⟹y(i)(wTx(i)+b)≥1αi=C⟹y(i)(wTx(i)+b)≤10<αi<C⟹y(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
《统计学习方法》李航
《机器学习》周志华
相关文章推荐
- SVM——(四)目标函数求解
- 机器学习笔记八 - SVM(Support Vector Machine,支持向量机)的剩余部分。即核技法、软间隔分类器、对SVM求解的序列最小化算法以及SVM的一些应用
- SVM入门(四、五)线性分类器的求解——问题的描述
- 模式识别(Pattern Recognition)学习笔记(十二)--SVM(广义):大间隔
- SVM入门(六)线性分类器的求解——问题的转化,直观角度
- MATLAB中利用牛顿法求解目标函数的局部最小值
- 随机梯度下降求解svm(MATLAB)
- SVM入门(五)线性分类器的求解——问题的描述Part2
- SVM入门(五)线性分类器的求解——问题的描述Part2
- SVM入门(五)线性分类器的求解——问题的描述Part2
- svm的c++代码编写,二维数据的硬间隔分类
- SVM入门(三、四、五)线性分类器的求解——问题的描述
- 最优间隔分类、原始/对偶问题、SVM对偶—斯坦福ML公开课笔记7
- SVM入门——线性分类器的求解,核函数
- 林轩田--机器学习技法--SVM笔记4--软间隔支持向量机(Soft-Margin Support Vector Machine)
- 最优间隔分类、原始/对偶问题、SVM对偶—斯坦福ML公开课笔记7
- 【Python】SVM 线性可分 硬间隔最大化
- 搞懂SVM的三个问题,间隔,对偶问题,KKT条件
- SVM入门(四)线性分类器的求解——问题的描述Part1
- SVM入门(六)线性分类器的求解——问题的转化,直观角度