SVM

What

SVMSupport Vector Machines——支持向量机,是一种分类器,属于监督学习的范畴。

Q: 给定训练样本 {(x1,y1),....,(xi,yi)},yi{1,+1} { ( x 1 , y 1 ) , . . . . , ( x i , y i ) } , y i ∈ { − 1 , + 1 } ,找到一个划分超平面,将不同类别样本分开。
SVM_第1张图片(图:wiki)

对于上述问题,任意二分线性分类器都可以分类。作为一个二分线性分类器,SVM与之不同的是其特殊的划分超平面:要求间隔(margin)最大。如图所示,也就是图中两条虚线之间的间隔最大,划分超平面处于间隔的中间。仔细观察可知,该间隔只与距离超平面最近的几个点有关,而这几个点就被称为Support Vector,这也就是SVM的名字来源。

SVM

这个超平面可以表示为

wTx+b=0 w T x + b = 0

则SVM分类器可表示为
hw,b(x)=g(wTx+b) h w , b ( x ) = g ( w T x + b )

如果 wTx+b0,g(wTx+b)=1 w T x + b ≥ 0 , 则 g ( w T x + b ) = 1 ,反之 g(wTx+b)=1 g ( w T x + b ) = − 1

函数间隔(functional margin)

对任意的样本 (xi,yi) ( x i , y i ) ,定义函数间隔为

γ^i=yi(wTxi+b) γ ^ i = y i ( w T x i + b )

显而易见的是,当分类正确时, yi y i wTxi+b w T x i + b 是同号的且距离超平面越远值越大,由于 y{1,1} y ∈ { 1 , − 1 } ,则 γ^i γ ^ i 的值为 |wTxi+b| | w T x i + b |
那么在真个训练样本上,我们定义函数间隔为所有训练样本中最小的一个:
γ^=mini=0,1,...nγ^i γ ^ = min i = 0 , 1 , . . . n γ ^ i

函数间隔可以表示分类是否正确且可以衡量分类的正确程度,但是,当我们同时缩放 x,b x , b 时并不会改变超平面,但是函数间隔的值会通样进行缩放。为了避免对求解的影响,接下来引入几何间隔。

几何间隔(geometric margin)

SVM_第2张图片
给任意一个样本A( xi,yi x i , y i ),则其到超平面的垂点B为 xiγiw||w|| x i − γ i w | | w | | ,代入超平面解出几何间隔 γ^i γ ^ i

wT(xiγiw||w||)+b=0 w T ( x i − γ i w | | w | | ) + b = 0

求解为:
γi=(w||w||)Txi+b||w|| γ i = ( w | | w | | ) T x i + b | | w | |

几何间隔定义为
γi=yi((w||w||)Txi+b||w||) γ i = y i ( ( w | | w | | ) T x i + b | | w | | )

特别的,当 ||w||=1 | | w | | = 1 时,几何间隔和函数间隔相等。
则全局几何间隔为
γ=mini=0,1,...nγi γ = min i = 0 , 1 , . . . n γ i

基本型

maxγs.t.yi(wTxi+b)γi=0,1,2,..n||w||=1 max γ s . t . y i ( w T x i + b ) ≥ γ i = 0 , 1 , 2 , . . n | | w | | = 1

由于约束中的 ||w||=1 | | w | | = 1 无法通过优化算法进行求解,所以需要去掉该项,转化为
maxγ^||w||s.t.yi(wTxi+b)γi=0,1,2,..n max γ ^ | | w | | s . t . y i ( w T x i + b ) ≥ γ i = 0 , 1 , 2 , . . n

为了约束w和b的变化,将 γ^ γ ^ 设为一个固定值,
γ^=1 γ ^ = 1

最终,SVM的基本型为
minγ,w,b12||w||2s.t.yi(wTxi+b)1,i=0,1,2,..n min γ , w , b 1 2 | | w | | 2 s . t . y i ( w T x i + b ) ≥ 1 , i = 0 , 1 , 2 , . . n

待完善

参考

Andrew Ng 在Stanford时的课堂讲义

你可能感兴趣的:(机器学习)