超平面法向量及函数间隔最大化(SVM)

 

超平面法向量及函数间隔最大化(SVM)_第1张图片

 

    超平面法向量及函数间隔最大化(SVM)_第2张图片

 

二、函数间隔最大化

接着,理解了超平面的方程后,类似于前面所讲的分类方法,还需要找到两类样本点之间离得最近的那一部分点(称之为支持向量),并将问题同样转化为找到中间一个超平面将这部分样本点划分开,此时又涉及到这些样本点到超平面的距离(即支持向量到超平面的距离),关于样本点到超平面的距离,可以如下去通俗的理解:

超平面法向量及函数间隔最大化(SVM)_第3张图片

假设给定一个训练数据集T,x表示特征组成的向量,y表示分类结果,T={(x1,y1),(x2,y2),(x3,y3),...,(xN,yN)},其中,xi∈X=Rn,yi∈Y={+1,-1},i=1,2,3,...,N,xi表示第i个特征向量,yi数为该特征向量的类别标记,yi=-1表示负例,yi=+1表示正例,Rn中的n可以认为是n维空间,类似于直角坐标系里面的n=2,R表示该空间里面的向量取值是全体实数,并且假设该数据集线性可分。

可以如下定义:

定义:(线性可分支持向量机)给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题得到的分离超平面为

wTx+b=0

最大,相应的分类决策函数为:f(x)=sign(wTx+b),称为线性可分支持向量机。

超平面法向量及函数间隔最大化(SVM)_第4张图片

正如前面二维坐标系里面讲的,在直线上方的样本点带入超平面方程后使得wTx+b>0,在超平面下方的样本点带入后使得wTx+b<0,并且假设超平面已经得到了,则w值就是定值,即||w||也是定的,假设某个样本点为(x0,y0)根据点到平面距离公式可知|wTx0+b|/||w||在||w||定的情况下,|wTx0+b|越大,则点到超平面的距离就越大,所以|wTx0+b|可以近似代替样本点到超平面的距离,并且由于默认分类正确的话wTx0+b正好与y0同号,所以又可以用y0(wTx0+b)来表示分类正确,结合二者,y0(wTx0+b)可以同时表示分类正确和样本点到超平面的距离。

为了计算所有样本点到该超平面的距离并且找到最近的样本点,可以定义如下函数间隔:

函数间隔:对于给定的训练数据集T和超平面(w,b),可以定义超平面(w,b)与样本点(xi,yi)的函数间隔为:

ri=yi(wTxi+b)

为了找到最小的那几个样本点(即支持向量),于是可以求出所有样本点距离里面最小的那个:

rmin=min(ri)

不过上面函数间隔存在一个问题就是,假如w和b同时成比例变化,超平面方程没有变化,但是函数间隔会变成原来的同比例倍数,为了解决这个问题,又引入了几何间隔,即

ri=yi((wT/||w||)xi+b/||w||)

这样就保证了,如果w和b成比例变化超平面也会变化。

讲到这里,后面的步骤就和前面说的寻找最好分割直线一样了,如果可以找到一个超平面,使得最近的支持向量离此超平面的距离尽量大,类似于公路离最近的那几个住户尽量远就可以了,所以问题可以由下面的数学公式来代替,此处将wT换成了w,后面不再严格区分二者,默认是行向量即可:

超平面法向量及函数间隔最大化(SVM)_第5张图片

上面的公式已经把该问题完全转化为了一个数学问题,公式第一部分很容易看懂,第二部分和第三部分可以这样理解:

超平面法向量及函数间隔最大化(SVM)_第6张图片

因为函数间隔和几何间隔的关系为几何间隔r:r=r·/||w||,即将该距离带入第一部分就可以得到第二部分,而第三部分可以如下理解:

假设w=w0r,b=b0r,则推导以后r可以被消掉,即在优化过程中r的大小对优化并不产生影响,此时可以认为w0和b0就是需要求的,并且认为就是w和b,所以最终该问题就转化成了上面的数学最优化问题。

好了,从开头到现在已经把超平面和函数间隔这一部分讲完了,这一部分是SVM中开头入门的知识,但是较难去形式化理解,本文从一维开始讲到了多维超平面,后面剩下基本就是纯数学推理部分了,接下来的数学推理不需要很抽象的去理解了,后面的部分将在接下来的文章中继续讲解。

你可能感兴趣的