SVM支持向量机系列理论(二) 线性可分SVM模型的对偶问题

2.1 对偶问题

2.1.1 原始问题的转换

a. 转换形式

SVM算法的经典问题是一个凸二次规划模型,求解这个问题比较复杂。

min w,b  12||w||2 m i n   w , b     1 2 | | w | | 2

s.t.   yi(wxi+b)1    (i=1,...,N)         (7) s . t .       y i ( w ⋅ x i + b ) ≥ 1         ( i = 1 , . . . , N )                   ( 7 )

(7)这个问题其实等价于“对拉格朗日函数   L(w,b,α)     L ( w , b , α ) 求关于拉格朗日乘子 α α 的最大, 然后再对   L(w,b,α)     L ( w , b , α ) 求关于 w,b w , b 的最小,”即(7)可以写为:

p=minw,bmaxα ,αi0L(w,b,α)=minw,bθP(w,b)         (8) p ∗ = m i n w , b m a x α   , α i ≥ 0 L ( w , b , α ) = m i n w , b θ P ( w , b )                   ( 8 )


b. 证明过程

这个转换其实就是把约束条件 gi(w)0 g i ( w ) ≤ 0 转化到拉格朗日函数中去

maxα ,αi0L(w,b,α) m a x α   , α i ≥ 0 L ( w , b , α ) 表示对L取关于a的最后大化,观察拉格朗日函数的形式:

L(w,b,α)=f(w)+aig(wi);αi0 L ( w , b , α ) = f ( w ) + ∑ a i ⋅ g ( w i ) ; α i ≥ 0

现在, ai0 a i ≥ 0 ,对 L(w,b,α) L ( w , b , α ) 作关于 α α 的最大化,那么:

  • g(wi)0 g ( w i ) ≤ 0 (即满足约束条件)时,L(w,b,a)的最大为 f(w);

  • g(wi)>0 g ( w i ) > 0 时,L(w,b,a)的最大为正无穷大。

这样 maxα ,αi0L(w,b,α) m a x α   , α i ≥ 0 L ( w , b , α ) 是一个分段函数。第一段是满足约束条件时,有函数f(w),第二段是一个正无穷大。这时要对这个分段函数取min,那么肯定是选择对满足约束条件时的f(w)取min,因为第二段是正无穷大。

这样,就把一个约束问题转化成无约束问题。

注:

这里还可以看出 L(w,b,α) L ( w , b , α ) 要最大,那么必须有 αig(wi)=0 α i g ( w i ) = 0 也就是拉格朗日乘子和约束中至少有一个为0;这就是KKT条件中的松弛互补条件


2.2.2 强对偶性和弱对偶性

上面提到,原始问题可以转化为拉格朗日函数的无约束问题:

p=minw,bmaxα ,αi0L(w,b,α)=minw,bθP(w,b)         (8) p ∗ = m i n w , b m a x α   , α i ≥ 0 L ( w , b , α ) = m i n w , b θ P ( w , b )                   ( 8 )

那么,其对偶问题可以写为:

d=maxα ,αi0minw,bL(w,b,α)=maxαθD(α)         (9) d ∗ = m a x α   , α i ≥ 0 m i n w , b L ( w , b , α ) = m a x α θ D ( α )                   ( 9 )

实际上,对偶问题的解是原始问题的一个下界 dp d ∗ ≤ p ∗ ,这个性质叫做 弱对偶性。若在 kkt条件或者slater条件下,有 d=p d ∗ = p ∗ ,则称为 强对偶性

由于该问题是凸二次规划问题,且该问题有解。因此只要满足Slater条件),那么强对偶性成立(统计学习定理C.2)。 那么可以将原始问题转化为对偶问题的求解:

p=d=L(w,b,α)         (10) p ∗ = d ∗ = L ( w ∗ , b ∗ , α ∗ )                   ( 10 )

在svm的原始问题其实刚好满足Slater条件(“若原始问题为凸优化问题, 存在一个w,使得 gi(w)<0 g i ( w ∗ ) < 0 ”成立),因为如果存在一个 w, w ∗ , gi(w)0 g i ( w ) ≤ 0 ,那么总能通过把 w w ∗ 放大或缩小一定倍数,使得这个约束变成严格成立,也就是slater条件成立。

综上所述,现在求解原始问题转化为求解对偶问题
d=maxα ,αi0minw,bL(w,b,α) d ∗ = m a x α   , α i ≥ 0 m i n w , b L ( w , b , α )


2.3.3 SVM模型的对偶问题形式求解

第一步,写出拉格朗日函数   L(w,b,α)     L ( w , b , α )

L(w,b,α)=12||w||2+i=1Nαigi(x) L ( w , b , α ) = 1 2 | | w | | 2 + ∑ i = 1 N α i g i ( x )

                  =12||w||2+i=1Nαi(1yi(wxi+b))                                     = 1 2 | | w | | 2 + ∑ i = 1 N α i ( 1 − y i ( w x i + b ) )

                  =12||w||2+i=1Nαii=1Nαiyi(wxi+b))         (11)                                     = 1 2 | | w | | 2 + ∑ i = 1 N α i − ∑ i = 1 N α i y i ( w x i + b ) )                   ( 11 )

拉格朗日函数   L(w,b,α)     L ( w , b , α ) 对w,b求偏导数并令其为0,得:

wL(w,b,α)=wi=1Nαiyixi=0 ▽ w L ( w , b , α ) = w − ∑ i = 1 N α i y i x i = 0

w=i=1Nαiyixi         (12) w = ∑ i = 1 N α i y i x i                   ( 12 )

bL(w,b,α)=i=1Nαiyi=0 ▽ b L ( w , b , α ) = ∑ i = 1 N α i y i = 0

i=1Nαiyi=0         (13) ∑ i = 1 N α i y i = 0                   ( 13 )


第二步, 求 minw,bL(w,b,α) m i n w , b L ( w , b , α ) .

将上面求偏导数的结果(12)、(13)式代入(11)中的拉格朗日函数,即得到 minw,bL(w,b,α) m i n w , b L ( w , b , α )

minw,bL(w,b,α)=12j=1Nαiαjyiyj(xixj)i=1Nαiyi((j=1Nαjyjxj)xi+b)+i=1Nαi m i n w , b L ( w , b , α ) = 1 2 ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i y i ( ( ∑ j = 1 N α j y j x j ) ⋅ x i + b ) + ∑ i = 1 N α i

=12j=1Nαiαjyiyj(xixj)+i=1Nαi         (14) = − 1 2 ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i                   ( 14 )


第三步,求 maxαminw,bL(w,b,α) m a x α m i n w , b L ( w , b , α ) .即是对偶问题:

maxα    12j=1Nαiαjyiyj(xixj)+i=1Nαi m a x α         − 1 2 ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) + ∑ i = 1 N α i

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

            αi0,i=1,2,...,N         (15)                         α i ≥ 0 , i = 1 , 2 , . . . , N                   ( 15 )


第四步,转化为等价的一般形式对偶问题

minα    12j=1Nαiαjyiyj(xixj)i=1Nαi m i n α         1 2 ∑ j = 1 N α i α j y i y j ( x i ⋅ x j ) − ∑ i = 1 N α i

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

            αi0,i=1,2,...,N         (16)                         α i ≥ 0 , i = 1 , 2 , . . . , N                   ( 16 )

这就得到了线性可分SVM的对偶问题模型,可以用SMO算法求解出对偶问题的最优解 α=(α1,...,αN) α ∗ = ( α 1 ∗ , . . . , α N ∗ )

然后就可以计算 w w ∗ b b ∗ .

w=i=1Nαiyixi         (17) w ∗ = ∑ i = 1 N α i ∗ y i x i                   ( 17 )

b=yji=1Nαiyi(xixj)         (18) b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j )                   ( 18 )

具体证明利用了KKT条件。这里注意KKT条件是强对偶 d=p d ∗ = p ∗ `的充分必要条件。而上面的问题是强对偶,因此必须满足kkt条件。(17)利用kkt条件中拉格朗日函数对w求偏导数等于零,(18)利用kkt条件中互补松弛条件 αigi(w)=0 α i ∗ g i ( w ) = 0 ,并且注意 1=y2j 1 = y j 2


证明:

KKT条件如下:

wL(w,b,α)=wNi=1αiyixi=0         (I) ∇ w L ( w , b , α ) = w ∗ − ∑ i = 1 N α i ∗ y i x i = 0                   ( I )

bL(w,b,α)=Ni=1αiyi=0         (II) ∇ b L ( w , b , α ) = − ∑ i = 1 N α i ∗ y i = 0                   ( I I )

αi[yi(wxi+b)1]=0   i=1,2,...,N         (III) α i ∗ [ y i ( w ∗ x i + b ∗ ) − 1 ] = 0       i = 1 , 2 , . . . , N                   ( I I I )

yi(wxi+b)10;   i=1,2,...,N         (IV) y i ( w ∗ x i + b ∗ ) − 1 ≥ 0 ;       i = 1 , 2 , . . . , N                   ( I V )

αi0;   i=1,2,...,N         (V) α i ≥ 0 ;       i = 1 , 2 , . . . , N                   ( V )

由(I),得:

w=Ni=1αiyixi         (17) w ∗ = ∑ i = 1 N α i ∗ y i x i                   ( 17 )

由(III)互补松弛条件得:

yj(wxj+b)1=0          y j ( w ∗ x j + b ∗ ) − 1 = 0                  

yj((Ni=1αiyixi)xj+b)y2j=0          y j ( ( ∑ i = 1 N α i ∗ y i x i ) ⋅ x j + b ∗ ) − y j 2 = 0                  

b=yjNi=1αiyi(xixj) b ∗ = y j − ∑ i = 1 N α i ∗ y i ( x i ⋅ x j )

  • 计算 b b ∗ 只需要一个 αj>0 α j ∗ > 0 的点

  • 计算 w w ∗ 只需要所有 α>0 α ∗ > 0 的点,并且注意得到,w 其实就是 x的线性组合,而且x都是支持向量的x。

因此,从这可以看出最佳分离超平面只依赖于支持向量。


2.3.4 支持向量的再定义

由互补松弛条件,我们有

αi[yi(wxi+b)1]=0   i=1,2,...,N         (III) α i ∗ [ y i ( w ∗ x i + b ∗ ) − 1 ] = 0       i = 1 , 2 , . . . , N                   ( I I I )

因此,当 αi>0 α i ∗ > 0 时,必有 yj(wxj+b)1=0          y j ( w ∗ x j + b ∗ ) − 1 = 0                   αi>0 α i ∗ > 0 对应的样本点 (xi,yi) ( x i , y i ) 是支持向量,从(17)、(18)来看, w,b w ∗ , b ∗ 依赖于 αi>0 α i ∗ > 0 的样本点。

参考博文:

http://www.cnblogs.com/ooon/p/5723725.html

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值