在统计学习理论中发展起来的支持向量机(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

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

  1. 福利 | 从生物学到神经元:人工神经网络 ( ANN ) 简介

    文末有数据派THU福利哦 [ 导读 ] 我们从鸟类那里得到启发,学会了飞翔,从牛蒡那里得到启发,发明了魔术贴,还有很多其他的发明都是被自然所启发.这么说来看看大脑的组成,并期望因此而得到启发来构建智能 ...

  2. 人工神经网络ANN建模基础须知

    链接文章:机器学习基础须知.神经网络建模实践,其他博文 人工神经网络ANN 0.感知机:包括输入节点.输出节点两部分,输入节点和输出节点用一个表示权重的值连接.感知机的输出值是计算输入节点的加权和,减 ...

  3. DL之ANN/DNN: 人工神经网络ANN/DNN深度神经网络算法的简介、应用、经典案例之详细攻略

    DL之ANN/DNN: 人工神经网络ANN/DNN深度神经网络算法的简介.应用.经典案例之详细攻略 相关文章 DL:深度学习(神经网络)的简介.基础知识(神经元/感知机.训练策略.预测原理).算法分类 ...

  4. 人工神经网络 ANN

    卷积神经网络CNN图解 本文参考人工神经网络ANN 神经网络是一门重要的机器学习技术.它是深度学习的基础. 神经网络是一种模拟人脑的神经网络以期望能够实现人工智能的机器学习技术.人脑中的神经网络是一个 ...

  5. 实现人工神经网络ANN对医疗数据分类

    2.3 使用ANN对医疗数据分类 IBM在2015年5月宣布推出Watson Health服务,收集健康数据交给Watson超级计算机进行分析.目前IBM Waston Health最主要的应用便是在 ...

  6. 人工神经网络ANN的算法总结

    用笔记,记录自己的点滴进步:用行动,驱赶心中的彷徨 --杰 人工神经网络ANN的算法总结 前言 卷积神经网络 相关名词解释 卷积层 激励层 池化层 全连接层 补充 参考资料与原文 前言 人工神经网络( ...

  7. ann matlab,人工神经网络ann及其matlab仿真.ppt

    人工神经网络ann及其matlab仿真 人工神经网络 的研究方法及应用刘 长 安2004. 12. 31 引 言 利用机器模仿人类的智能是长期以来人们认识自然.改造自然和认识自身的理想. 研究ANN目 ...

  8. 深度学习(一)多层感知器MLP/人工神经网络ANN

    目录 一.定义和公式 1. 多层感知器 Multi Layer Perceptron MLP 2. MLP实现非线性分类 3. Keras介绍 二. 代码实战 1. 建立MLP模型实现二分类 1.1  ...

  9. 机器学习算法汇总:人工神经网络、深度学习及其它

    转载自:http://blog.csdn.net/icyzbb/article/details/37883461 学习方式 根据数据类型的不同,对一个问题的建模有不同的方式.在机器学习或者人工智能领域 ...

最新文章

  1. 千万别在UI线程上调用Control.Invoke和Control.BeginInvoke,因为这些是依然阻塞UI线程的,造成界面的假死...
  2. 版本变迁_上新了!隋唐洛阳城应天门3D投影秀更新版本!(附视频)
  3. 三、linux目录浏览管理及维护
  4. 简单的C语言五子棋(两种模式:移动光标输入坐标和移动光标按键)
  5. 微信云服务器有效期,关于云存储文件有效期问题总结
  6. 中南大学 科学计算与MATLAB语言 矩阵的特征值与特征向量
  7. 【老生谈算法】matlab实现数字图像复原算法源码——数字图像复原算法
  8. AH3050_12V升18V2A 同步升压芯片
  9. Spring Cloud构建微服务架构(五)服务网关 原创 2016-07-12 翟永超 Spring Cloud 被围观 53984 次 通过之前几篇Spring Cloud中几个核心组件的介
  10. 有哪些优秀的程序员社区
  11. PHP - 经典面试题大全,看这一篇就够了
  12. html页面字体缩小模糊怎么解决,ps字体模糊怎么变清晰 设置一下字体大小,是否一样...
  13. 【游戏设计模式】之一 序言:架构,性能与游戏
  14. 第三章 编译器基础知识之ELF文件格式简介
  15. 图像算法工程师的一般要求
  16. [kriging](一)网上下载的kriging克里金的C++程序的初步调试
  17. char *p 定义时指定的值不可以修改
  18. 淘宝天猫API详情接口调用分享
  19. datagrip无法提示字段
  20. 关于Chrome浏览器的一些使用技巧

热门文章

  1. 实现 npm script 跨平台兼容
  2. Webpack之插件html webpack plugin
  3. Java中的注解 Annotations
  4. 消息队列面试 - 如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?
  5. java 课后习题 随机数统计
  6. jquery 图像滑块_如何使用jQuery构建图像滑块
  7. mac下使用pyenv
  8. git提交异常 fatal: LF would be replaced by..
  9. Python | 多线程死锁问题的巧妙解决方法
  10. Python3 网络爬虫:漫画下载,动态加载、反爬虫这都不叫事