支持向量机

       SVM(support vector machines)是一种分类模型,它的目的是寻找一个超平面(hyper plane)来对样本进行分割,达到分类的目的。所谓超平面,在二维坐标下就是一条直线,在三维坐标下就是一个平面。在不考虑空间维度的情况下,这样的线性函数统称超平面。
  
        上文提到分割,其原则是在保证数据正确划分的情况下,将间隔(margin)最大化。
 (1)什么是间隔?间隔是指两个异类支持向量(即超平面左右两侧的向量)到超平面的距离之和。
 (2)为什么要将间隔最大?如下图所示,在间隔很小的情况下,直线稍微转动一个很小的角度,就会导致分类结果改变,原来属于A的,变成属于B。

 


 (3)如何实现间隔最大?提到最大,便涉及到优化问题,我们可以将其转化为一个凸二次规划问题求解。

         在样本空间中,我们将超平面用线性方程 \dpi{120} w^{}T x + b=0 来表示。w=(w_{}1;w_{2};.....;w_{d})为法向量,决定超平面的方向;b为位移项,决定超平面与原点之间的距离。样本空间中任意点x到超平面(w,b)的距离可写为:\gamma = \frac{\left | w^{T}x+b\right | }{\left \| w \right \|}\, \, \, (1)

以二分类为例,如图所示,分成上下两部分,数据点用x来表示,类别用y表示,为了方便计算,假设属于上部分为y_{i}=1,属于下部分为y_{i}=-1,则有  $ \dpi{} \begin{cases}w^Tx_{+}+b=1\\w^Tx_{-}+b=-1\end{cases}$

 

 

代入(1)式中得两个异类支持向量到超平面的距离之和为: \gamma =\frac{2}{\left \| w \right \|}。要使该间隔最大,即\left \| w \right \|最小,此处为了求导方便,用  \frac{1}{2}\left \| w \right \|^{^{2}}来表示,即   \underset{w,b}{min} \frac{1}{2}\left \| w \right \|^{2} \ (2)\\ s.t.\ y_{i}(w^Tx_{i}+b)\geq 1\, \, ,i=1,2,3....          

                                           

 对(2)式使用拉格朗日乘子法可得其“对偶问题(dual problem)”,该问题的拉格朗日函数可写为:

                                                         L(w,b,\alpha )=\frac{1}{2}\left \| w\right \|^{2}+ \sum_{i=1}^{m}\alpha _{i}(1-y_{_{i}}(w^{T}x_{i}+b))\, \, \, \, \, (3)
 对w和b分别求偏导,有:\\ \begin{cases}\frac{\partial L}{\partial w}= w-\sum_{i=1}^{m}\alpha _{i} y_{i}x_{i}\\ \frac{\partial L }{\partial b} =-\sum_{i=1}^{m}\alpha _{i}y_{i}\end{cases}

                        

令这两个公式都为0,则有:\begin{cases} w= \sum_{i=1}^{m}\alpha _{i}y_{i}x_{i}\\0=\sum _{i=0}^{m}\alpha _{i}y_{i}0\end{cases}

                                                

带入(3)式中,化简可得(2)式的对偶问题:\underset{\alpha }{max}\, \, \sum_{i=1}^{m}\alpha _{i}-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha _{i}\alpha _{j}y_{i}y_{j}x_{i}^{T}x_{j}

                                                                  s.t. \, \, \sum_{i=1}^{m}\alpha _{i}y_{i}=0

                                                                            \alpha _{i}\geq 0\, \, \, ;i=1,2,3......

解出\alpha后,求出w和b即可得到模型:

                                                        f(x)=w^{}T x+ b =\sum_{i=1}^{m}\alpha _{i}y_{i}x_{i}^{T}x+b

                                                

 

                                                                                        

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值