支持向量机

核心理论

在统计学习理论基础上发展而来的支持向量机(support vector mechines,SVM)算法,是一种专门研究有限样本预测的方法。作为一种二分类模型,其基本模型是作用在特征空间上的间隔最大的线性分类器,间隔最大使其有别于感知机模型。支持向量机的学习策略就是间隔最大化,这就可以将其形式化为一个求解凸二次规划的问题。
SVM三大法宝:间隔,对偶,核技巧

假设给定训练样本集合 S = { ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . } , y i ⊂ { − 1 , 1 } S=\left \{ \left ( x_{1},y_{1}\right ),\left (x_{2} ,y_{2} \right )... \right \},y_i \subset \left \{ -1, 1\right \} S={(x1,y1)(x22)...}yi{1,1}其中,X为输入空间或输入特征空间,y是样本的类标记。为了把不同的类别分开,我们需要找到一个超平面。问题是应该找哪个?
在这里插入图片描述
直观上看我们应该找两类数据最中间的超平面,也就是图中红色的那条。这样才能将训练集的局限性或噪声影响降到最小,也就是最鲁棒的。

1.hard-margin SVM

上图红色的超平面可以用线性方程: w T x + b = 0 w^Tx+b=0 wTx+b=0来表示,其中 w = ( w 1 , w 2 , . . . , w d ) T w=(w_1,w_2,...,w_d)^T w=(w1,w2,...,wd)T是法向量,它决定了超平面的方向; b b b是位移,代表了超平面和原点之间的距离。那么超平面就可以被 w w w b b b确定下来,就记作 ( w , b ) (w,b) (w,b)吧。所以样本中任一点 x x x到超平面 ( w , b ) (w,b) (w,b)的距离可以写成:
   d i s t a n c e = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ distance=\frac{|w^Tx+b|}{||w||} distance=wwTx+b
而我们的最大间隔分类器的目的就是最大化最小的 d i s t a n c e distance distance,就是这样:
   m a x   m a r g i n ( w , b )     s . t .    y i ( w T x i + b ) > 0 , i = 1 , 2 , . . . , N max\space margin(w,b)   s.t.\space\space y_i(w^Tx_i+b)>0,i=1,2,...,N max margin(w,b)  s.t.  yi(wTxi+b)>0,i=1,2,...,N
  
也就是这样:
   m a x   m i n   y i ( w T x + b ) ∣ ∣ w ∣ ∣     s . t .    y i ( w T x i + b ) > 0 , i = 1 , 2 , . . . , N max\space min\space \frac{y_i(w^Tx+b)}{||w||}   s.t.\space\space y_i(w^Tx_i+b)>0,i=1,2,...,N max min wyi(wTx+b)  s.t.  yi(wTxi+b)>0,i=1,2,...,N
  
令$ y_i(w^Tx_i+b)=1,$
: m a x   1 ∣ ∣ w ∣ ∣     s . t .    y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , N :max\space \frac{1}{||w||}   s.t.\space\space y_i(w^Tx_i+b)≥1,i=1,2,...,N :max w1  s.t.  yi(wTxi+b)1,i=1,2,...,N
  
转换下形式,变成一个存粹的优化问题(原问题):
m i n   1 2 w T w     s . t .    y i ( w T x i + b ) ≥ 1 , i = 1 , 2 , . . . , N min\space \frac{1}{2}w^Tw   s.t.\space\space y_i(w^Tx_i+b)≥1,i=1,2,...,N min 21wTw  s.t.  yi(wTxi+b)1,i=1,2,...,N

既然是个优化问题,那么我们试着用拉格朗日乘子法解一下,
拉格朗日函数:
L ( w , b , λ ) = 1 2 w T w + ∑ i = 1 N λ i ( 1 − y ( w T x i + b ) ) L(w,b,\lambda)=\frac{1}{2}w^Tw+\sum_{i=1}^{N}\lambda_i(1-y_(w^Tx_i+b)) L(w,b,λ)=21wTw+i=1Nλi(1y(wTxi+b))
s . t .    λ i ≥ 0 , 1 − y ( w T x i + b ) ≤ 0 s.t.\space\space \lambda_i≥0,1-y_(w^Tx_i+b)≤0 s.t.  λi0,1y(wTxi+b)0

写成无约束的原问题 : m i n w , b   m a x λ L ( w , b , λ )        s . t .    λ i ≥ 0 :\underset {w,b}{min}\space \underset\lambda{max} L(w,b,\lambda) \space \space\space\space\space\space s.t.\space\space\lambda_i≥0 :w,bmin λmaxL(w,b,λ)      s.t.  λi0

对偶

上述原问题的对偶问题就是:
m a x λ   m i n w , b L ( w , b , λ )        s . t .    λ i ≥ 0 \underset\lambda{max} \space \underset {w,b}{min} L(w,b,\lambda) \space \space\space\space\space\space s.t.\space\space\lambda_i≥0 λmax w,bminL(w,b,λ)      s.t.  λi0
借用一句话,对偶问题和原问题就是鸡头凤尾的关系,凤尾再差也比鸡头强。。。

w , b w,b w,b求偏导:
∂ L ∂ b = 0 , \frac{\partial L}{\partial b}=0, bL=0 ∑ i = 1 N λ i y i = 0 \sum_{i=1}^N\lambda_iy_i=0 i=1Nλiyi=0
∂ L ∂ w = 0 , \frac{\partial L}{\partial w}=0, wL=0 w ∗ = ∑ i = 1 N λ i y i x i w^*=\sum_{i=1}^N\lambda_iy_ix_i w=i=1Nλiyixi

那么上面的对偶问题就能转化成这样:
m a x λ ∑ i = 1 N λ i − 1 2 ∑ i = 1 N ∑ j = 1 N λ i λ j y i y j x i T x j \underset \lambda{max}\sum_{i=1}^N\lambda_i-\frac{1}{2}\sum_{i=1}^N\sum_{j=1}^N\lambda_i\lambda_jy_iy_jx_i^Tx_j λmaxi=1Nλi21i=1Nj=1NλiλjyiyjxiTxj
s . t .    λ i ≥ 0 ,   ∑ i = 1 N λ i y i = 0 s.t.\space\space\lambda_i≥0,\space\sum_{i=1}^N\lambda_iy_i=0 s.t.  λi0, i=1Nλiyi=0

从对偶问题解出的 λ i \lambda_i λi是拉格朗日乘子,它恰恰对应着寻来你样本 ( x i , y i ) , (x_i,y_i), (xi,yi)而***原问题***中有不等式约束,因此上述过程满足KKT条件,即要求:
λ i ≥ 0 ; \lambda_i≥0; λi0;
λ i ( 1 − y i ( w T x i + b ) = 0 \lambda_i(1-y_i(w^Tx_i+b)=0 λi(1yi(wTxi+b)=0
1 − y i ( w T x i + b ) ≤ 0 1-y_i(w^Tx_i+b)≤0 1yi(wTxi+b)0

又因为刚刚我们通过对拉格朗日函数求偏导已经求出来了 w ∗ = ∑ i = 1 N λ i y i x i , w^*=\sum_{i=1}^N\lambda_iy_ix_i, w=i=1Nλiyixi假设存在一个点 ( x k , y k ) , (x_k,y_k), (xk,yk)使得 1 − y k ( w T x k + b ) = 0 1-y_k(w^Tx_k+b)=0 1yk(wTxk+b)=0

再看 y k ( w T x k + b ) = 1 y_k(w^Tx_k+b)=1 yk(wTxk+b)=1这个式子,因为 y k ⊂ − 1 , + 1 y_k\sub{-1,+1} yk1+1,因此两边同乘以 y k , y_k, yk y k 2 ( w T x k + b ) = y k , y_k^2(w^Tx_k+b)=y_k, yk2(wTxk+b)=yk, y k 2 = 1 y_k^2=1 yk2=1

所以 b ∗ = y k − w T x k = y k − ∑ i = 1 N λ i y i x i T x k b^*=y_k-w^Tx_k=y_k-\sum_{i=1}^N\lambda_iy_ix_i^Tx_k b=ykwTxk=yki=1NλiyixiTxk

所以硬间隔的超平面就得出了: f ( x = s i g n ( w ∗ x + b ∗ ) ) f(x=sign(w^*x+b^*)) f(x=sign(wx+b))

2.soft-margin SVM

前面的介绍中,我们一直假定训练样本在样本空间中式线性可分的。然而在实际情况中往往很难确定合适的核函数使得训练样本在特征空间中线性可分。
缓解这个问题的一个方法是允许支持向量机在一定样本上出错。也就是软间隔的概念。
软间隔允许某些让本不满足约束 y i ( w T x i + b ) ≥ 1 , y_i(w^Tx_i+b)≥1, yi(wTxi+b)1为了方便表示,这里将 y i ( w T x i + b ) y_i(w^Tx_i+b) yi(wTxi+b)记作 z 。 z。 z当然,在最大间隔的同时,不满足此约束的样本应该尽量少。此外我们还希望引入的这个损失函数数学性质要好,那么可以常用的损失函数可以写成:

         \space\space\space\space\space\space\space\space         hinge损失: L ( z ) = m a x ( 0 , 1 − z ) L(z)=max(0,1-z) L(z)=max(0,1z)
         \space\space\space\space\space\space\space\space         指数损失: L ( z ) = e x p ( − z ) L(z)=exp(-z) L(z)=exp(z)
         \space\space\space\space\space\space\space\space         对率损失: L ( z ) = l o g ( 1 + e x p ( − z ) ) L(z)=log(1+exp(-z)) L(z)=log(1+exp(z))

如果采用hinge损失,那***原问题***就可以变成这种形式:

m i n   1 2 w T w + C ∑ i = 1 N m a x { 0 , 1 − y i ( w T x i + b ) } min\space \frac{1}{2}w^Tw+C\sum_{i=1}^Nmax\left\{ 0,1- y_i(w^Tx_i+b)\right\} min 21wTw+Ci=1Nmax{0,1yi(wTxi+b)}
s . t .    y i ( w T x i + b ) ≥ 1 − ξ i , i = 1 , 2 , . . . , N s.t.\space\space y_i(w^Tx_i+b)≥1-\xi_i,i=1,2,...,N s.t.  yi(wTxi+b)1ξi,i=1,2,...,N

引入: ξ i = 1 − y i ( w T x i + b ) , ξ i ≥ 0 \xi_i=1- y_i(w^Tx_i+b),\xi_i≥0 ξi=1yi(wTxi+b),ξi0

软间隔的最终形式:

m i n   1 2 w T w + C ∑ i = 1 N ξ i min\space \frac{1}{2}w^Tw+C\sum_{i=1}^N\xi_i min 21wTw+Ci=1Nξi
s . t .    y i ( w T x i + b ) ≥ 1 − ξ i , i = 1 , 2 , . . . , N , ξ i ≥ 0 s.t.\space\space y_i(w^Tx_i+b)≥1-\xi_i,i=1,2,...,N,\xi_i≥0 s.t.  yi(wTxi+b)1ξi,i=1,2,...,N,ξi0

软间隔的求解过程和硬间隔类似,这里就不再求解了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值