SVM硬间隔_机器学习

前言

      支持向量机(support vector machine, SVM)是一种二分类模型。是定义在特征空间上的间隔最大化线性分类器,同时还包括核技巧,能解决非线性问题 。

      求解过程 主要通过SMO (序列最小最优算法)

 

目录:

  1.        线性可分支持向量机
  2.        函数间隔几何间隔
  3.        间隔最大化
  4.        对偶算法
  5.        拉格朗日对偶性

 

一  线性可分支持向量机

       给定线性可分训练数据集,通过间隔最大化,得到的分离超平面为

       w^Tx+b=0

      以及对应的决策函数:

       f(x)=sign(w^Tx+b)

     

 

二   函数间隔和几何间隔

      2.1 函数间隔

           r_i^*= y_i(w^Tx+b), y_i \in [-1,1]

          

           超平面(w,b)关于训练数据集的函数间隔为超平面关于训练集中所有样本点函数间隔最小值

           r^*= min_{i=1,2,...,N}r_i

           如果w,b成比例增加,r也会成比例增加,所以引入几何间隔加以约束

      2.2  几何间隔

           r_i=\frac{y_i(w^Tx_i+b)}{||w||}

 

            b也可以看作w_0, 当w,b成比例增加,其范数也成比例增加

             所以几何间隔不变。

 

三   间隔最大化

      3.1 间隔最大化

             一个几何间隔最大化的分离超平面,可表示为下面的约束问题:

             max_{w,b} r

            s.t: y_i(\frac{w^Tx_i+b)}{||w||}) \geqslant r

 

          转化为函数间隔问题:

           max_{w,b}\frac{r^*}{||w||}

           s.t : y_i(w^Tx_i+b) \geq r^*

 

       取 r^*=1带入,得到线性可分支持向量机最优化问题:

        min_{w,b} \frac{1}{2}||w||^2

        s.t : y_i(w^Tx_i+b) \geq 1 ,i=1,2,...m

 

  3.3   凸优化问题

          min_w f(w)

          s.t : \left\{\begin{matrix} g_i(w) \leq 0, i =1,2...,k\\ h_i(w)=0 ,i =1,2,...l \end{matrix}\right.

 

        f(w) ,g(w) 都是凸函数,h(w) 是仿射函数。其中

        仿射函数满足: h(x) =ax+b

     

       

      3.2 间隔边界

           对正例点,支持向量在超平面

           H_1: w^Tx+b=1

          对负例点, 支持向量在超平面

          H_2: w^T x+b=- 1

 

         H_1,H_2 之间的几何间隔为

        H_1+H_2=\frac{2}{||w||}

       支持向量个数很少,所以支持向量由很重要的点决定

      

四  对偶算法

       

       m个样本,根据约束条件, 定义拉格朗日函数(\alpha_i \geq 0)

         L=\frac{1}{2}w^Tw-\sum_{i=1}^{m}\alpha_iy_i(w^Tx_i+b)+\sum_{i=1}^{m}\alpha_i 

        对w,b 分别求偏导数,则

     \triangledown _wL(w,b,\alpha)=w-\sum_{i=1}^{m} \alpha_iy_i x_i=0  

    \triangledown_b L(w,b,\alpha)=-\sum_{i=1}^{m}\alpha_iy_i=0

重新带入上式

     L(w,b,\alpha)=\frac{1}{2}\sum\sum\alpha_i\alpha_jy_iy_jx_i^Tx_j-\sum\alpha_iy_i((\sum\alpha_jy_jx_j)x_i+b)+\sum \alpha_i

     =-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_j(x_i^Tx_j)+\sum_{i=1}^{N}\alpha_i

 

转化为对偶最优化问题:

   min_{\alpha} \frac{1}{2}\sum\sum\alpha_i\alpha_j y_iy_j(x_i^Tx_j)-\sum \alpha_i

    s.t : \left\{\begin{matrix} \sum_{i=1}^{m}\alpha_iy_i =0\\ \alpha_i \geq 0, i =1,2,...m \end{matrix}\right.

根据KKT 条件:

   \alpha_i \geq 0

  y_i(w^Tx_i+b)-1 \geq 0, i =1,2..,m

  \alpha_i(y_i(w^Tx_i+b)-1)=0

  \triangledown_b L(w,b,\alpha)=-\sum_{i=1}^{m}\alpha_iy_i=0

 \triangledown _wL(w,b,\alpha)=w-\sum_{i=1}^{m} \alpha_iy_i x_i=0 

 

  求解b:

   当\alpha_i >0 时, 因为\alpha_i(y_i(w^Tx_i+b)-1)=0

   y_i(w^Tx_i+b)=1

  带入w=\sum_{j=1}^{m}\alpha_j y_j x_j

    b= y_i-w^Tx_i

      =y_i-\sum_{j=1}^{m}\alpha_jy_j(x_j^Tx_i)

 

     由此分离超平面的参数都可以求出来了。

 

五 拉格朗日对偶性

      在约束最优化问题中,常常利用拉格朗日对偶性,将原始问题转换为对偶问题。

通过求解对偶问题,得到原始问题的解。

   

   5.1 原始问题

       min_{x \in R^n} f(x)       C.1

     原始约束条件:

     s.t \left\{\begin{matrix} c_i(x) \leq 0,i =1,2...,k\\ h_j(x)=0,j=1,2,...l \end{matrix}\right.             ........... C.2,   C.3

 

    引入拉格朗日函数

    L(x,\alpha,\beta )=f(x)+\sum \alpha_i c_I(x)+\sum \beta_jh_j(x)  .................C.4

  \alpha_i,\beta_j 是拉格朗日乘子,\alpha_i \geq 0, 考虑x的函数

 \theta_p(x)=max_{\alpha,\beta,\alpha_i \geq 0}L(x,\alpha, \beta) ....................... C.5

下标P: 表示原始问题

 

    假设若某个x,违反原始的约束条件(C.2, C.3)   C_i(x)>0 or h_j(x) \neq 0

  则\theta_p(x) = +\varpi  C.6

  如果满足\theta_p = f(x)

   \theta_p(x)=\left\{\begin{matrix} f(x) )\\ +\infty \end{matrix}\right.   不满足原始越苏条件   ............................C.7

 

    所以考虑极小化问题

     min_x \theta_p(x)= min_{x} max_{\alpha,\beta, \alpha_i \geq 0}L(x,\alpha, \beta)

     定义原始问题最优值

     p= min_{x} \theta_p(x)

 

   5.2 对偶问题

         \theta_D(\alpha,\beta)=min_x L(x, \alpha, \beta) ...................C.10

       再考虑极大化问题

         max \theta_D(\alpha, \beta) = max_{\alpha, \beta}min_{x} L(x,\alpha,\beta)   C.11    

     可以将广义拉格朗日函数的极大值极小值问题表示为约束最优化问题:

        max_{\alpha ,\beta} \theta_D(\alpha, \beta)= max_{\alpha,\beta}min_{x}L(x,\alpha, \beta)  ...............C1.2

         s.t: \alpha_i \geq 0,i=1,2,..k .............C1.3

 

      定义对偶问题最优值

    d = max_{\alpha,\beta,\alpha_i \geq 0}\theta_D(\alpha, \beta)

 

     5.3 原始问题和对偶问题关系

           定理C.1  若原始问题和对偶问题都有最优值,则

           d = max_{\alpha,\beta} min_{x}L(x,\alpha,\beta) \leqslant min_{x}max_{\alpha, \beta}L(x,\alpha, \beta)=P

 

           证明:

            \theta_D(\alpha,\beta)=min_{x}L(x,\alpha,\beta)\leq L(x,\alpha, \beta) =\theta_p(x)

          由于原始问题和对偶问题都有最优解,所以

            max\theta_D(\alpha,\beta) \leq min_{x} \theta_p(x)

     5.4 KKT 条件(karush-kuhn-Tucker)

         \bigtriangledown_xL(x,\alpha,\beta)=0

        \alpha_ic_i(x)=0

       c_i(x) \leq 0

      \alpha_i \geq 0

      h_j(x)=0

 

 参考文档:

    《统计学习方法》

   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值