SVM支持向量机系列理论(一) 线性可分SVM与硬间隔最大化

1 线性可分SVM与硬间隔最大化

硬间隔最大化指的是当数据完全可分时,支持向量和分离超平面之间的间隔最大化。

1.1 SVM思想

对一个线性可分的二分类数据集:

D = ( x i , y i ) , i = 1   , . . .   , N D ={(x_i,y_i), i = 1 \ ,... \ , N } D=(xi,yi),i=1 ,... ,N

其中x表示输入的特征,y表示label. 我们希望寻找一个决策函数:

y = s i g n ( w ⋅ x + b ) y = sign(w^{} \cdot x + b^{} ) y=sign(wx+b)

或者等价于找到超平面,将两类数据点分离开。

w ⋅ x + b = 0 w^{} \cdot x + b^{} = 0 wx+b=0

然而,这样的超平面有无数多个。例如,感知机算法中不同的初始值可以求解出不同的解平面,而SVM的目标在于:

从无数个解平面 w ⋅ x + b = 0 w^{} \cdot x + b^{} = 0 wx+b=0 中,找到一个最优解平面 w ∗ ⋅ x + b ∗ = 0 w^{\ast} \cdot x + b^{\ast} = 0 wx+b=0,使支持向量与超平面之间的几何间距最大。

  • 支持向量的定义:与分离超平面间隔最小的几个数据点。

1.2 SVM算法的推导

SVM的目标是找到一个超平面,这个超平面到支持向量的几何间隔最大,那么定义支持向量到超平面的几何间隔 d d d, 那么其实d应该等于最小间隔,即 d = m i n    ( d 1 , . . . , d N ) d = min \ \ ({d1, ..., dN}) d=min  (d1,...,dN). 再者, 因为要分类正确,因此真实值 y i y_i yi 和预测值 ( w ⋅ x i + b ) (w \cdot x_i +b) (wxi+b)的乘积应该大于0.

这样形成初始的svm问题可以表示为:

m a x   w , b    d max_{ \ w,b} \ \ d max w,b  d

s . t .     d = m i n    ( d 1 , . . . , d N )   ( i = 1 , . . . , N )     ( ∗ ) s.t. \ \ \ d = min \ \ ({d1, ..., dN})\ (i = 1, ... , N) \ \ \ (*) s.t.   d=min  (d1,...,dN) (i=1,...,N)   ()

              y i ( w ⋅ x i + b ) > 0           ( ∗ ∗ ) \ \ \ \ \ \ \ \ \ \ \ \ \ y_i(w \cdot x_i +b) >0 \ \ \ \ \ \ \ \ \ (**)              yi(wxi+b)>0         ()


上面的问题并不是我们能解决的,需要作一些转换,对(*)式扩大约束: d是最小间隔,那么 d d d 应该不大于各个样本点 xi 到超平面(w,b)之的几何距离 d i d_i di.

  • 那么求最大间隔分离超平面可以表示为下面约束最优化问上面这个问题:

m a x   w , b    d max_{ \ w,b} \ \ d max w,b  d

s . t .     d i ≥ d      ( i = 1 , . . . , N )           ( 1 ) s.t. \ \ \ d_i \geq d \ \ \ \ (i = 1, ... , N) \ \ \ \ \ \ \ \ \ (1) s.t.   did    (i=1,...,N)         (1)

y i ( w ⋅ x i + b ) > 0           ( ∗ ∗ ) y_i(w \cdot x_i +b) >0 \ \ \ \ \ \ \ \ \ (**) yi(wxi+b)>0         ()
其中,各个样本点 xi 到超平面(w,b)之的几何距离

d i = ∣ w ⋅ x i + b ∣ ∣ ∣ w ∣ ∣ di = \frac{|w \cdot x_i + b |}{||w||} di=wwxi+b

                 = y i ( w ⋅ x i + b ) ∣ ∣ w ∣ ∣           ( 2 ) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =y_i\frac{(w \cdot x_i + b )}{||w||} \ \ \ \ \ \ \ \ \ (2)                 =yiw(wxi+b)         (2)


定义函数距离 d ^ \hat{d} d^

d ^ = ∣ w ⋅ x i + b ∣ = y i ( w ⋅ x i + b )                      ( 3 ) \hat{d}= |w \cdot x_i + b | = y_i(w \cdot x_i + b ) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (3) d^=wxi+b=yi(wxi+b)                    (3)

对比(2)和(3),得函数距离 d ^ \hat{d} d^ 与几何距离 d 有以下关系:

d = d ^ ∣ ∣ w ∣ ∣                                        ( 4 ) d = \frac{\hat{d}}{||w||} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (4) d=wd^                                      (4)

  • 则(1)式子的约束问题可以写为:

m a x   w , b    d ^ ∣ ∣ w ∣ ∣ max_{ \ w,b} \ \ \frac{\hat{d}}{||w||} max w,b  wd^

s . t .     y i ( w ⋅ x i + b ) ∣ ∣ w ∣ ∣ ≥ d ^ ∣ ∣ w ∣ ∣      ( i = 1 , . . . , N )           ( 5 ) s.t. \ \ \ y_i\frac{(w \cdot x_i + b )}{||w||} \geq \frac{\hat{d}}{||w||} \ \ \ \ (i = 1, ... , N) \ \ \ \ \ \ \ \ \ (5) s.t.   yiw(wxi+b)wd^    (i=1,...,N)         (5)

y i ( w ⋅ x i + b ) > 0           ( ∗ ∗ ) y_i(w \cdot x_i +b) >0 \ \ \ \ \ \ \ \ \ (**) yi(wxi+b)>0         ()


由于函数距离的大小并不会影响最佳超平面的位置(相同比例的下的(w,b)平面位置不变),也就是说函数距离 d ^ \hat{d} d^ 可以设定为任意大小的值,而且设定后不会影响最优超平面的求解,那么取函数距离 d ^ = 1 \hat{d} = 1 d^=1,(5)式子的约束问题化简后可以写为:

m a x   w , b    1 ∣ ∣ w ∣ ∣ max_{ \ w,b} \ \ \frac{1}{||w||} max w,b  w1
s . t .     y i ( w ⋅ x i + b ) ≥ 1      ( i = 1 , . . . , N )           ( 6 ) s.t. \ \ \ y_i{(w \cdot x_i + b )}{} \geq {1}{} \ \ \ \ (i = 1, ... , N) \ \ \ \ \ \ \ \ \ (6) s.t.   yi(wxi+b)1    (i=1,...,N)         (6)


此时(**)式的条件可以省略。为了把问题转为简单的二次规划问题,继续转化。由于 m a x   w , b    1 ∣ ∣ w ∣ ∣ max_{ \ w,b} \ \ \frac{1}{||w||} max w,b  w1 m i n   w , b    1 2 ∣ ∣ w ∣ ∣ 2 min_{ \ w,b} \ \ \frac{1}{2}{||w||}^2 min w,b  21w2等价,故得到线性可分支持向量机的最优化问题

m i n   w , b    1 2 ∣ ∣ w ∣ ∣ 2 min_{ \ w,b} \ \ \frac{1}{2}{||w||}^2 min w,b  21w2

s . t .     y i ( w ⋅ x i + b ) ≥ 1      ( i = 1 , . . . , N )           ( 7 ) s.t. \ \ \ y_i{(w \cdot x_i + b )}{} \geq {1}{} \ \ \ \ (i = 1, ... , N) \ \ \ \ \ \ \ \ \ (7) s.t.   yi(wxi+b)1    (i=1,...,N)         (7)
求解这个带不等式约束的凸二次规化问题,便可以得到最佳平面 w ∗ ⋅ x + b ∗ = 0 w^{\ast} \cdot x + b^{\ast} = 0 wx+b=0

决策函数 y = s i g n ( w ∗ ⋅ x + b ∗ ) y = sign(w^{\ast} \cdot x + b^{\ast} ) y=sign(wx+b)

记:

  • 目标函数是 1 2 ∣ ∣ w ∣ ∣ 2 \frac{1}{2}{||w||}^2 21w2
  • 约束条件是函数距离大于1
  • 函数距离为1的向量就是支持向量

1.3 经典SVM二次规划问题的求解

上面得到的(7)问题是二次凸规划问题,只需要将其化为二次规划的一般形式,然后利用maltab等工具便可以得到最优解。如下图
这里写图片描述

参考:
林轩田视频:机器学习技法
李航: 统计学习方法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值