讲完了感知机,接下来开始进入我们的正题了。

SVM也是一个二类分类模型,它的定义是在特征空间的间隔最大的线性分类器。对于感知机,它的学习策略是误分类点到分离超平面的间距和最小;而SVM的学习策略是对于距离分离超平面的点,使他们到分离超平面的间隔最大化。也因此,区别于感知机,使得SVM的解是唯一的。

按照模型由简至繁,SVM可以分为:线性可分支持向量机,线性支持向量机和非线性支持向量机。当训练数据集线性可分时,通过硬间隔最大化,训练一个线性分类模型,也就是线性可分支持向量机;当训练数据集近似线性可分时,可以通过软间隔最大化训练一个分类模型,这就是线性支持向量机;当数据训练集为非线性的时候,利用软间隔最大化和核方法,可以训练一个非线性模型,这就是非线性支持向量机。

线性可分支持向量机

SVM从入门到精通(二)

图片来自《统计学习方法》·李航

间隔和间隔最大化

如图所示,对于上述的二类分类问题,SVM和感知机的目的都一样,找到一个分离超平面,平面方程为ωx+b=0,将数据分为两个类别1,+1 (⚪表示正类,×表示负类).但区别在于,感知机是利用误分类点到分离超平面的距离和最小求这个超平面的两个参数,并且所求得得超平面是无穷多解的;而支持向量机利用间隔最大化来求这两个参数,所得的解是唯一解。

于是我们引出了间隔的概念。
再看上图,有A,B,C三个点,可以看出,A距离分离超平面的间隔大,那么我们可以有很高的置信度相信A点为正类;C距离分离超平面很近,我们就没那么确信它是正类,因为我的分离超平面可能稍微一歪,就把它归到负类去了;B点位于A和C的中间位置,那么分类的确信程度也在二者之间。因此,间隔的大小影响了分类的可信程度,同时,距离分离超平面最近的点到超平面的距离,决定了分类的好坏。我们希望,距离分离超平面最近的点的间距也能够足够大,那么我们的分类的可信度也就大大增加了。这就是间隔最大化的比较粗糙的理解。

那么,样本点到分离超平面的间隔如何度量呢?
对于样本点(xi,yi),yi1,+1,分离超平面的方程为:

ωx+b=0
如果分类正确,那么f(xi)=ωxi+b的符号应该和yi符号相同,yi(ωx+b)为正,并且正的程度越大,说明分类的置信度越高。因此,可以用二者的乘积来代表样本点到分类超平面的距离。因此样本点(xi,yi)到分类超平面的距离可以表示为:
γ^i=yi(ωxi+b)
上式也叫做样本点到分离超平面的函数间隔。我们的目标是找到一个分离超平面,使得所有样本点中距离它最近的点并让它最大化,对于最近距离,我们记为:γ=mini=1,,Nγi^

但是有一个问题,当我们成倍的改变ω,b的值的时候,超平面没有变,样本点到分离超平面的实际距离并不会改变,但是函数间隔却会成倍数的增加。因此,我们应该做一些规范化的操作。比如令ω=1,使得间隔是确定的.由此,我们得到了另一个间隔的表示方法几何间隔
SVM从入门到精通(二)

图片来自《统计学习方法》

样本点(xi,yi)的几何间隔的定义为:γi=yi(ωωx+bω).所有样本中,几何间隔最小值记为:γ=mini=1,,Nγi.
根据几何间隔和函数间隔的定义,二者具有如下关系:

γ=γ^ω
ω=1时,函数间隔和几何间隔相等。当ωb成倍数的改变时(超平面并没有变),函数间隔会成倍改变,但是几何间隔不变。

有了几何间隔的概念,结合我们最开始的目的——求分离超平面使离使得间隔最近的点的间隔都最大化,于是得到了对于线性可分向量机的学习策略,硬间隔最大化

硬间隔最大化的解释:对训练数据集找到几何间隔最大的分离超平面意味着以充分大的确信度对训练数据进行分类。不仅将正负实例分开,也要将最难分的点(离超平面最近的点)以足够大的确信度分开。这样得到的超平面具有最好的分类能力,而且对新数据也有较好的预测能力。——《统计学习方法》

接下来,就要求这个分离超平面了。
上述问题可以转化成如下的约束最优化问题:

maxω,bγ
s.t.yi(ωωxi+bω)γ,i=1,,N
考虑几何间隔和函数间隔的关系,上式又可以改写为:
maxω,bγ^ω
s.t.yi(ωxi+b)γ^
在分离超平面不变的情况下,函数间隔可以是任意值的。所以,假设ω,b同时扩大λ倍,使得函数间隔的值为1,另外,最大化1ω又等价于最小化12ω,因此,上述问题就变成了它的等价最优化问题
minω,b12ω
s.t.yi(ωxi+b)10
求解这个约束最优化问题,得到ωb,我们就得到了这个分离超平面。
以上就是间隔最大化的过程。
为了和后面要讲到的对于近似线性可分的数据的线性支持向量机的软间隔最大化方法相区别,这个又被称作硬间隔最大化

支持向量

SVM从入门到精通(二)
根据前面的对间隔最大化的解释,我们可以知道,决定算法分类能力好坏的并不是所有的训练数据,而是那些个少数的距离分离超平面最近的点,这些点就是支持向量。这些点构成了位于分离超平面两侧并与其平行的两个平面,如上图所示。其中,在正类侧的平面方程为ωx+b1=0,在负类侧的平面方程为ωx+b+1=0.分别用H1,H2表示,他们也被叫做间隔边界
H1,H2方程是根据函数间隔算的,也就是前面推导间隔最大化过程中,我们将函数间隔设为1.根据函数间隔和几何间隔的关系γ=γ^ω,并且函数间隔为1,所以H1,H2距离分离超平面的距离分别为1ω,那么H1,H2两个平面的距离就是2ω,如上图所示,被称为间隔
分离超平面的确定只由这些个少量的支持向量确定,对于位于间隔边界以外的样本点,移动他们是不对分离超平面的确定起作用的。但是一旦移动位于间隔边界上的点,我们的分离超平面就改变了。因此,由于支持向量的重要作用,这个分类方法被称为支持向量机,因此,我们说支持向量机是由少量的重要的样本点确定的。


参考文献:

《统计学习方法》李航

相关文章: