首页 > 代码库 > 支持向量机(SVM)(三)-- 最优间隔分类器(optimal margin classifier)

支持向量机(SVM)(三)-- 最优间隔分类器(optimal margin classifier)

在之前为了寻找最有分类器,我们提出了如下优化问题:

clip_image057[6]

在这里我们可以把约束条件改写成如下:

clip_image058[6]

首先我们看下面的图示:

clip_image067[6]

很显然我们可以看出实线是最大间隔超平面,假设×号的是正例,圆圈的是负例。在虚线上的点和在实线上面的两个一共这三个点称作支持向量。现在我们结合KKT条件分析下这个图。

clip_image048[6]

我们从式子和式子可以看出如果那么

这个也就说明时,w处于可行域的边界上,这时才是起作用的约束。

 

1、那我们现在可以构造拉格朗日函数如下:

clip_image068[6]

注意到这里只有clip_image010[54]没有clip_image012[16]是因为原问题中没有等式约束,只有不等式约束。

2、接下来我们对w和b分别求偏导数。

    clip_image071[6]

    clip_image072[6]

    并得到

    clip_image073[6]

3、将上式带回到拉格朗日函数中得到:

clip_image074[6]

 

由于clip_image072[6],因此简化为

    clip_image075[6]

 

4、现在我们得到了关于w和b的可以最小化的等式,我们在联合clip_image010[57]这个参数,当然他的条件还是clip_image010[57]>=0,现在我们可以得到如下的二元优化等式了:

clip_image078[6]

5、现在你还必须知道我们之前讲解的条件一是,二是KKT条件:

clip_image037[6]

 

很显然存在w使得对于所有的i,clip_image040[11]。因此,一定存在clip_image080[6]使得clip_image044[15]是原问题的解,clip_image082[10]是对偶问题的解。

    如果求出了clip_image010[59](也就是clip_image082[10]),根据

clip_image073[6]

即可求出w(也是clip_image044[16],原问题的解)。然后

    clip_image084[6]

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

 

6、现在我们在看另外一个问题:

 

由于clip_image073[6]

所以clip_image089[6]

这里我们将向量内积clip_image076[6]表示为clip_image077[6]

现在可以看出我要计算等式的话就只需要计算向量的内积就好了,同时要是clip_image010[61] 在支持向量上面的话,那么clip_image066[16],这样就更简单了,因此很多的值都是0。