基本概念
线性可分支持向量机是最基本的形式,对应于两类数据能够被完全分离的的情况。它学习的目标在于在特征空间中找到一个分离超平面,能够将实例分到不同的类别里。分离超平面对应于方程ωx+b=0。
在另外一篇博客里介绍了感知机概念,感知机也是寻找一个超平面,能够让实例正确分类。
两者不同之处就在于,感知机所要找的超平面有无数多个,而支持向量机是要找间隔最大的那个,它是唯一的。那么,什么是间隔最大?首先来看看间隔的概念,分为函数间隔与几何间隔。
函数间隔
超平面的方程为ωx+b=0。设一个点为X1,那么|ωX1+b|这个值的大小就相对的表示了X1距离超平面的远近,值越大,这个点就离超平面越远,也就是被分类正确的确信度越高。
当我们的分类标签y∈{+1,-1}时,设ωx+b>0 点的标签为+1,ωx+b<0的标签为-1。
那么,就可以用 y(ωx+b) 这样来表示每个点被分类的正确性及确信度(因为不管是超平面哪一侧的点,带进去都是正值)。
总结一下,函数间隔就是可以用来表示每个点的确信度大小的。离超平面越远,则函数间隔越大。用公式可以表示为:
几何间隔
函数间隔有个缺点,就是当ω与b成倍改变时,超平面并没有变,但是函数间隔却也会跟着变。比如变为2ω与2b,那么函数间隔也会变为2倍。所以,我们引出了几何间隔的概念。
几何间隔是对超平面法向量ω进行了规范化,同时,对b也做同样的伸缩处理。这样,超平面不会变,间隔大小也被确定下来了。用公式表示如下:
事实上,如果还记得以前学的点到直线的距离公式,那么就明白,以上公式其实就是点到平面的距离公式,只不过分子上应该加的绝对值变成了用实例点标签乘积来保证它一定是个正值。
以上我们定义的是关于某个实例点的几何间隔。那么,关于训练集T的几何间隔为所有点的几个间隔的最小值,即:
总结一下可以看到,当ω与b成倍改变时,函数间隔会随着改变,几何间隔却是个固定不变的值(参照几何间隔公式,因为分母里面ω的二范数也会同时扩大那么多倍,就抵消了分子的倍数)。
间隔最大化
根据对数据集T的几何间隔的定义,我们关心的其实就是间隔的下限。也就是说,我们关心的其