支持向量机理解和总结

来源:互联网 发布:微信骰子竞猜游戏源码 编辑:程序博客网 时间:2024/06/02 18:45

 1 SVM

1.1   SVM的正确理解

 

SVM的基本原理普遍表述:SVM通过非线性变换把原空间映射到高维空间,然后在这个高维空间构造线性分类器(在高维空间数据点更容易分开)。甚至有部分学者认为SVM可以克服维数灾难(curseof dimensionality)。

 

如果这样理解SVM的基本原理,我觉得还没有看到问题的本质。因为这个看法不能解释下面的事实:SVM在高维空间里构建分类器后,为什么这个分类器不会对原空间的数据集Overfitting呢?

 

成功理解SVM可以考虑以下几个方面:

1)SVM求解最优分类器的时候,使用了L2-norm regularization,这是控制Overfitting的关键。

2)SVM不需要显式地构建非线性映射,而是通过Kernel trick完成,这样大大提高运算效率。

3)SVM的优化问题属于一个二次规划(Quadratic programming),优化专家们为SVM这个特殊的优化问题设计了很多巧妙的解法,比如SMO(Sequentialminimal optimization)解法。4)Vapnika的统计学习理论为SVM提供了很好的理论背景(这点不能用来解释为什么SVM这么popular,因为由理论导出的bound太loose)。

 

1.2  SVM定义

 

支持向量机(SupportVector Machine)是建立在统计学习理论的VC维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度)和学习能力(即无错误地识别任意样本的能力)之间寻求最佳折衷,以期获得最好的推广能力。

 

应用:在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。

 

分类器要求:通过线性分类把n维实空间中的点通过一个n-1维的超平面分开,分类器应能找到分类最佳的平面,使 属于两个不同类的数据点间隔最大的那个面(称为最大间隔超平面)。此时,分类器就称为最大间隔分类器。

 

支持原因:SVM将向量映射到一个更高维的空间里建立有一个最大间隔超平面,在分开数据的超平面的两边建有两个互相平行的超平面,建立方向合适的分隔超平面使两个与之平行的超平面间的距离最大化。其假定为平行超平面间的距离或差距越大,分类器的总误差越小。

 

支持向量:在间隔区边缘的训练样本点

“机(machine,机器)”:是一个算法,在机器学习领域常把一些算法看做是一个机器。  

 

 支持向量机亮点:在传统的最优化问题中提出了最大最小对偶、拉格朗日对偶理论。  

 

SVM 的关键:核函数

由于低维空间向量集通常难于划分,解决的方法是将它们映射到高维空间。核函数解决计算复杂度问题,只要选用适当的核函数,就可以得到高维空间的分类函数,采用不同的核函数将导致不同的SVM算法。

 

校正:确定核函数的已知数据也存在一定的相对误差,引入了松弛系数以及惩罚系数两个参变量来加以校正。在确定了核函数基础上,再经过大量对比实验等将这两个系数取定,该项研究就基本完成,适合相关学科或业务内应用,且有一定能力的推广性。

 

SVM与神经网络类似,都是学习型的机制,但与神经网络不同的是SVM使用的是数学方法和优化技术。

 

扩展阅读:

http://en.wikipedia.org/wiki/Support_vector_machine

0 0
原创粉丝点击