Support Vector Machines
Vapnik等学者从20世纪70年代开始研究统计学理论(SLT),到20世纪90年代之前都还处于初级研究和理论准备阶段,最近10年才得到重视,其本身也趋向完善,并产生了支持向量机(SVMs),这一将理论付诸实现的有效的机器学习方法。SVMs算法在模式识别、回归估计等方面都有良好的应用,例如,时间序列预测、人脸识别、手写数字识别、语音识别以及网页分类等问题。通过诸多学者的研究证明,SVMs算法在精度上已经超过传统的统计学习算法或与之不相上下。就推广而言,SVMs具有较好的推广性,在统计意义上较少的支持向量对应很好的推广能力。
支持向量机的基本思想基于1909年Mercer核展开定理,通过非线性映射Φ,把样本空间映射到一个高维乃至无穷维的特征空间(Hilbert空间),使在特征空间中可以应用线性学习机的方法解决样本空间中的高度非线性分类和回归问题。支持向量机是建立在统计学习理论的VC维(Vapnik Chervonenks Dimension)理论和结构风险最小原理(Structural Risk Minimization Inductive Principle)基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力(Generalization Ability),能较好地解决小样本、非线性、高维数和局部极小点等实际问题,已成为机器学习界的研究热点之一。
#######################
统计学习理论基本思想
#######################
1) 统计学习理论由贝尔实验室Vapnik于1992年首次提出。
2) 它是研究小样本下机器学习规律的理论。
3) 基于统计学习理论(SLT)。
3) 基本思想:折衷考虑经验风险和推广的置信界限,取得实际期望风险的最小化。
两大核心: VC维和结构风险最小化。
VC维的概念
1)描述函数复杂性的指标。
2)假如存在一个由h个样本的样本集能够被一个函数集中的函数按照所有可能的2h 种形式分为两类,则函数集能够把样本数为h的样本集打散(shattering)。函数集的vc维就是用这个函数集中的函数所能够打散的最大样本集数的样本数目。附图是3个样本被线性分类器打散的情况。
3)VC维是目前为止对函数集学习性能的最好描述指标。但遗憾的是目前尚没有通用的关于如何计算任意函数集的VC维的理论。目前大多数的软件只能给出VC维的结果范围。
结构风险最小化的思想
1) Vapnik证明,期望风险与经验风险之间的关系满足如下公式:
R(w)=Remp(w)+Φ(n/h)
其中n表示样本数,h为学习机器的VC维, Φ(n/h)称为置信区间。Φ(n/h)是随n/h增大而减小的函数。
从上面可以看出,学习机器的VC维h越大,Φ(n/h)越大经验风险和期望风险之间的偏差越大。这样即使在经验误差很小的情况下,其推广误差会越大。
2) 具体过程
将函数集构造为一个函数子集序列,使各个子集按照VC 维的大小(亦即φ的大小) 排列;在每个子集中寻找最小经验风险,在子集间折衷考虑经验风险和置信界限,取得实际风险的最小。
参数选择问题
支持向量机的一个优点就是它的参数很少,只包括核函数参数以及C的选择所以在使用支持向量机软件时,算法运算过程中需要人为设定这两类参数比如使用RBF核函数时,此时的SVM就有两个参数:RBF宽度gamma以及C.不同的参数选择得到的分类性能可能会显著不同。现在SVM的研究的一个重要方向就是构造更有效的核函数但是目前被认可的主要有三种:RBF核函数, 多项式核函数以及多层感知器核函数一般RBF核函数被应用的较多。
函数估计模型
没有什么比用一个概率模型描述或然的现实世界更加保险的了,没有什么比用一个函数来描述一个计算过程更加有效的了.因果永远是理性思维最拿手的.X与Y的发生分别服从各自的分布,但如果(y|x)的分布特殊到某种境界,人们就会有兴趣去想象Y与X的因果关系.我们简化现实模型,将两者的关系夸张到y是x的函数的程度.目的是确定这个函数,根据任意未知的x,给出尽量接近y的预测.候选函数的集合由我们事先给定,计算机需要做的是根据已知的一些(x,y)从函数集合中选择一个尽量使得预测性能最好.
风险最小化;经验风险最小化(ERM)
最保守的风险最小化评价一定是要在真实(x,y)的概率分布下对差异积分.而真实概率分布是难以获取的,因此根据类似大数定理的思维方式,能大胆地认为在样例足够多的时候,可以用经验风险最小化的评价方法.也就是在评价时以学习样例完全代替(x,y)的真实概率分布.
一致性;VC熵
问题是这两种评价的结果是否总是在样例无穷多的时候一致地逼近最优值呢.于是有了很多与一致性等价的命题.一个重要的概念是VC熵,反映了函数集在数目为l的样本上期望的多样性.它与l的比当l趋于无穷的时候如果收敛,等价于一个"一致双边收敛"的命题.
置信范围;VC维
但无情的现实是样例数往往难以达到让我们认为它已经接近无穷多的程度,特别是在比如TC中还会遇到无处不在的Zipf定律.于是我们不得不估计样例数与两种评价结果差距的关系,这种差距叫做置信范围.由此又得到很多不等式.再引入函数集的VC维h.h刻画的是函数集肆意划分样例的能力,它也直接影响了置信范围.这种肆意划分的能力越小,说明置信范围可能越小.
结构风险最小化(SRM)
于是在l一定的时候,我们需要折中的就是选用的函数集的大小.将原有函数集表示成一个嵌套序列,使得他们的VC维h单调.首先选择风险上限(经验风险+置信范围)最低时对应的h和函数集子集,在从中选择经验风险最小的函数,这样的优化策略称为结构风险最小化.
支持向量机(SVM);支持向量
支持向量机(SVM)号称可以在保证经验风险固定较小的前提下,尽量最小化置信范围.其方法是在一个特征空间(好像要是Hilbert空间)上,找出划分两个点集的最优超平面,即使得两个点集沿该平面间隙最大.刚好落在这个间隙边上的向量叫做支持向量.这样的最大化据说就可以和置信范围最小化等价.VC维在这样的过程中是如何发生微妙变化的我还不太清楚.在两个点集不能用超平面完全划分的时候也有与此相适应的算法.推导显示求这样一个超平面,等价于求一个约束二次规划问题.
核函数
还有一个令人庆幸的事实是如果只要求训练这样的超平面并对以后的数据做划分.SVM并不需要知道样例在特征空间中的向量表达或者甚至不需要知道特征空间的维数.它只需要知道任意两个样例映射到此空间后向量的内积.而这样的内积可以在样例(训练集或测试集中的)被映射成某个不可琢磨的特征空间中的向量之前被计算出来,完成这样计算的函数叫核函数.即使样例到特征空间的映射关系都不知道,只要该核函数满足伟大的Mercer定理,这样的特征空间就总能存在,SVM就能工作.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chl033/archive/2009/07/27/4384632.aspx