SVM总结

SVM简介:

  • 一、SVM定义:二分类模型,特征空间上间距最大的线性分类器;目标是间距最大化,可转化为凸二次优化问题。
  • 二、给定一些数据点,可分为两类,SVM目标找到一个超平面线性划分这两个类别,超平面可方程表示为: 

                           w^{T}x+b=0

  • 三、分类决策函数

                        f(x)=sign(w^{T}x+b)

 

  • 四、函数间距与几何间距(通过wTx+b与y的预测是否一致来表示是否分正确)

          4.1函数间距:

              

       (函数间距表示存在问题:成比例改变w,b,函数间距也会成比例变化,为此,引出了几何间距对w进行约束)

         4.2几何间距:

                         

                                 

 

          几何间隔就是函数间隔除以||w||

          4.3几何间距较函数间距更加适合的原因:

          对一个数据点进行分类,当超平面离数据点的“间隔”越大,分类的确信度(confidence)也越大。所以,为了使得分类的确信度尽量高,需要让所选择的超平面能够最大化这个“间隔”值。函数间隔不适合用来最大化间隔值,因为在超平面固定以后,可以等比例地缩放w的长度和b的值,这样可以使得的值任意大,亦即函数间隔可以在超平面保持不变的情况下被取得任意大。但几何间隔因为除上||w||了,使得在缩放wb的时候几何间隔的值是不会改变的,它只随着超平面的变动而变动,因此,这是更加合适的一个间隔。

  • 五、优化目标

       如下图所示,中间的实线w^{T}x+b=0是要求解的最优超平面,其到两条虚线(间隔边界)的距离相等,这个距离便是几何间隔,两条虚线之间的距离等于2,而虚线上的点则是支持向量。由于这些支持向量刚好在边界上,所以它们满足y(w^{T}x+b)=1,而对于所有不是支持向量的点,则显然有y(w^{T}x+b)>1。 

     在分类正确的情况下,间距最大化

          

    考虑到函数间距与几何间距的关系,上式等价于

             

      为了方便推导和优化,令=1,上式表示为

            

这是一个典型的凸二次优化问题,可以通过与原问题等价的对偶问题来求解该问题。凸优化问题描述如下:

                   

对偶问题往往更容易求解;可以自然的引入核函数,进而推广到非线性分类问题。

 

  • 六、线性svm算法描述

                         

  • 七、转化为对偶问题求解SVM

     7.1定义拉格朗日函数

                        

     7.2 KTT条件(统计学习方法附录C)

                       

        将原始问题转化为极大极小问题

                         

                      

                      

                           

       7.3 SVM求解

                             

                          

可转化为:

                   

                  

7.4线性可分对偶算法描述

                   

                  

八、软间距svm

               

             

               

             

       九、核函数

       9.1引入核函数的原因

       在线性不可分的情况下,支持向量机首先在低维空间中完成计算,然后通过核函数将输入空间映射到高维特征空间,最终在高维特征空间中构造出最优分离超平面,从而把平面上本身不好分的非线性数据分开。

       9.2核函数的算法

             

 

      9.3常见的核函数

      定义:f(x1,x2)=<x1,x2>=\phi (x1) \phi (x1)(x1)\phi (x1) \phi (x1)(x2),\phi (x1) \phi (x1)(x1)表示原来的样本扩维后的坐标。

      线性核函数:

      K<x1,x2>=<x1,x2>

    多项式核函数:     

     K<x1,x2>=(a*<x1,x2>+c)^{d}

    高斯核:

    K(x1,x2)=exp(-(x1-x2)^{2}/2\gamma ^{2})

   拉普拉斯核函数:

    K(x1,x2)=exp(-(x1-x2)/2\gamma )

   sigmod核函数:

   K(x1,x2)=tanh(a<x1,x2>+c)

十、tensorflow代码实现svm见git

   https://github.com/frostjsy/my_study/blob/master/ml/svm/svm.py

参考:1、李航《统计学习方法》

2、https://blog.csdn.net/alwaystry/article/details/60957096

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值