4. SVM分类器求解(2)

最优间隔分类器(optimal margin classifier

重新回到SVM的优化问题:

clip_image00252

我们将约束条件改写为:

clip_image00432

从KKT条件得知只有函数间隔是1(离超平面最近的点)的线性约束式前面的系数clip_image00632,也就是说这些约束式clip_image00852,对于其他的不在线上的点(clip_image01032),极值不会在他们所在的范围内取得,此时前面的系数clip_image01232。注意每一个约束式实际就是一个训练样本。

看下面的图:

clip_image0143

实线是最大间隔超平面,假设×号的是正例,圆圈的是负例。在虚线上的点就是函数间隔是1的点,那么他们前面的系数clip_image00642,其他点都是clip_image012421。这三个点称作支持向量。构造拉格朗日函数如下:

clip_image01612

注意到这里只有clip_image018121没有clip_image02012是因为原问题中没有等式约束,只有不等式约束。

下面我们按照对偶问题的求解步骤来一步步进行,

clip_image02212

首先求解clip_image02412的最小值,对于固定的clip_image01822clip_image02422的最小值只与w和b有关。对w和b分别求偏导数。

clip_image0273

并得到

clip_image0297

将上式带回到拉格朗日函数中得到,此时得到的是该函数的最小值(目标函数是凸函数)

代入后,化简过程如下:

clip_image0313

最后得到

clip_image0333

由于最后一项是0,因此简化为

clip_image0353

这里我们将向量内积clip_image0373表示为clip_image0393

此时的拉格朗日函数只包含了变量clip_image01832。然而我们求出了clip_image01842才能得到w和b。

接着是极大化的过程clip_image02222

clip_image0423

前面提到过对偶问题和原问题满足的几个条件,首先由于目标函数和线性约束都是凸函数,而且这里不存在等式约束h。存在w使得对于所有的i,clip_image01042。因此,一定存在clip_image0453使得clip_image0475是原问题的解,clip_image0495是对偶问题的解。在这里,求clip_image01852就是求clip_image04912了。

如果求出了clip_image018621,根据clip_image02912即可求出w(也是clip_image04712,原问题的解)。然后

clip_image0533

即可求出b。即离超平面最近的正的函数间隔要等于离超平面最近的负的函数间隔。

关于上面的对偶问题如何求解,可参见SMO算法。

这里考虑另外一个问题,由于前面求解中得到

clip_image02922

我们通篇考虑问题的出发点是clip_image0553,根据求解得到的clip_image01872,我们代入前式得到

clip_image0573

也就是说,以前新来的要分类的样本首先根据w和b做一次线性运算,然后看求的结果是大于0还是小于0,来判断正例还是负例。现在有了clip_image01882,我们不需要求出w,只需将新来的样本和训练数据中的所有样本做内积和即可。那有人会说,与前面所有的样本都做运算是不是太耗时了?其实不然,我们从KKT条件中得到,只有支持向量的clip_image0593,其他情况clip_image0613。因此,我们只需求新来的样本和支持向量的内积,然后运算即可。这种写法为下面要提到的核函数(kernel)做了很好的铺垫。

原文地址:https://www.cnblogs.com/houkai/p/3392174.html