What
SVM
即Support Vector Machines
——支持向量机,是一种分类器,属于监督学习的范畴。
Q: 给定训练样本
{(x1,y1),....,(xi,yi)},yi∈{−1,+1}
,找到一个划分超平面,将不同类别样本分开。
(图:wiki)
对于上述问题,任意二分线性分类器都可以分类。作为一个二分线性分类器,SVM与之不同的是其特殊的划分超平面:要求间隔(margin)最大。如图所示,也就是图中两条虚线之间的间隔最大,划分超平面处于间隔的中间。仔细观察可知,该间隔只与距离超平面最近的几个点有关,而这几个点就被称为Support Vector,这也就是SVM的名字来源。
SVM
这个超平面可以表示为
wTx+b=0
则SVM分类器可表示为
hw,b(x)=g(wTx+b)
如果
wTx+b≥0,则g(wTx+b)=1
,反之
g(wTx+b)=−1
函数间隔(functional margin)
对任意的样本
(xi,yi)
,定义函数间隔为
γ^i=yi(wTxi+b)
显而易见的是,当分类正确时,
yi
和
wTxi+b
是同号的且距离超平面越远值越大,由于
y∈{1,−1}
,则
γ^i
的值为
|wTxi+b|
。
那么在真个训练样本上,我们定义函数间隔为所有训练样本中最小的一个:
γ^=mini=0,1,...nγ^i
函数间隔可以表示分类是否正确且可以衡量分类的正确程度,但是,当我们同时缩放
x,b
时并不会改变超平面,但是函数间隔的值会通样进行缩放。为了避免对求解的影响,接下来引入几何间隔。
几何间隔(geometric margin)
给任意一个样本A(
xi,yi
),则其到超平面的垂点B为
xi−γiw||w||
,代入超平面解出几何间隔
γ^i
wT(xi−γiw||w||)+b=0
求解为:
γi=(w||w||)Txi+b||w||
几何间隔定义为
γi=yi((w||w||)Txi+b||w||)
特别的,当
||w||=1
时,几何间隔和函数间隔相等。
则全局几何间隔为
γ=mini=0,1,...nγi
基本型
maxγs.t.yi(wTxi+b)≥γi=0,1,2,..n||w||=1
由于约束中的
||w||=1
无法通过优化算法进行求解,所以需要去掉该项,转化为
maxγ^||w||s.t.yi(wTxi+b)≥γi=0,1,2,..n
为了约束w和b的变化,将
γ^
设为一个固定值,
γ^=1
最终,SVM的基本型为
minγ,w,b12||w||2s.t.yi(wTxi+b)≥1,i=0,1,2,..n
待完善
参考
Andrew Ng 在Stanford时的课堂讲义