美文网首页
SVM从原理到代码实现1

SVM从原理到代码实现1

作者: LabVIEW_Python | 来源:发表于2018-07-07 11:38 被阅读63次

1. SVM历史背景和趣闻

SVM(Support Vector Machine)支持向量机,是一种经典的用于分类或回归的机器学习方法。

Vapnik等人在多年研究统计学习理论基础上对线性分类器提出了另一种设计最佳准则,其原理从线性可分说起,然后扩展到线性不可分的情况,甚至扩展到使用非线性函数中去,这种分类器被称为支持向量机(Support Vector Machine,简称SVM)。支持向量机的提出有很深的理论背景,其理论基础不是那么的好理解,详细的理论介绍,请参考Vapnik等人的论文

Cortes Corinna 和 Vapnik Vladimir N  "Support-vector networks". Machine Learning20 (3): 273–297. 

Andrew Ng老师说,当时machine这个词非常的时髦,为了让自己的观点和idea能够被关注,Support-vector networks 改名为Support Vector Machine。这也解释了,很多文献中说,SVM 又叫 Support-vector networks。

由于SVM方法有很强数学理论基础,SVM被大量使用在图片识别,语音识别上,都取到了很好的效果,成为了90年代到现在较为流行的算法

90年代,在贝尔实验室里,Yann Lecun和 Vapnik 常常就 神经网络和 SVM 两种技术的优缺点,常常讨论得非常的深入,慢慢的形成了SVM方法的支持者和神经网络的信徒。

Scholkopf是Vapnik的大弟子,支持向量机与核方法研究的领军人物。据Scholkopf说,Vapnik当初发明支持向量机就是想’干掉’神经网络(He wanted to kill Neural Network)。支持向量机确实很有效,一段时间支持向量机一派占了上风。

很多人都认为SVM是两成的神经网络。

近年来,神经网络一派的大师Hinton又提出了神经网络的Deep Learning算法,使神经网络的能力大大提高,可与支持向量机一比。Deep Learning假设神经网络是多层的,首先用Restricted Boltzmann Machine学习网络的结构,然后再通过Back Propagation学习网络的权值。关于Deep Learning的命名,Hinton曾开玩笑地说: I want to call SVM shallow learning. (注:shallow 有肤浅的意思)。其实Deep Learning本身的意思是深层学习,因为它假设神经网络有多层。

参考文献《神经网络从被人忽悠到忽悠人(五)

Andrew Ng老师说,Deep Learning的名字来源,也因为Deep Learning方便媒体宣传,本质还是多层神经网络,但Deep Learning这个名字比多层神经网络更酷,更适合大众理解和媒体宣传。

很多实践结果表明:之所以Deep Learning最近这么火,的确是因为随着大数据、算力、算法的发展,其分类效果远好于SVM。下图是就同一个分类问题,用不同的方式,获得的结果:

相关文章

  • SVM从原理到代码实现1

    1. SVM历史背景和趣闻 SVM(Support Vector Machine),支持向量机,是一种经典的用于分...

  • [Stay Sharp]SVM Python实现

    svm代码实现 源码地址 Yalye Github原始代码地址 效果

  • Matlab下的蛋白质数据SVM分类(matlab实现代码)

    Matlab下的蛋白质数据SVM分类(matlab实现代码) 一、原数据: 原始训练数据只需取用第5列数据 二、处...

  • day11-SVM

    今天学习了SVM的基本思想 通过代码实现认识了SVM,并举例用sklearn中的SVC库函数来实现人脸识别,用SV...

  • Task5 svm

    学习内容 SVM 硬间隔原理 SVM 软间隔 SMO 求解SVM 代码设计 1、硬间隔 本文是需要一定基础才可以看...

  • ML07-SVM分类

    一、SVM模型 1. SVM功能体验   首先通过一个例子来了解SVM的作用;不用关注该例子的代码,直接观察图示效...

  • [转]PCA

    主成分分析PCA:这一篇给出了一个可视的样例 PCA方法从原理到实现 PCA算法实现:纯代码,我没有测试过

  • 研发总监具备啥能力

    1. 研发流程制定,从研发项目管理到研发过程管理到代码管理,全套流程能从零开始制定; 2.有能力成功完成 超过三十...

  • 机器学习代码实现 SVM (5)

    一.什么是支持向量机 1、支持向量机(Support Vector Machine,常简称为SVM)是一种 监督式...

  • SVM原理到SMO实践

    真心希望简书能够更方便地支持公式输入,一来我不用转成图片进行上传,二来排版更加漂亮,最重要的是读者可以更方便...

网友评论

      本文标题:SVM从原理到代码实现1

      本文链接:https://www.haomeiwen.com/subject/fkxwuftx.html