初识机器学习_07 线性可分SVM与硬间隔最大化

  线性可分SVM:

    定义:给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到分离超平面:w*.x+b*=0(计算出w*,b*的值)以及相应的分类决策函数 : f(x)=sign(w*.x+b*)  成为线性可分支持向量机。

    

    目标函数:最大化间隔(几何间隔)

        函数间隔与几何间隔:

    

    

          几何间隔:即点到面的距离。显然,函数间隔与几个间隔只相差||w||倍。

           于是有问题模型:

      

          由于函数间隔的值并不影响整个问题的求解,我们令函数间隔等于1,又问题max{1/||w||}与min{||w||^2/2}等价,于是问题改写为:

          由此,线性可分SVM问题就转化为一个凸二次规划问题

      凸二次规划问题的求解:

          ①:直接求解

          ②:为了简化求解过程,通过求解对偶问题求原始问题的最优解,同时,可以引入核函数,进而推广到非线性分类问题。

      学习的对偶算法:

          构建拉格朗日函数,引入拉格朗日乘子(ref:《统计学习方法》.李航(p225,附录C))于是有:

 

          由拉格朗日对偶性,原问题的对偶问题是极大极小问题:对a求极大,对w,b求极小。

          首先求L(w,b,a)的对w,b极小值,分别对w,b求偏导并令其等于零。有:

          带入拉格朗日函数,有:

          再对a求极大值:

                    max 

          可以转化为其对偶问题:

          于是可以解出a向量的值,又原问题满足KKT的条件,所有w*,b*可以由a表示出来:

          于是,线性可分SVM的解为:

                   分离超平面:

          最终我们可以写出,线性可分解SVM算法:

          

posted @ 2014-04-25 17:04  Gavinblog  阅读(317)  评论(0编辑  收藏  举报