最优间隔分类器(optimal margin classifier

重新回到SVM的优化问题:

4. SVM分类器求解(2)

我们将约束条件改写为:

4. SVM分类器求解(2)

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

看下面的图:

4. SVM分类器求解(2)

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

4. SVM分类器求解(2)

注意到这里只有4. SVM分类器求解(2)没有4. SVM分类器求解(2)是因为原问题中没有等式约束,只有不等式约束。

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

4. SVM分类器求解(2)

首先求解4. SVM分类器求解(2)的最小值,对于固定的4. SVM分类器求解(2)4. SVM分类器求解(2)的最小值只与w和b有关。对w和b分别求偏导数。

4. SVM分类器求解(2)

并得到

4. SVM分类器求解(2)

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

代入后,化简过程如下:

4. SVM分类器求解(2)

最后得到

4. SVM分类器求解(2)

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

4. SVM分类器求解(2)

这里我们将向量内积4. SVM分类器求解(2)表示为4. SVM分类器求解(2)

此时的拉格朗日函数只包含了变量4. SVM分类器求解(2)。然而我们求出了4. SVM分类器求解(2)才能得到w和b。

接着是极大化的过程4. SVM分类器求解(2)

4. SVM分类器求解(2)

前面提到过对偶问题和原问题满足的几个条件,首先由于目标函数和线性约束都是凸函数,而且这里不存在等式约束h。存在w使得对于所有的i,4. SVM分类器求解(2)。因此,一定存在4. SVM分类器求解(2)使得4. SVM分类器求解(2)是原问题的解,4. SVM分类器求解(2)是对偶问题的解。在这里,求4. SVM分类器求解(2)就是求4. SVM分类器求解(2)了。

如果求出了4. SVM分类器求解(2),根据4. SVM分类器求解(2)即可求出w(也是4. SVM分类器求解(2),原问题的解)。然后

4. SVM分类器求解(2)

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

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

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

4. SVM分类器求解(2)

我们通篇考虑问题的出发点是4. SVM分类器求解(2),根据求解得到的4. SVM分类器求解(2),我们代入前式得到

4. SVM分类器求解(2)

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

相关文章: