上一节我们讲述了间隔公式是如何得到的,这一节讲述要得到最大间隔时的分割超平面所要的条件是什么。
在上图中我们可以看到间隔为MarginB/2,但是我们很容易发现黑线还可以向上移动从而得到更大的间隔,当移动到是最上面红线与第一个Men数据点相交时便得到最大间隔了,如下图:
下面我们就根据这个思路求出得到最大间隔时所要满足的条件。
如上图,我们设分割超平面为g:W•X+b=0,以它为对称轴的两条线为h:W•X+b=1;f:W•X+b=-1
首先必须满足在h与f线之间没有任何数据,然后便是支持向量正好在这两条线上。即:
对于蓝色类都满足W•X+b≥1,且至少有一个点瞒住W•X+b=1;
对于红色类都满足W•X+b≤-1,且至少有一个点瞒住W•X+B=-1;
我们设蓝色类与红色类的标签分别为(1,-1),那么我们把不等式与各自对应的标签相乘便可以得到一个综合的公式,即:y_i (W•X_i+b)≥1。
条件我们找到了,下面就是要推导出h与f线之间间隔的公式。
设h与f间隔为m
因为K向量垂直于h与f,所以Z_1=Z_0+K (1式)
因为Z_1在h上,所以W•Z_1+b=1 (2式)
将1式带入2式得W(Z_0+K)+b=1 (3式)
其中K= (m•W)/(||W||) (4式)
将4式带入3式得W(Z_0+(m•W)/(||W||))+b=1 (5式)
化简5式得W•Z_0+b=1-m*||W|| (6式)
因为Z_0在f上,所以满足W•Z_0+b=-1 (7式)
将7式带入6式得:-1=1-m*||W|| (8式)
所以(8式)化简得到距离m=2/(||W||),可以看出||W||越小m越大
综上我们可以看出得到最优分割超平面便是得到在满足y_i (W•X_i+b)≥1时,||W||的最小值。
本节内容便到此结束,下节内容我们拓展一下拉格朗日乘子与KKT的知识,因为我们最后要用到KKT对上式进行变形得到书上所说的优化目标函数:
,以及约束条件:
原文发布时间为:2017-08-17
本文作者:exploit
本文来自云栖社区合作伙伴“Python中文社区”,了解相关信息可以关注“Python中文社区”微信公众号