一、预告篇:

  很久很久以前,有个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. fork、vfork、clone

    三个都是用来创建新进程的函数 fork 概念 1)fork函数调用一次会返回两次,给父进程返回子进程的进程ID,给子进程返回0(这么设计的原因:父进程可以有很多子进程,没有一个函数可以让父进程知道所有 ...

  2. 引用限定符(c++11)

    1.概念 1)下面这种情况将对一个右值调用成员函数.对右值赋值 string s1 = "abc", s2 = "def"; auto n = (s1 + s2 ...

  3. hadoop配置分区

    1.运行MR,得出HDFS路径下数据 2.创建 Hive 表 映射 HDFS下的数据 3.为数据创建分区,在hive下执行 source 分区表: TIPS:结果集的时间,必须在分区范围内: 可以理解 ...

  4. 第18章:MongoDB-聚合操作--聚合管道--$sort

    ①$sort 使用“$sort”可以实现排序,设置1表示升序,设置-1表示降序. ②范例:实现排序

  5. Typecho 调用分类文章列表

    其中pageSize后面的数字表示调用文章的数量:mid后面的数字表示调用的分类ID; 提示:Typecho分类目录ID的获取方法是把鼠标移到某分类名称上面,在浏览器状态栏显示的mid=后面的数字便是 ...

  6. java web 大文件下载

    泽优大文件下载产品测试 泽优大文件下载控件down2,基于php开发环境测试. 开发环境:HBuilder 服务器:wamp64 数据库:mysql 可视化数据库编辑工具:Navicat Premiu ...

  7. RuntimeException

    Throwable Error ... Exception !RuntimeException RuntimeException 两类:checked exceptions 和 unchecked e ...

  8. session(会话)研究(一)基础

    一.Session对象的生成 session对象生成的过程,可以通过一个直观图进行观察. 也就是说,客户第一次请求访问时,Cookie中是没有SessionID的.在第一次访问之后,由服务器生成一个S ...

  9. 队列<一>

    这里用的递归法,采用两种版本,一种是C语言,一种是C++:但是,用C语言没有“引用”,所以采用的是指向指针的指针:而C++具备“引用”,所以直接用&引用,简洁: 先看C++的代码: BiTre ...

  10. 恢复VS2010/VS2013项目为VS2008项目

    https://blogs.msdn.microsoft.com/rextang/2009/07/06/convert-vs2010-projects-back-to-vs2008-ones/ 摘抄如 ...