您的位置:首页 > 其它

《SVM笔记系列之二》SVM的拉格朗日函数表示以及其对偶问题

2017-11-26 11:27 288 查看
《SVM笔记系列之二》SVM的拉格朗日函数表示以及其对偶问题

前言

支持向量机的对偶问题比原问题容易解决,在符合KKT条件的情况下,其对偶问题和原问题的解相同,这里我们结合李航博士的《统计学习方法》一书和林轩田老师的《机器学习技法》中的内容,介绍下SVM的对偶问题。本人无专业的数学学习背景,只能直观上理解一些问题,请数学专业的朋友不吝赐教。

如有谬误,请联系指正。转载请注明出处。

联系方式:

e-mail:
FesianXu@163.com


QQ:
973926198


github:
https://github.com/FesianXu


有关代码开源: click

SVM的原问题的拉格朗日乘数表示

  我们在上一篇博文《SVM笔记系列1,SVM起源与目的》中,谈到了SVM的原问题,这里摘抄如下:

minW,b12||W||2s.t.1−yi(WTxi+b)≤0, i=1,⋯,N(1.1)

其满足形式:

minW,bf(x)s.t.ci(x)≤0,i=1,⋯,khj(x)=0,j=1,⋯,l(1.2)

假设原问题为θP(x),并且其最优解为p∗=θP(x∗)。

这是一个有约束的最优化问题,我们利用广义拉格朗日乘子法(具体移步《拉格朗日乘数法和KKT条件的直观解释》),将其转换为无约束的形式:

L(W,b,α)=12||W||2+∑i=1Nαi(1−yi(WTxi+b)), αi≥0(1.3)

变形为:

L(W,b,α)=12||W||2+∑i=1Nαi−∑i=1Nαiyi(WTxi+b), αi≥0(1.4)

我们将会得到原问题的另一个表述为:

f(x)=maxαL(W,b,α)=maxα12||W||2+∑i=1Nαi−∑i=1Nαiyi(WTxi+b),, αi≥0(1.5)

θP(x)=minW,bf(x)=minW,bmaxαL(W,b,α)=minW,bmaxα12||W||2+∑i=1Nαi−∑i=1Nαiyi(WTxi+b),, αi≥0(1.6)

这里我觉得有必要解释下为什么f(x)可以表述为maxαL(W,b,α)这种形式。

假设我们有一个样本点xi是不满足原问题的约束条件1−yi(WTxi+b)≤0的,也就是说1−yi(WTxi+b)>0,那么在maxα这个环节就会使得αi→+∞从而使得L(W,b,α)→+∞。如果xi是满足约束条件的,那么为了求得最大值,因为1−yi(WTxi+b)≤0而且αi≥0,所以就会使得αi=0。由此我们得知:

maxαL(W,b,α)={12||W||2+∞1−yi(WTxi+b)≤0满足约束条件1−yi(WTxi+b)>0不满足约束条件(1.7)

因此在满足约束的情况下,

maxαL(W,b,α)=12||W||2

不满足约束条件的样本点则因为无法对正无穷求最小值而自然抛弃。

这个时候,我们试图去解maxαL(W,b,α)中的maxα我们会发现因为L(W,b,α)=12||W||2+∑Ni=1αi−∑Ni=1αiyi(WTxi+b)对于α是线性的,非凸的1,因此无法通过梯度的方法求得其最大值点,其最大值点应该处于可行域边界上,因此我们需要得到SVM的对偶问题进行求解。

至此,我们得到了原问题的最小最大表述:

θP(x)=minW,bmaxαL(W,b,α)=minW,bmaxα12||W||2+∑i=1Nαi−∑i=1Nαiyi(WTxi+b),αi≥0,i=1,⋯,N(1.8)

SVM的对偶问题

  从上面的讨论中,我们得知了SVM的原问题的最小最大表达形式为:

θP(x)=minW,bmaxαL(W,b,α)=minW,bmaxα12||W||2+∑i=1Nαi−∑i=1Nαiyi(WTxi+b),αi≥0,i=1,⋯,N(2.1)

设SVM的对偶问题为θD(α),其最优解为d∗=θD(α∗),可知道其为:

g(x)=minW,bL(W,b,α)=minW,b12||W||2+∑i=1Nαi−∑i=1Nαiyi(WTxi+b)(2.2)

θD(α)=maxαg(x)=maxαminW,bL(W,b,α)=maxαminW,b12||W||2+∑i=1Nαi−∑i=1Nαiyi(WTxi+b)(2.3)

此时,我们得到了对偶问题的最大最小表述,同样的,我们试图去求解θD(α)中的minW,b,我们会发现由于L(W,b,α)=12||W||2+∑Ni=1αi−∑Ni=1αiyi(WTxi+b)对于W来说是凸函数,因此可以通过梯度的方法求得其最小值点(即是其极小值点)。

求解minW,bL(W,b,α),因为L(W,b,α)是凸函数,我们对采用求梯度的方法求解其最小值(也是KKT条件中的,∇WL(W,b,α)=0和∇bL(W,b,α)=0):

∂L∂W=W−∑i=1Nαiyixi=0,i=1,⋯,N(2.4)

∂L∂b=∑i=1Nαiyi=0,i=1,⋯,N(2.5)

得出:

W=∑i=1Nαiyixi, ∑i=1Nαiyi=0, αi≥0,i=1,⋯,N(2.6)

将其代入g(x),注意到∑Ni=1αiyi=0,得:

g(x)=12∑i=1Nαiyixi∑j=1Najyjxj+∑i=1Nαi−∑i=1Nαiyi(∑j=1Nαjyjxj⋅xi+b)=−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαi

整理为:

maxαg(x)=maxα−12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)+∑i=1Nαis.t. ∑i=1Nαiyi=0αi≥0,i=1,⋯,N(2.7)

等价为求最小问题:

minαg(x)=minα12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαis.t. ∑i=1Nαiyi=0αi≥0,i=1,⋯,N(2.8)

根据Karush–Kuhn–Tucker(KKT)条件2,我们有:

∇WL(W∗,b∗,α∗)=W∗−∑i=1Nα∗iyixi=0⟹W∗=∑i=1Nα∗iyixi(2.9)

∇bL(W∗,b∗,α∗)=−∑i=1Nα∗iyi=0(2.10)

α∗i(1−yi(W∗xi+b∗))=0(2.11)

1−yi(W∗xi+b∗)≤0(2.12)

α∗i≥0(2.13)

前两个式子我们已经在求极值的时候利用了,得知:

W∗=∑i=1Nα∗iyixi(2.14)

并且其中至少有一个α∗j>0,对此j有,yj(W∗xj+b∗)−1=0

代入刚才的W∗,我们有

b∗=yj−∑i=1Nα∗iyi(xi⋅xj)(2.15)

所以决策超平面为:

∑i=1Nα∗iyi(xi⋅x)+b∗=0(2.16)

分类超平面为:

θ(x)=sign(∑i=1Nα∗iyi(xi⋅x)+b∗)(2.17)

其中,我们可以观察到超平面只是依赖于α∗i>0的样本点xi,而其他样本点对其没有影响,所以这些样本是对决策超平面起着决定性作用的,因此我们将α∗i>0对应的样本点集合xi称为支持向量。同时,我们可以这样理解当α∗i>0时,我们有1−yi(W∗xi+b)=0,这个恰恰是表明了支持向量的函数间隔都是1,恰好和我们之前的设定一致。



至此,我们得到了硬间隔线性支持向量机的数学表述形式,所谓硬间隔线性支持向量机,就是满足我之前的假设

两类样本是线性可分的,总是存在一个超平面WTx+b可以将其完美分割开。

但是,在现实生活中的数据往往是或本身就是非线性可分但是近似线性可分的,或是线性可分但是具有噪声的,以上两种情况都会导致在现实应用中,硬间隔线性支持向量机变得不再实用,因此我们将会在后续讨论用以解决近似线性可分的软间隔线性支持向量机基于kernel的支持向量机,后者可以解决非线性可分的问题。下图表示了硬间隔线性支持向量机软间隔支持向量机之间的区别。





在下一篇中,我们紧接着现在的内容,介绍序列最小最优化算法(Sequential Minimal Optimization,SMO),用于求解θD(x),得到α∗i以便于得到超平面的W∗和b。我们将在其他文章中介绍软间隔线性支持向量机广义拉格朗日乘数法KKT条件基于kernel的支持向量机

这里我们要记住我们需要最优化的目的式子,我们以后将会反复提到这个式子。

minα12∑i=1N∑j=1Nαiαjyiyj(xi⋅xj)−∑i=1Nαi

s.t. ∑i=1Nαiyi=0

αi≥0,i=1,⋯,N

易证明。参考wikipedia的凸函数定义。
事实上,如果θD(x)的L(W,b,α)满足KKT条件,那么在SVM这个问题中,W∗和b∗和α∗i同时是原问题和对偶问题的解的充分必要条件是满足KKT条件,具体见《统计学习方法》附录和《拉格朗日乘数法和KKT条件的直观解释》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: