重温SVM

    支持向量机(Support Vector Machine .SVM)是一种二分类模型。基本思想是,在特征空间上通过分类间隔最大化得到一个线性分类器;这一点有别于线性感知器,感知器是使分类错误最小,结果是一个解区域,而SVM得到唯一最优解。

  1、线性可分SVM.

  当样本集线性可分时,可得到分离超平面为: w*.x+b=0, 决策函数为:f(x)=sign(w*.x+b);

 

  函数间隔与几何间隔:样本点(xi,yi)到超平面的距离为r1=yi*(w.xi+b),其中xi表示特征向量,yi取值{-1,+1}。注意当w和b成倍增加时,分类超平面没变,但是函数间隔成倍增加,所以通常采用规范化后的几何间隔:r2=r1/||w||。

       最大间隔分离超平面问题即转化为一下约束最优化问题:

       max.w,b r1/||w||; s.t. yi*(w.xi+b)>=r1;i=1,2,……N。

       若成比例变化w和b,r1也会相应变化,分离超平面不变;所以r1的值不影响约束条件,也不影响最优化结果。可令r1=1,问题转化为;

      max.w,b 1/||w||; s.t. yi*(w.xi+b)>=1;

即: min.w,b  (1/2)*||w||^2; yi*(w.xi+b)-1>=0;i=1,2,……N。是一个凸二次规划问题。

    支持向量的含义:训练集的样本中与分离超平面最近的样本实例为支持向量,这些点满足:yi*(w.xi+b)-1=0。在决定分离超平面时只有这些点起作用,支持向量到超平面距离为:1/||w||。正负支持向量所在之间超平面之间的距离为:2/||w||,称为间隔边界。

2、线性SVM

     当样本集不是线性可分时,但去除个别奇异点后样本集还是线性可分的,意味着某些样本点不能满足yi*(w.xi+b)>=1的约束条件。需要引入松弛变量si>0,使yi*(w.xi+b)>=1-si;同时,对每个松弛变量,都是对目标函数的一个惩罚,目标函数(1/2)*||w||^2就变为:(1/2)*||w||^2+C*SUM(si)1...N 。C>0为惩罚参数,一般由具体问题决定,C大时对误分类惩罚增大,C小时对误分类惩罚减小。

    即线性SVM问题转化为:

    min.w,b.si  (1/2)*||w||^2+C*SUM(si)1...N  ;目标函数一方面使分类间隔最大,另一方面使误分类个数尽量少。

     s.t. yi*(w.xi+b)>=1-si, si>0,i=1,2,……N

    训练结果同样可得到,分离超平面为: w*.x+b=0, 决策函数为:f(x)=sign(w*.x+b);

 

3、非线性SVM

     当输入空间的样本T={(x1,y1),(x2,y2),...(xN,yN)},无法用线性模型分开,但可以用一个超曲面分开时,称之为非线性可分问题。若想用线性方法解决此问题,就需要将原空间数据通过非线性变换映射到新的特征空间,使其在新空间里是线性可分的,就可以采用线性方法了。

     最常用的就是核方法,通常情况下要知道准确的映射是很难的,可以通过核技巧,在学习和预测中只定义核函数K(xj,xi),而不必显示的定义映射函数。通过K(xi,xj)就可以计算x和y在映射空间的内积,这样在线性方法中的<x,y>就可直接用K(xi,xj)替换。

    核函数的选取要满足一定的条件,通常所说的核函数都是正定核函数。K(xi,xj)是正定核函数的充要条件是:对任意{x1,x2,……},K(xi,xj)的Gram矩阵是正定的。现在常用的用多项式核函数,高斯核函数,字符串核函数。

 

 

 


      

 

 

 

 

 


 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章