支持向量机(SVM)(二)----对偶

     ==============================================    

本文根据Andrew NG的课程来梳理一下svm的思路。如有错误,欢迎指正。

==============================================

    上小节,我们说到如何求该凸优化问题,高数中我们学过,可以利用拉格朗日乘子法,来求解有约束的问题。原问题为:


     我们把约束条件可以改写为:


    利用Lagrange Multiplier得:


    等式两边分别对w和b求偏导,得:

    

    

    

    

    把w的值带入L(w,b,a)中可得:


    因为:

    

    在此我们要转化为对偶问题,原本我们是求:

    

    现在我们转化为对偶问题,求解:


    但是一般地有:


    比如:

   证明:





   若将原问题转化为对偶问题,若要等号成立,就必须满足强对偶条件。当满足Slater's condition:

   如果原问题为凸优化问题,(即为凸函数,为仿射函数),那么存在一个可行解,满足:

,我们就说等式成立。

   但是slater's condition只是强对偶性质的充分条件,满足强对偶性并不一定会满足slater's condition。如果问题 是凸的,我们有一个条件是强对偶性质的充分必要条件,那就是KKT条件。(如果问题是非凸的,那么KKT条件也只是一个必要条件)。KKT条件的意义就是当该优化问题具有最优解时,必须要满足的条件。再次回到我们的问题,事实上KKT条件是满足我们的优化问题的。因此,有:


    至于这个优化问题该怎么解决呢?我们先放一放,留在最后讲解。假设我们已经求出满足此问题的最优值,根据:


    可以求得,我们再根据原始问题可以求得:


    这个式子是如何得来的呢?我们知道支持向量所在的平面与划分平面是平行的,而支持向量所在的超平面我们记为:,如下图:

支持向量机(SVM)(二)----对偶_第1张图片

    支持向量所在平面是平行的,怎么理解呢?对于负类来说,支持向量所对应的就是所有负类中:的最大值,对于上图,因为支持向量是所有负类中最右边的点,故而他们对应的是所有样本的maximun为-1,同理,对于正类,支持向量所对应的是所有正类中的最小值1,两个式子相加,即得

   我们可以由此得出划分平面:


   我们对线性可分的样本,可以进行输入分类。正如我们所说,我们现在所求和讲解的都是线性可分的,那么如果不是线性可分的怎么办呢?由此我们引入核函数,请看支持向量机(SVM)(三)----核函数及正则化



你可能感兴趣的:(Machine,Learning)