机器学习:支持向量机SVM和人工神经网络ANN的比较

在统计学习理论中发展起来的支持向量机(Support Vector Machines, SVM)方法是一种新的通用学习方法,表现出理论和实践上的优势。SVM在非线性分类、函数逼近、模式识别等应用中有非常好的推广能力,摆脱了长期以来形成的从生物仿生学的角度构建学习机器的束缚。此外,基于SVM的快速迭代方法和相关的简化算法也得到发展。与神经网络相比,支持向量机方法具有更坚实的数学理论基础,可以有效地解决有限样本条件下的高维数据模型构建问题,并具有泛化能力强、收敛到全局最优、维数不敏感等优点。目前,统计学习理论和SVM已经成为继神经网络之后机器学习领域最热门的研究方向之一,并有力推动了机器学习理论的发展。SVM已被初步研究使用在核天线阵列处理的波束成形,智能天线系统的波达角估计,盲均衡器的设计;盲波束成形器设计。

 

SVM的历史  

基于数据的机器学习是现代智能技术中的重要方面, 研究从观测数据(样本) 出发寻找规律, 利用这些规律对未来数据或无法观测的数据进行预测. 包括模式识别、神经网络等在内, 现有机器学习方法共同的重要理论基础之一是统计学.传统统计学研究的是样本数目趋于无穷大时的渐近理论, 现有学习方法也多是基于此假设. 但在实际问题中, 样本数往往是有限的, 因此一些理论上很优秀的学习方法实际中表现却可能不尽人意.

与传统统计学相比, 统计学习理论(Statistical Learning Theory 或SLT ) 是一种专门研究小样本情况下机器学习规律的理论. V. Vapnik等人从六、七十年代开始致力于此方面研究 , 到九十年代中期, 随着其理论的不断发展和成熟, 也由于神经网络等学习方法在理论上缺乏实质性进展, 统计学习理论开始受到越来越广泛的重视.

统计学习理论是建立在一套较坚实的理论基础之上的, 为解决有限样本学习问题提供了一个统一的框架. 它能将很多现有方法纳入其中, 有望帮助解决许多原来难以解决的问题(比如神经网络结构选择问题、局部极小点问题等) ; 同时, 在这一理论基础上发展了一种新的通用学习方法——支持向量机(Support Vector Machine 或SVM ) , 它已初步表现出很多优于已有方法的性能. 一些学者认为,SVM 正在成为继神经网络研究之后新的研究热点, 并将有力地推动机器学习理论和技术的发展。

我国早在八十年代末就有学者注意到支持向量机的基础成果,但之后较少研究,目前只有少部分学者认识到这个重要的研究方向.

神经网络与支持向量机 

       神经网络是基于传统统计学的基础上的.传统统计学研究的内容是样本无穷大时的渐进理论,即当样本数据趋于无穷多时的统计性质,而实际问题中样本数据往往是有限的.因此,假设样本数据无穷多,并以此推导出的各种算法很难在样本数据有限时取得理想的应用效果.

而支持向量机则是基于统计学理论的基础上的,可以克服神经网络难以避免的问题.通过支持向量机在逼近能力方面与BP网络仿真结果的比较表明,支持向量机具有较强的逼近能力和泛化能力.支持向量机因其特有的优越性在将越来越受到各领域的重视,具有很好的应用前景.

支持向量机与人工神经网络

 

 

人工神经网络是目前研究较多的交叉学科,由于通过选择适当的隐单元数和网络层次,前馈网络能以任意精度逼近非线性函数(Funahashi,1989),因此神经网络技术被广泛应用到工业过程的建模与控制中,并取得了巨大成功.尽管如此,神经网络仍存在一些缺陷:

1)网络结构需要事先指定或应用启发算法在训练过程中修正,这些启发算法难以保证网络结构的最优化;

2)网络权系数的调整方法存在局限性;

3)神经网络易陷入局部最优,有些甚至无法得到最优解;

4)过分依赖学习样本,即模型性能的优劣过分依赖于模型训练过程中样本数据,而大多数情况下,样本数据是有限的.除次,许多实际问题中的输入空间是高维的,样本数据仅是输入空间中的稀疏分布,即使能得到高质量的训练数据,数据量必然很大.但是样本数要是很多的话,必然使训练时间大大增加;

5)目前尚无一种理论能定量的分析神经网络的训练过程的收敛速度,及收敛速度的决定条件,并对其加以控制;

6)神经网络的优化目标是基于经验的风险最小化,这就不能保证网络的泛化能力.尽管存在以上问题,神经网络仍然取得了很多成功应用,其原因在于,神经网络的设计与设计者有很大的关系.设计者若在网络设计过程中有效的利用了自己的经验知识和先验知识,可能会得到较理

想的网络结构.因此,神经网络系统的优劣是因人而异的

支持向量机是以统计学理论为基础的[4],因而具有严格的理论和数学基础,可以不象神经网络的结构设计需要依赖于设计者的经验知识和先验知识.支持向量机与神经网络的学习方法相比,支持向量机具有以下特点:

1)支持向量机是基于结构风险最小化(SRM,structuralriskminimization)原则,保证学习机器具

有良好的泛化能力;

2)解决了算法复杂度与输入向量密切相关的问题;

3)通过引用核函数,将输入空间中的非线性问题映射到高维特征空间中在高维空间中构造线性函数判别;

4)支持向量机是以统计学理论为基础的,与传统统计学习理论不同.它主要是针对小样本情况,且最优解是基于有限的样本信息,而不是样本数趋于无穷大时的最优解;

5)算法可最终转化为凸优化问题,因而可保证算法的全局最优性,避免了神经网络无法解决的局部最小问题;

6)支持向量机有严格的理论和数学基础,避免了神经网络实现中的经验成分.

支持向量机的缺点

 由于支持向量机出现的时间在90年代中期,人们对支持向量机的应用主要集中在模式识别方面,对于将支持向量机应用于数据挖掘的研究刚处于起步阶段。

目前,用SVM构造数据挖掘中的分类器来处理海量数据主要面临以下两个困难:

(1)SVM算法对大规模训练样本难以实施

由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。

针对以上问题的主要改进有有J.Platt的SMO算法、T.Joachims的SVM 、C.J.C.Burges等的PCGC、张学工的CSVM以及O.L.Mangasarian等的SOR算法

(2)用SVM解决多分类问题存在困难

经典的支持向量机算法只给出了二类分类的算法,而在数据挖掘的实际应用中,一般要解决多类的分类问题。可以通过多个二类支持向量机的组合来解决。主要有一对多组合模式、一对一组合模式和SVM决策树;再就是通过构造多个分类器的组合来解决。主要原理是克服SVM固有的缺点,结合其他算法的优势,解决多类问题的分类精度。如:与粗集理论结合,形成一种优势互补的多类问题的组合分类器.。

支持向量机是基于统计学习理论的新一代学习机器,具有很多吸引人的特点,它在函数表达能力、推广能力和学习效率上都要优于传统的人工神经网络,在实际应用中也解决了许多问题,但由于SVM的出现比较晚,还处于发展阶段,尤其是其算法实现方面存在着效率低下的问题,这也是限制SVM很好地应用于数据挖掘中的一个瓶颈。可以考虑对传统支持向量机进行扩展,实现多分类支持向量机。可以考虑运用于现在的客户智能系统当中,现有客户智能系统采用的分类技术都是传统的数据挖掘技术:比如神经网络,决策树,回归分析等等。根据最后的图,大家可以看到现在的分析型CRM的整个功能和技术架构,如果把这种新兴的数据挖掘技术-支持向量机,运用于商业智能,相信是种不错的尝试。

关于SVM的基础知识可参考:http://www.cnblogs.com/LeftNotEasy/archive/2011/05/02/basic-of-svm.html

基于ANN与SVM的分类及回归比较分析可参考:
http://www.asscp.org.cn/webdata/uploads/591291189788.pdf

关于斯坦福大学很棒的机器学习的网络公开课可见:
http://v.163.com/movie/2008/1/B/O/M6SGF6VB4_M6SGHJ9BO.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值