SVM——软间隔最大化

回忆SVM硬间隔最大化所对应的优化问题

minw,b12w2s.t.  y(i)(wTx(i)+b)1i=1,,m min w , b 1 2 ‖ w ‖ 2 s.t.     y ( i ) ( w T x ( i ) + b ) ⩾ 1 i = 1 , ⋯ , m

对于约束条件,并不是所有样本都能满足,换句话说,可能存在某个样本,其函数间隔无法做到大于等于 1 1 ,因此为每一个样本(x(i),y(i))引入一个松弛变量 ξi ξ i ,于是约束条件变为 y(i)(wTx(i)+b)1ξi y ( i ) ( w T x ( i ) + b ) ⩾ 1 − ξ i ,称为软间隔

规定松弛变量的取值为非负数, ξi0 ξ i ⩾ 0 ,对于能够满足约束条件的样本 ξi=0 ξ i = 0 ,对于不能够满足约束条件的样本 ξi>0 ξ i > 0

对于每一个松弛变量 ξi ξ i ,需要付出的代价为 ξi ξ i ,因此代价函数变为 12w2+Ci=1mξi 1 2 ‖ w ‖ 2 + C ∑ i = 1 m ξ i ,超参数 C C 控制松弛变量代价的权重

总结一下,SVM软间隔最大化所对应的优化问题为

minw,b,ξ 12w2+Ci=1mξi
s.t.y(i)(wTx(i)+b)1ξii=1,,m s.t. y ( i ) ( w T x ( i ) + b ) ⩾ 1 − ξ i i = 1 , ⋯ , m
 ξi0i=1,,m   ξ i ⩾ 0 i = 1 , ⋯ , m

其中,约束条件的标准形式为

s.t.1ξiy(i)(wTx(i)+b)0i=1,,m s.t. 1 − ξ i − y ( i ) ( w T x ( i ) + b ) ⩽ 0 i = 1 , ⋯ , m
 ξi0i=1,,m   − ξ i ⩽ 0 i = 1 , ⋯ , m

拉格朗日函数

为约束 1ξiy(i)(wTx(i)+b)0 1 − ξ i − y ( i ) ( w T x ( i ) + b ) ⩽ 0 分配拉格朗日乘子 αi α i ,为约束 ξi0 − ξ i ⩽ 0 分配拉格朗日乘子 ri r i

L(w,b,ξ,α,r)=12w2+Ci=1mξi+i=1mαi[1ξiy(i)(wTx(i)+b)]+i=1mri(ξi)=12w2+Ci=1mξi+i=1mαii=1mαiξii=1mαiy(i)(wTx(i)+b)i=1mriξi=12w2+Ci=1mξi+i=1mαii=1mαiξii=1mαiy(i)wTx(i)i=1mαiy(i)bi=1mriξi=12w2+i=1mξi(Cαiri)+i=1mαii=1mαiy(i)wTx(i)i=1mαiy(i)b L ( w , b , ξ , α , r ) = 1 2 ‖ w ‖ 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m α i [ 1 − ξ i − y ( i ) ( w T x ( i ) + b ) ] + ∑ i = 1 m r i ( − ξ i ) = 1 2 ‖ w ‖ 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m α i − ∑ i = 1 m α i ξ i − ∑ i = 1 m α i y ( i ) ( w T x ( i ) + b ) − ∑ i = 1 m r i ξ i = 1 2 ‖ w ‖ 2 + C ∑ i = 1 m ξ i + ∑ i = 1 m α i − ∑ i = 1 m α i ξ i − ∑ i = 1 m α i y ( i ) w T x ( i ) − ∑ i = 1 m α i y ( i ) b − ∑ i = 1 m r i ξ i = 1 2 ‖ w ‖ 2 + ∑ i = 1 m ξ i ( C − α i − r i ) + ∑ i = 1 m α i − ∑ i = 1 m α i y ( i ) w T x ( i ) − ∑ i = 1 m α i y ( i ) b

求出具体的对偶问题,共分为两步

第一步,求 minw,b,ξ L(w,b,ξ,α,r) min w , b , ξ   L ( w , b , ξ , α , r ) ,即固定对偶变量 α α r r ,优化原变量w b b ξ

求原变量 w w b ξ ξ 的梯度,令梯度为 0 0

wL(w,b,ξ,α,r)=wi=1mαiy(i)x(i)=0

bL(w,b,ξ,α,r)=i=1mαiyi=0 ∇ b L ( w , b , ξ , α , r ) = − ∑ i = 1 m α i y i = 0

ξiL(w,b,ξ,α,r)=Cαiri=0i=1,,m ∇ ξ i L ( w , b , ξ , α , r ) = C − α i − r i = 0 i = 1 , ⋯ , m (注意这里共有 m m 个式子)

得到下列3个式子(注意到式1和式2与SVM硬间隔情况下完全相同)

w=i=1mαiy(i)x(i)

i=1mαiy(i)=0 ∑ i = 1 m α i y ( i ) = 0

Cαiri=0i=1,,m C − α i − r i = 0 i = 1 , ⋯ , m

上述3个式子的作用稍有不同,式1中包含原变量 w w 和对偶变量αi,可以利用 αi α i L(w,b,ξ,α,r) L ( w , b , ξ , α , r ) 中消去 w w

而式2仅包含对偶变量αi,式3仅包含对偶变量 αi α i ri r i ,式2和式3将作为新的约束条件带入第二步中,同时式2和式3同样能够起到化简 L(w,b,ξ,α,r) L ( w , b , ξ , α , r ) 的作用

因此将上述3个式子代入 L(w,b,ξ,α,r) L ( w , b , ξ , α , r )

minw,b,ξ L(w,b,ξ,α,r)=12w2+i=1mξi(Cαiri)+i=1mαii=1mαiy(i)wTx(i)i=1mαiy(i)b=12i=1mj=1mαiαjy(i)y(j)x(i),x(j)+0+i=1mαii=1mαiy(i)(j=1mαjy(j)x(j))x(i)0=12i=1mj=1mαiαjy(i)y(j)x(i),x(j)+i=1mαii=1mj=1mαiαjy(i)y(j)x(i),x(j)=i=1mαi12i=1mj=1mαiαjy(i)y(j)x(i),x(j) min w , b , ξ   L ( w , b , ξ , α , r ) = 1 2 ‖ w ‖ 2 + ∑ i = 1 m ξ i ( C − α i − r i ) + ∑ i = 1 m α i − ∑ i = 1 m α i y ( i ) w T x ( i ) − ∑ i = 1 m α i y ( i ) b = 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) ⟨ x ( i ) , x ( j ) ⟩ + 0 + ∑ i = 1 m α i − ∑ i = 1 m α i y ( i ) ( ∑ j = 1 m α j y ( j ) x ( j ) ) x ( i ) − 0 = 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) ⟨ x ( i ) , x ( j ) ⟩ + ∑ i = 1 m α i − ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) ⟨ x ( i ) , x ( j ) ⟩ = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) ⟨ x ( i ) , x ( j ) ⟩

最终我们发现原变量 w w b ξ ξ 被消去了,对偶变量 r r 也恰好消掉了,尽管这本来并不在我们的计划之内,但少一个变量总是件好事,最重要的一点,化简结果和SVM硬间隔情况下完全相同

总结一下在这一步中我们所做的事情,固定对偶变量α r r ,优化原变量w b b ξ,求 L(w,b,ξ,α,r) L ( w , b , ξ , α , r ) 的最小值

minw,b,ξ L(w,b,ξ,α,r)=i=1mαi12i=1mj=1mαiαjy(i)y(j)x(i),x(j) min w , b , ξ   L ( w , b , ξ , α , r ) = ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) ⟨ x ( i ) , x ( j ) ⟩
s.t.i=1mαiy(i)=0 s.t. ∑ i = 1 m α i y ( i ) = 0
  Cαiri=0i=1,,m     C − α i − r i = 0 i = 1 , ⋯ , m

第二步,求 maxα,r:αi0,ri0 minw,b,ξ L(w,b,ξ,α,r) max α , r : α i ⩾ 0 , r i ⩾ 0   min w , b , ξ   L ( w , b , ξ , α , r ) ,即得到如下的对偶问题(此时对偶变量 r r 虽然被消掉了,但仍然要把第一步中的约束条件式2和式3照搬过来)

maxα i=1mαi12i=1mj=1mαiαjy(i)y(j)x(i),x(j)

s.t.i=1mαiy(i)=0 s.t. ∑ i = 1 m α i y ( i ) = 0
  Cαiri=0i=1,,m     C − α i − r i = 0 i = 1 , ⋯ , m
  αi0i=1,,m     α i ⩾ 0 i = 1 , ⋯ , m
  ri0i=1,,m     r i ⩾ 0 i = 1 , ⋯ , m

可以对约束条件进行一些化简,由 Cαiri=0ri=Cαi C − α i − r i = 0 ⇒ r i = C − α i ,代入约束条件 ri0 r i ⩾ 0 ,得 αiC α i ⩽ C ,再与约束条件 αi0 α i ⩾ 0 合并,得 0αiC 0 ⩽ α i ⩽ C (通过这一番化简,使得约束条件中也不再包含 r r

最终对偶问题为(对偶变量仅剩下α,与SVM硬间隔的区别仅为新增了约束 αiC α i ⩽ C

maxα i=1mαi12i=1mj=1mαiαjy(i)y(j)x(i),x(j) max α   ∑ i = 1 m α i − 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y ( i ) y ( j ) ⟨ x ( i ) , x ( j ) ⟩
s.t.i=1mαiy(i)=0 s.t. ∑ i = 1 m α i y ( i ) = 0

  0αiCi=1,,m     0 ⩽ α i ⩽ C i = 1 , ⋯ , m

因为对于原始问题, 12w2+Ci=1mξi 1 2 ‖ w ‖ 2 + C ∑ i = 1 m ξ i 1ξiy(i)(wTx(i)+b) 1 − ξ i − y ( i ) ( w T x ( i ) + b ) ξi − ξ i 均为凸函数,并且存在 (w,b,ξ) ( w , b , ξ ) 使得所有不等式约束成立,所以存在一组 (w,b,ξ,α,r) ( w ∗ , b ∗ , ξ ∗ , α ∗ , r ∗ ) 满足 p=d=L(w,b,ξ,α,r) p ∗ = d ∗ = L ( w ∗ , b ∗ , ξ ∗ , α ∗ , r ∗ )

故求解对偶问题等价于求解原始问题

【KKT条件】

原问题的约束
 1ξiy(i)(wTx(i)+b)0i=1,,m   1 − ξ i − y ( i ) ( w T x ( i ) + b ) ⩽ 0 i = 1 , ⋯ , m

 ξi0i=1,,m   ξ i ⩾ 0 i = 1 , ⋯ , m

梯度等于0
 wL(w,b,ξ,α,r)=0w=i=1mαiy(i)x(i)   ∇ w L ( w , b , ξ , α , r ) = 0 ⇒ w = ∑ i = 1 m α i y ( i ) x ( i )
 bL(w,b,ξ,α,r)=0i=1mαiyi=0   ∇ b L ( w , b , ξ , α , r ) = 0 ⇒ ∑ i = 1 m α i y i = 0

 ξiL(w,b,ξ,α,r)=0Cαiri=0i=1,,m   ∇ ξ i L ( w , b , ξ , α , r ) = 0 ⇒ C − α i − r i = 0 i = 1 , ⋯ , m

不等式约束的拉格朗日乘子大于等于0
 αi0i=1,2,,m   α i ⩾ 0 i = 1 , 2 , ⋯ , m

 ri0i=1,2,,m   r i ⩾ 0 i = 1 , 2 , ⋯ , m

对偶互补条件
 αi[1ξiy(i)(wTx(i)+b)]=0i=1,2,,m   α i [ 1 − ξ i − y ( i ) ( w T x ( i ) + b ) ] = 0 i = 1 , 2 , ⋯ , m

 ri(ξi)=0riξi=0i=1,2,,m   r i ( − ξ i ) = 0 ⇒ r i ξ i = 0 i = 1 , 2 , ⋯ , m

我们稍稍做一些约简,主要是消去拉格朗日乘子 ri r i

由⑤得 ri=Cαi r i = C − α i ,代入⑦ Cαi0αi0 C − α i ⩾ 0 ⇒ α i ⩽ 0 ,再结合⑥得 0αiC 0 ⩽ α i ⩽ C

ri=Cαi r i = C − α i 代入⑨得 (Cαi)ξi=0 ( C − α i ) ξ i = 0

于是最终的KKT条件如下
 1ξiy(i)(wTx(i)+b)0i=1,,m   1 − ξ i − y ( i ) ( w T x ( i ) + b ) ⩽ 0 i = 1 , ⋯ , m

 ξi0i=1,,m   ξ i ⩾ 0 i = 1 , ⋯ , m

 w=i=1mαiy(i)x(i)   w = ∑ i = 1 m α i y ( i ) x ( i )
 i=1mαiyi=0   ∑ i = 1 m α i y i = 0

 0αiCi=1,2,,m   0 ⩽ α i ⩽ C i = 1 , 2 , ⋯ , m

 αi[1ξiy(i)(wTx(i)+b)]=0i=1,2,,m   α i [ 1 − ξ i − y ( i ) ( w T x ( i ) + b ) ] = 0 i = 1 , 2 , ⋯ , m

 (Cαi)ξi=0i=1,2,,m   ( C − α i ) ξ i = 0 i = 1 , 2 , ⋯ , m

求解对偶问题(使用SMO算法),得到最优解 α α ∗ ,此时任务还没有完成,还需要利用 α α ∗ 求出 w w ∗ b b ∗

对于 w w ∗ ,利用KKT条件③计算: w=i=1mαiy(i)x(i) w ∗ = ∑ i = 1 m α i ∗ y ( i ) x ( i )

再求 b b ∗ ,选取任意一个支持向量对应的 αj α j ∗ ,满足 0<αj<C 0 < α j ∗ < C ,利用KKT条件⑥⑦得

1ξjy(j)(wTx(j)+b)=0 1 − ξ j ∗ − y ( j ) ( w ∗ T x ( j ) + b ∗ ) = 0

ξj=0 ξ j ∗ = 0

最终解出 b b ∗

1ξjy(j)(wTx(j)+b)y(j)(wTx(j)+b)1y(j)(wTx(j)+b)(y(j))2(wTx(j)+b)y(j)b=0=0=0使(y(j))21=0=y(j)wTx(j) 1 − ξ j ∗ − y ( j ) ( w ∗ T x ( j ) + b ∗ ) = 0 y ( j ) ( w ∗ T x ( j ) + b ∗ ) − 1 = 0 y ( j ) ( w ∗ T x ( j ) + b ∗ ) − ( y ( j ) ) 2 = 0 (使用 ( y ( j ) ) 2 替换1) ( w ∗ T x ( j ) + b ∗ ) − y ( j ) = 0 b ∗ = y ( j ) − w ∗ T x ( j )

使用不同 αj α j ∗ 计算出的 b b ∗ 会不同,通常取均值即可

【软间隔下的KKT条件】

KKT条件

 y(i)(wTx(i)+b)1ξii=1,,m   y ( i ) ( w T x ( i ) + b ) ⩾ 1 − ξ i i = 1 , ⋯ , m

 ξi0i=1,,m   ξ i ⩾ 0 i = 1 , ⋯ , m

 αi[1ξiy(i)(wTx(i)+b)]=0   α i [ 1 − ξ i − y ( i ) ( w T x ( i ) + b ) ] = 0

 (Cαi)ξi=0   ( C − α i ) ξ i = 0

(1)若 αi=0 α i = 0 ,则由④得 ξi=0 ξ i = 0 ,代入①得 y(i)(wTx(i)+b)1 y ( i ) ( w T x ( i ) + b ) ⩾ 1

(2)若 αi=C α i = C ,则由③得 1ξiy(i)(wTx(i)+b)=0ξi=1y(i)(wTx(i)+b) 1 − ξ i − y ( i ) ( w T x ( i ) + b ) = 0 ⇒ ξ i = 1 − y ( i ) ( w T x ( i ) + b )
代入②得 1y(i)(wTx(i)+b)0y(i)(wTx(i)+b)1 1 − y ( i ) ( w T x ( i ) + b ) ⩾ 0 ⇒ y ( i ) ( w T x ( i ) + b ) ⩽ 1

(3)若 0<αi<C 0 < α i < C ,由③得 ξi=0 ξ i = 0 ,再由②得 1ξiy(i)(wTx(i)+b)=0 1 − ξ i − y ( i ) ( w T x ( i ) + b ) = 0 ,因此有 y(i)(wTx(i)+b)=1 y ( i ) ( w T x ( i ) + b ) = 1

由KKT条件推出的结论总结如下,这3条结论可以用于判断SMO算法是否收敛

αi=0αi=C0<αi<Cy(i)(wTx(i)+b)1y(i)(wTx(i)+b)1y(i)(wTx(i)+b)=1 α i = 0 ⇒ y ( i ) ( w T x ( i ) + b ) ⩾ 1 α i = C ⇒ y ( i ) ( w T x ( i ) + b ) ⩽ 1 0 < α i < C ⇒ y ( i ) ( w T x ( i ) + b ) = 1

【软间隔下的支持向量】

利用2个对偶互补条件进行分析

αi[1ξiy(i)(wTx(i)+b)]=0 α i ∗ [ 1 − ξ i ∗ − y ( i ) ( w ∗ T x ( i ) + b ∗ ) ] = 0

(Cαi)ξi=0 ( C − α i ∗ ) ξ i ∗ = 0

(1) αi=0 α i = 0 ,该样本为非支持向量

(2) 0<αi<C 0 < α i < C ,该样本为支持向量,由对偶互补条件2得 ξi=0 ξ i = 0 ,由对偶互补条件1得 1ξiy(i)(wTx(i)+b)=0γ^(i)=1 1 − ξ i − y ( i ) ( w T x ( i ) + b ) = 0 ⇒ γ ^ ( i ) = 1 ,即该样本落在分隔边界上,函数间隔为 1 1
(3)α=C,该样本为支持向量,由对偶互补条件1得 1ξiy(i)(wTx(i)+b)=0 1 − ξ i − y ( i ) ( w T x ( i ) + b ) = 0 ,即函数间隔 γ^(i)=1ξi γ ^ ( i ) = 1 − ξ i

松弛变量自身的约束条件为 ξi0 ξ i ⩾ 0 ,其中 ξi=0 ξ i = 0 的情况已经在(2)中讨论过了,仍然可以分为3种情况讨论

a. 若 0<ξi<1 0 < ξ i < 1 ,该样本落在分类超平面正确分类的一侧和分隔边界之间,函数间隔 γ^(i)=1ξi(0,1) γ ^ ( i ) = 1 − ξ i ∈ ( 0 , 1 )

b. 若 ξi=1 ξ i = 1 ,该样本落在分类超平面上,函数间隔 γ^(i)=0 γ ^ ( i ) = 0

c. 若 ξi>1 ξ i > 1 ,该样本落在分类超平面错误分类的一侧,函数间隔 γ^(i)<0 γ ^ ( i ) < 0

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值