第七章 支持向量机(二)线性支持向量机与软间隔最大化

线性支持向量机与软间隔最大化

一、线性可分SVM的问题

【1】
现实中数据往往是线性不可分的。
这里写图片描述
即使可分,也会因异常点(蓝色的)影响模型的泛化效果。
不考虑蓝色异常点,分类超平面为橙色。加入蓝色点。分离超平面为黑色。这样会严重影响模型的预测效果。
这里写图片描述

二、线性SVM与软间隔最大化

线性不可分意味着某些样本点不能满足函数间隔大于等于1。
软间隔是相对于硬间隔而言的,对此我们放松了函数间隔的要求,之前是一定要大于等于1,现在只需要加上一个大于等于0的松弛变量能大于1就行。
对每一个样本 (xi,yi) ( x i , y i ) 引入一个松弛变量 ξi0 ξ i ≥ 0 。约束条件变为

yi(wxi+b)+ξi1 y i ( w ⋅ x i + b ) + ξ i ≥ 1

松弛变量的引入是需要付出代价的,也就是说我们要惩罚那些误分类的点。
线性SVM(包括了线性可分和线性不可分)的原始问题如下
minw,b,ξ12||w||2+Ci=1nξi(1) (1) m i n w , b , ξ 1 2 | | w | | 2 + C ∑ i = 1 n ξ i

s.t.yi(wxi+b)1ξi,i=1,2,..n(2) (2) s . t . y i ( w ⋅ x i + b ) ≥ 1 − ξ i , i = 1 , 2 , . . n

ξi0,i=1,2,...n(3) (3) ξ i ≥ 0 , i = 1 , 2 , . . . n


目标函数尽量小,即间隔尽量大 ,同时误分类点的个数尽量小, C>0 C > 0 是调和二者的系数。

三、对偶算法

根据上篇对偶算法的一般步骤有
公式繁琐,有机会再重敲ヽ(`Д´)ノ︵ ┻━┻ ┻━┻
这里写图片描述
由此我们得到了线性SVM的对偶问题

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

s.t.i=1nαiyi=0(5) (5) s . t . ∑ i = 1 n α i y i = 0

0αiC,i=1,2,...n(6) (6) 0 ≤ α i ≤ C , i = 1 , 2 , . . . n

与线性可分SVM的对偶问题对比,只多了 αiC α i ≤ C
4. 线性支持向量机的KKT条件
解的偏导=0
wL(w,b,ξ,α,μ)=wi=1nαiyixi=0 ∇ w L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = w ∗ − ∑ i = 1 n α i ∗ y i x i = 0

bL(w,b,ξ,α,μ)=i=1nαiyi=0 ∇ b L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = − ∑ i = 1 n α i ∗ y i = 0

ξL(w,b,ξ,α,μ)=Cαμ=0 ∇ ξ L ( w ∗ , b ∗ , ξ ∗ , α ∗ , μ ∗ ) = C − α ∗ − μ ∗ = 0

解满足不等式约束,
yi(wxi+b)1+ξ0 y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ ∗ ≥ 0

ξ0 ξ ∗ ≥ 0

拉格朗日乘子大于0
αi0 α i ∗ ≥ 0

μi0 μ i ∗ ≥ 0

对偶互补:拉格朗日乘子大于0时,解的不等式约束的等号成立
αi(yi(wxi+b)1+ξi)=0 α i ∗ ( y i ( w ∗ ⋅ x i + b ∗ ) − 1 + ξ i ∗ ) = 0

μiξi=0,i=1,2,...n μ i ∗ ξ i ∗ = 0 , i = 1 , 2 , . . . n

由第一个偏导得到
w=iαiyixi(7) (7) w ∗ = ∑ i α i ∗ y i x i

参数b是根据对偶互补条件得到的。
存在 0<αj<C 0 < α j ∗ < C , Cαjμj=0 由 C − α j − μ j = 0 μj0 μ j ≠ 0
互补条件2得, ξj=0 ξ j = 0
带到互补条件1, yj(wxj+b)1=0 y j ( w ∗ ⋅ x j + b ∗ ) − 1 = 0

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

w,b w ∗ , b ∗ 与线性可分SVM对比

【2】p101 线性可分SVM, w,b w , b 是唯一的
【2】p109 线性SVM,可以证明 w w 的解是唯一的,但b的解是不唯一的, b b 的解存在于一个区间。
在计算的时候,b可以取所有符合条件的样本的平均值。

四、支持向量

由公式(7)(8)知, wb w ∗ , b ∗ 只依赖于训练数据集中 α>0 α ∗ > 0 的样本点(称这样的点为支持向量),而其他样本点对 wb w ∗ , b ∗ 没有影响。这和线性可分SVM定义的支持向量是一致的。
线性可分SVM中的支持向量在间隔边界上
线性SVM的支持向量可以在
间隔边界上,间隔边界与超平面之间,分离超平面误分一侧
这里写图片描述
1.若 0<αi<C 0 < α i ∗ < C ,上面已经推了一遍了, ξi=0 ξ i = 0 ,松弛变量为0,支持向量在间隔边界上
2.若 αi=C α i ∗ = C
- 0<ξi<1 0 < ξ i ∗ < 1 ,分类正确,样本在间隔边界与分类超平面之间
- ξi=1 ξ i ∗ = 1 ,样本在分离超平面上
- ξi>1 ξ i ∗ > 1 ,样本在分离超平面误分一侧

五、合页损失函数(hinge loss)

线性SVM的另一种解释
最小化合页损失函数

i=1n[1yi(wxi+b)]++λ||w||2(9) (9) ∑ i = 1 n [ 1 − y i ( w ⋅ x i + b ) ] + + λ | | w | | 2

其中 [z]+ [ z ] + 为取正值函数
[z]+={z,0,z>0z0 [ z ] + = { z , z > 0 0 , z ≤ 0

目标函数表示第一项当样本点被正确分类且函数间隔(确信度) yi(wxi+b) y i ( w ⋅ x i + b ) 大于1时,损失是0。
否则,损失是 1yi(wxi+b) 1 − y i ( w ⋅ x i + b ) ,第二项表示正则化项。
感知机的损失函数是 [yi(wxi+b)]+ [ − y i ( w ⋅ x i + b ) ] + ,当样本点被正确分类时,损失是0。
否则,损失是 yi(wxi+b) − y i ( w ⋅ x i + b )
合页损失函数不仅要求分类正确,而且确信度足够高时损失才是0。
0-1 损失函数,是可以用于二分类问题的损失函数,分类正确,损失是0;否则,损失是1。

【1】
这里写图片描述
横坐标表示函数间隔,纵坐标表示损失。
其他的损失函数???先挖个坑

下面证明最小化合页损失函数(公式9)和软间隔最大化(线性SVM的原始问题公式1-3)是等价的

[1yi(wxi+b)]+=ξi [ 1 − y i ( w ⋅ x i + b ) ] + = ξ i

取正值函数知, ξi0 ξ i ≥ 0 ,公式3成立;
[1yi(wxi+b)]+={1yi(wxi+b),0,1yi(wxi+b)>01yi(wxi+b)0 [ 1 − y i ( w ⋅ x i + b ) ] + = { 1 − y i ( w ⋅ x i + b ) , 1 − y i ( w ⋅ x i + b ) > 0 0 , 1 − y i ( w ⋅ x i + b ) ≤ 0

1yi(wxi+b)>0 1 − y i ( w ⋅ x i + b ) > 0 yi(wxi+b)=1ξi y i ( w ⋅ x i + b ) = 1 − ξ i
1yi(wxi+b)0 1 − y i ( w ⋅ x i + b ) ≤ 0 ξi=0 ξ i = 0 1yi(wxi+b)ξi 1 − y i ( w ⋅ x i + b ) ≤ ξ i
因此公式2成立;
公式9改写为
minw,bi=1nξi+λ||w||2 m i n w , b ∑ i = 1 n ξ i + λ | | w | | 2

λ=12C λ = 1 2 C
minw,b1C(12||w||2+Ci=1nξi) m i n w , b 1 C ( 1 2 | | w | | 2 + C ∑ i = 1 n ξ i )

公式1成立。

参考文献

【1】http://www.cnblogs.com/pinard/p/6100722.html
【2】统计学习方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值