一、预告篇:

  很久很久以前,有个SVM, 然后,……………………被deep learning 杀死了……………………………………

.

完结……撒花

二、正式篇

  好吧,关于支持向量机有一个故事 ,故事是这样子的:

在很久以前的情人节,大侠要去救他的爱人,但魔鬼和他玩了一个游戏。

魔鬼在桌子上似乎有规律放了两种颜色的球,说:“你用一根棍分开它们?要求:尽量在放更多球之后,仍然适用。”

<img src="https://pic2.zhimg.com/50/5aff2bcdbe23a8c764a32b1b5fb13b71_hd.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">

于是大侠这样放,干的不错?

<img src="https://pic2.zhimg.com/50/3dbf3ba8f940dfcdaf877de2d590ddd1_hd.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">

然后魔鬼,又在桌上放了更多的球,似乎有一个球站错了阵营。

<img src="https://pic4.zhimg.com/50/0b2d0b26ec99ee40fd14760350e957af_hd.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">

SVM就是试图把棍放在最佳位置,好让在棍的两边有尽可能大的间隙。

<img src="https://pic2.zhimg.com/50/4b9e8a8a87c7982c548505574c13dc05_hd.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">

现在即使魔鬼放了更多的球,棍仍然是一个好的分界线。

<img src="https://pic4.zhimg.com/50/7befaafc45763b9c4469abf245dc98cb_hd.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">

然后,在SVM 工具箱中有另一个更加重要的 trick。 魔鬼看到大侠已经学会了一个trick,于是魔鬼给了大侠一个新的挑战。

<img src="https://pic4.zhimg.com/50/558161d10d1f0ffd2d7f9a46767de587_hd.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">

现在,大侠没有棍可以很好帮他分开两种球了,现在怎么办呢?当然像所有武侠片中一样大侠桌子一拍,球飞到空中。然后,凭借大侠的轻功,大侠抓起一张纸,插到了两种球的中间。

<img src="https://pic4.zhimg.com/50/55d7ad2a6e23579b17aec0c3c9135eb3_hd.png" data-rawwidth="300" data-rawheight="167" class="content_image" width="300">

现在,从魔鬼的角度看这些球,这些球看起来像是被一条曲线分开了。

<img src="https://pic3.zhimg.com/50/e5d5185561a4d5369f36a9737fc849c6_hd.png" data-rawwidth="300" data-rawheight="225" class="content_image" width="300">

再之后,无聊的大人们,把这些球叫做数据 「data」,把棍子 叫做分类器 「classifier」, 最大间隙trick 叫做最优化「optimization」, 拍桌子叫做核「kernelling」, 那张纸叫做超平面「hyperplane」。

文章来源:

0、http://www.cnblogs.com/sunbinbin/p/5827449.html

SVM其他链接:

1、http://www.jianshu.com/p/4e7103978c92

-- SVM通俗理解

2、http://www.dataguru.cn/forum.php?mod=viewthread&tid=371987

--核函数相关,那个会转的图不错

3、http://blog.csdn.net/v_july_v/article/details/7624837

--SVM大全,从入门到放弃

4、http://www.csie.ntu.edu.tw/~cjlin/libsvm/

--一个很不错的svm网站,内部有个黑框,可以自行调整参数C,ε,对线性核RBF核会有个直观感受

5、http://blog.csdn.net/abcjennifer/article/details/7849812

--SVM的细致推导,源自一个网易公开课,

6、https://en.wikipedia.org/wiki/Support_vector_machine

--wiki百科--自由的百科全书

7、http://open.163.com/movie/2008/1/C/6/M6SGF6VB4_M6SGJVMC6.html

---Andrew Ng,机器学习大神

       
              

关于SVM(support vector machine)----支持向量机的一个故事的更多相关文章

  1. 机器学习算法 --- SVM (Support Vector Machine)

    一.SVM的简介 SVM(Support Vector Machine,中文名:支持向量机),是一种非常常用的机器学习分类算法,也是在传统机器学习(在以神经网络为主的深度学习出现以前)中一种非常牛X的 ...

  2. 支持向量机SVM(Support Vector Machine)

    支持向量机(Support Vector Machine)是一种监督式的机器学习方法(supervised machine learning),一般用于二类问题(binary classificati ...

  3. SVM (support vector machine)

    简单原理流程转自:http://wenku.baidu.com/link?url=57aywD0Q6WTnl7XKbIHuEwWENnSuPS32QO8X0a0gHpOOzdnNt_K0mK2cucV ...

  4. 支持向量机 support vector machine

    SVM(support Vector machine) (1) SVM(Support Vector Machine)是从瓦普尼克(Vapnik)的统计学习理论发展而来的,主要针对小样本数据进行学习. ...

  5. 使用Support Vector Machine

    使用svm(Support Vector Machine)中要获得好的分类器,最重要的是要选对kernel. 常见的svm kernel包括linear kernel, Gaussian kernel ...

  6. 支持向量机(Support Vector Machine,SVM)—— 线性SVM

      支持向量机(Support Vector Machine,简称 SVM)于 1995 年正式发表,由于其在文本分类任务中的卓越性能,很快就成为机器学习的主流技术.尽管现在 Deep Learnin ...

  7. 机器学习之支持向量机(Support Vector Machine)

    转载请注明出处:http://www.cnblogs.com/Peyton-Li/ 支持向量机 支持向量机(support vector machines,SVMs)是一种二类分类模型.它的基本模型是 ...

  8. Support Vector Machine(2):Lagrange Duality求解线性可分SVM的最佳边界

    在上篇文章<Support Vector Machine(1):线性可分集的决策边界>中,我们最后得到,求SVM最佳Margin的问题,转化为了如下形式: 到这一步后,我个人又花了很长的时 ...

  9. Support Vector Machine (1) : 简单SVM原理

    目录 Support Vector Machine (1) : 简单SVM原理 Support Vector Machine (2) : Sequential Minimal Optimization ...

随机推荐

  1. Ubuntu Server 命令行下的默认语言改为英语en_US.UTF-8

    源文链接:http://tonychiu.blog.51cto.com/656605/393131 如果Ubuntu Server在安装过程中,选择的是中文(很多新手都会在安装时选择中文,便于上手), ...

  2. 20155205 2016-2017-2 《Java程序设计》第9周学习总结

    20155205 2016-2017-2 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 JDBC简介 厂商在实现JDBC驱动程序时,依方式可将驱动程序分为四种类型: JD ...

  3. .net升级到4.0之后,出现;System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798

    今天在做从Silverlight页中跳转到aspx页的时候,出现错误: 第一次跳转的时候就出现这个错误,然后在点跳转或者刷新这个错误页面,问题就没有了. 解决方案: 在C:\Program Files ...

  4. 屏幕抓取程序 (位图DDB的例子)

    屏幕抓取程序的意思是将整个屏幕图显示在应用程序的用户区中,等价于截图.对桌面窗口的操作:首先得知道桌面窗口的宽和高,获取宽和高需要利用窗口的设备句柄,而获取设备句柄需要知道窗口句柄,这一系列的连串关系 ...

  5. html部分常用标签的含义及作用

    1.a 超链接 <a> 标签定义超链接,用于从一张页面链接到另一张页面.<a> 标签中必须提供 href 属性或 name 属性,它指示链接的目标. 例如:点击 百度一下 跳转 ...

  6. SSM_CRUD新手练习(2)配置文件

    配置之前现需要引入依赖的jar包: *Spring *SpringMvc *Mybatis *数据库连接池,驱动包 *其他(jstl,Servlet ,Junit..) 1.poxm.xml < ...

  7. XA: 事务和两阶段提交

    本文原文连接:http://blog.csdn.net/bluishglc/article/details/7612811 ,转载请注明出处! 1.XA XA是由X/Open组织提出的两阶段提交协议, ...

  8. android 增量更新原理

    原理如下:服务器端设计增量表,记录数据操作顺序id,和增删改查信息.在进行数据库表操作的时候同时进行将信息保存在增量表. android客户端在请求的时候上传最后保存的id.服务端判断最后的id,返回 ...

  9. 6.关键字static

    在java中并不存在全局变量的概念,但是我们可以通过static关键字来实现一个“为全局”的概念,在java中static表示“全局”和“静态”的意思,他可以用来修饰成员变量和方法,也可以用来修饰代码 ...

  10. python_运算符与表达式

    运算符与表达式 python运算符 运算符 功能说明 + 算术加法,列表.元组.字符串合并与连接,正号 - 算术减法,集合差集,相反数 * 算术乘法,序列重复 / 真除法 // 求整商,但如果操作数中 ...