机器学习之四:SVM简介

1、概念:
SVM(Support Vector Machine),称为支持向量机。支持向量机(SVM)是90年代中期发展起来的基于统计学习理论的一种机器学习方法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。SVM是一种有监督学习的分类算法。分类是机器学习和模式识别中的主要任务,在概率统计中又称之为判别分析。

2、函数间隔Functional margin与几何间隔Geometrical margin
一般而言,一个点距离超平面的远近可以表示为分类预测的确信或准确程度。

* 在超平面w*x b=0确定的情况下,|w*x b|能够相对的表示点x到距离超平面的远近,而w*x b的符号与类标记y的符号是否一致表示分类是否正确,所以,可以用量y*(w*x b)的正负性来判定或表示分类的正确性和确信度。

于此,我们便引出了定义样本到分类间隔距离的函数间隔functional margin的概念。

2.1、函数间隔Functional margin
我们定义函数间隔functional margin 为:
这里写图片描述
接着,我们定义超平面(w,b)关于训练数据集T的函数间隔为超平面(w,b)关于T中所有样本点(xi,yi)的函数间隔最小值,其中,x是特征,y是结果标签,i表示第i个样本,有:

然与此同时,问题就出来了。上述定义的函数间隔虽然可以表示分类预测的正确性和确信度,但在选择分类超平面时,只有函数间隔还远远不够,因为如果成比例的改变w和b,如将他们改变为2w和2b,虽然此时超平面没有改变,但函数间隔的值f(x)却变成了原来的4倍。
其实,我们可以对法向量w加些约束条件,使其表面上看起来规范化,如此,我们很快又将引出真正定义点到超平面的距离–几何间隔geometrical margin的概念(很快你将看到,几何间隔就是函数间隔除以个||w||,即yf(x) / ||w||)。
2.2、点到超平面的距离定义:几何间隔Geometrical margin

这里写图片描述

在给出几何间隔的定义之前,咱们首先来看下,如上图所示,对于一个点 x ,令其垂直投影到超平面上的对应的为 x0 ,由于 w 是垂直于超平面的一个向量,为样本x到分类间隔的距离,我们有
这里写图片描述
(||w||表示的是范数,关于范数的概念参见这里)
又由于 x0 是超平面上的点,满足 f(x0)=0 ,代入超平面的方程即可算出:
这里写图片描述
(有的书上会写成把||w|| 分开相除的形式,如本文参考文献及推荐阅读条目11,其中,||w||为w的二阶泛数)
不过这里的是带符号的,我们需要的只是它的绝对值,因此类似地,也乘上对应的类别 y即可,因此实际上我们定义 几何间隔geometrical margin 为(注:别忘了,上面的定义,=y(wTx b)=yf(x) ):

(代人相关式子可以得出:yi*(w/||w|| b/||w||))
正如本文评论下读者popol1991留言:函数间隔y*(wx b)=y*f(x)实际上就是|f(x)|,只是人为定义的一个间隔度量;而几何间隔|f(x)|/||w||才是直观上的点到超平面距离。
想想二维空间里的点到直线公式:假设一条直线的方程为ax +by+ c=0,点P的坐标是(x0,y0),则点到直线距离为|ax0+ by+0 +c|/sqrt(a^2+ b^2)。
那么如果用向量表示,设w=(a,b),f(x)=wx c,那么这个距离正是|f(p)|/||w||。

2.3、最大间隔分类器Maximum Margin Classifier的定义

于此,我们已经很明显的看出,函数间隔functional margin 和 几何间隔geometrical margin 相差一个的缩放因子。按照我们前面的分析,对一个数据点进行分类,当它的 margin 越大的时候,分类的 confidence 越大。对于一个包含 n 个点的数据集,我们可以很自然地定义它的 margin 为所有这 n个点的 margin 值中最小的那个。于是,为了使得分类的 confidence 高,我们希望所选择的超平面hyper plane 能够最大化这个 margin 值。
这里写图片描述
通过上节,我们已经知道:
1、functional margin 明显是不太适合用来最大化的一个量,因为在 hyper plane 固定以后,我们可以等比例地缩放 w 的长度和 b 的值,这样可以使得这里写图片描述的值任意大,亦即 functional margin可以在 hyper plane 保持不变的情况下被取得任意大,
2、而 geometrical margin 则没有这个问题,因为除上了这个分母,所以缩放 w 和 b 的时候的值是不会改变的,它只随着 hyper plane 的变动而变动,因此,这是更加合适的一个 margin 。
这样一来,我们的 maximum margin classifier 的目标函数可以定义为:
这里写图片描述

当然,还需要满足一些条件,根据 margin 的定义,我们有

这里写图片描述

其中 (等价于= /||w||,故有稍后的 =1 时, = 1 / ||w||),处于方便推导和优化的目的,我们可以令=1(对目标函数的优化没有影响,至于为什么,请见本文评论下第42楼回复) ,此时,上述的目标函数转化为(其中,s.t.,即subject to的意思,它导出的是约束条件):

通过求解这个问题,我们就可以找到一个 margin 最大的 classifier ,如下图所示,中间的红色线条是 Optimal Hyper Plane ,另外两条线到红线的距离都是等于的(便是上文所定义的geometrical margin,当令=1时,便为1/||w||,而我们上面得到的目标函数便是在相应的约束条件下,要最大化这个1/||w||值):

通过最大化 margin ,我们使得该分类器对数据进行分类时具有了最大的 confidence,从而设计决策最优分类超平面。

猜你喜欢

转载自blog.csdn.net/soaringlee_fighting/article/details/52639942