从你的全世界切过(胡说八道支持向量机SVM小故事)
背景
据说很久很久以前, 澳门有一家"胡说八道大赌场", 专门提供各种奇奇怪怪的玩法. 其中有一个赌博叫"从你的全世界切过"(连名字也这么奇怪). 玩法是在一张桌布上黏附着许多小蓝球和小红球
玩家会得到一把很长很锋利的切片
玩家在桌布上切一刀后, 指定切出来的这条线的一边是小蓝球, 一边是小红球. 确定选择后,"从你的全世界切过"游戏机便会掉落更多的小球黏附在桌布上.
如果小球黏附的区域是玩家指定的相应颜色的区域, 则玩家赢, 否则玩家输.
后继小球掉落的位置虽然有随机性, 但也有聚集性, 即原本蓝球多的地方会掉落更多的蓝球, 红球多的地方会掉落更多的红球.
第一幕
有一天,"从你的全世界切过"赌桌旁围着不少人,因为一位人称MMC的先生在这赢了不少钱.这位MMC先生梳着大背头, 戴着墨镜, 西装革履.
只见他每次开局都会伸出双手食指,并在一起, 并且缓慢地往相反方向平行移动, 时不时还会改变一下食指所指方向.
研究一番后便果断拿起切片, 下注如有神~~
MMC先生使用的方法其实也比较直观,对于这样散落的小球, 我们一眼就能看出很多切法
但是由于小球掉落有随机性, 如果像第1条线和第3条线那样切, 可能小球落的位置稍微偏了点就不在对应颜色所在区域了.于是我们要求在尽量远离两类小球的地方切, 怎样才叫尽量远离呢?
MMC先生刚开始把双手食指伸出来并在一起, 把手指间的缝想象成待会儿要切的线, 把这条线平行地向相反方向平移, 手指碰到任何一个小球就停下来,停留时手指间垂直距离越大越好.他不断地换位置, 转方向,尝试出最好的切割线.
比如上图中第2条线向两边平移的结果是这样,这样指尖距离比较大, 是一个不错的切割线.
这个方法简单直观, 很快便有许多人明白后进行效仿. 当然"胡说八道大赌场"也不傻, 很快便调高了游戏难度, 让小球初始散落状态更乱了点,比如这样
这样还用以前的方法便会使得指间距离变得好小...导致小球更容易落入不同颜色的区域.
有时候更过分的是初始时,蓝球直接落在了红球群里,或者红球落进了蓝球群里,这样根本就无法用以前的方法了...大家又开始凭感觉地切,这样结果当然是输钱了= =
第二幕
后来来了一位叫SVC的赌徒,打听到了这个方法, 觉得这方法可以改进!只要无视赌场用来迷惑大家的那些不安分的点就好啦,不像以前那么苛刻(一碰到小球就停下来), 而是允许初始布局中个别的小球落入错误的区域,以此换取后面更多的小球落入正确的区域,这样赚多亏少应该能挣钱吧嘿嘿~~
SVC迫不及待地跑去赌场尝试了一下,发现这样的方法真的可以!
只是对于允许多少小球一开始被错误划分还需要进行调节, 太多了太少了都不好.
历史总是惊人的相似= = 很快这种方法又传开了......
狡猾的赌场发出了大招!
嘿嘿
群众们又开始输钱...
由于这游戏太难玩了, 玩的人也比较少了
第三幕
直到有一天,一位少侠来到赌场,径直走到了"从你的全世界切过"赌桌前.当时小球的初始散布是这样的状态,蓝球都集中在中间的一块区域, 被红球包围着, 这样不论怎么切似乎都会一开始就输很多钱啊
少侠手持切片, 凝视着这看起来怎么切都输钱的布局一会儿,忽然眼神变得犀利, 大喝道"Kernel Trick!",同时手掌怒拍赌桌!
似乎是他刻意控制, 赌桌布竟然只有四个角飞了起来......
在桌布形成这样的形状那一瞬间
少侠以迅雷不及掩耳盗铃之速拿起了切片奋力向桌布割去
定睛一看!竟然通过这样的方法把蓝球和红球分开了!
切片划过后,只留下一道酷炫的分割线
待桌布重新落回桌子上时...
接下来蓝球大部分都落入了圈中, 而红球大部分落入了圈外...
历史只是惊人的相似, 不会老是重演.这次少侠这一招技术含量实在是高, 围观群众只想赚钱不肯下苦功夫, 所以是学不会的
从此这故事便成为了赌徒们茶余饭后的谈资...
参考资料
1.please_explain_support_vector_machines like i am 5 year old
2.SVM with polynomial kernel visualization
从你的全世界切过(胡说八道支持向量机SVM小故事)的更多相关文章
- 机器学习第7周-炼数成金-支持向量机SVM
支持向量机SVM 原创性(非组合)的具有明显直观几何意义的分类算法,具有较高的准确率源于Vapnik和Chervonenkis关于统计学习的早期工作(1971年),第一篇有关论文由Boser.Guyo ...
- 【IUML】支持向量机SVM
从1995年Vapnik等人提出一种机器学习的新方法支持向量机(SVM)之后,支持向量机成为继人工神经网络之后又一研究热点,国内外研究都很多.支持向量机方法是建立在统计学习理论的VC维理论和结构风险最 ...
- 机器学习:Python中如何使用支持向量机(SVM)算法
(简单介绍一下支持向量机,详细介绍尤其是算法过程可以查阅其他资) 在机器学习领域,支持向量机SVM(Support Vector Machine)是一个有监督的学习模型,通常用来进行模式识别.分类(异 ...
- 以图像分割为例浅谈支持向量机(SVM)
1. 什么是支持向量机? 在机器学习中,分类问题是一种非常常见也非常重要的问题.常见的分类方法有决策树.聚类方法.贝叶斯分类等等.举一个常见的分类的例子.如下图1所示,在平面直角坐标系中,有一些点 ...
- 机器学习算法 - 支持向量机SVM
在上两节中,我们讲解了机器学习的决策树和k-近邻算法,本节我们讲解另外一种分类算法:支持向量机SVM. SVM是迄今为止最好使用的分类器之一,它可以不加修改即可直接使用,从而得到低错误率的结果. [案 ...
- 机器学习之支持向量机—SVM原理代码实现
支持向量机—SVM原理代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/9596898.html 1. 解决 ...
- 支持向量机SVM——专治线性不可分
SVM原理 线性可分与线性不可分 线性可分 线性不可分-------[无论用哪条直线都无法将女生情绪正确分类] SVM的核函数可以帮助我们: 假设‘开心’是轻飘飘的,“不开心”是沉重的 将三维视图还原 ...
- 一步步教你轻松学支持向量机SVM算法之案例篇2
一步步教你轻松学支持向量机SVM算法之案例篇2 (白宁超 2018年10月22日10:09:07) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于 ...
- 一步步教你轻松学支持向量机SVM算法之理论篇1
一步步教你轻松学支持向量机SVM算法之理论篇1 (白宁超 2018年10月22日10:03:35) 摘要:支持向量机即SVM(Support Vector Machine) ,是一种监督学习算法,属于 ...
随机推荐
- nginx做反向负载均衡,后端服务器获取真实客户端ip
首先,在前端nginx上需要做如下配置: location / proxy_set_header host $host; proxy_set_header X-fo ...
- PHP操作mysql类
<?php class Mysql{ //数据库连接句柄 private $link; //返回结果集 private $result; //返回查询数据 private $data; //执行 ...
- Redis详解
转自:http://blog.csdn.net/eroswang/article/details/7080412 1. MySql+Memcached架构的问题 1.MySQL需要不断进行拆库拆表, ...
- webstorm安装express报错
.... Exit code: -1 解决方法: webstorm创建express 需要 预先安装express-generator npm install express-generator -g
- iOS调用相机,相册,上传头像 分类: ios技术 2015-04-14 11:23 256人阅读 评论(0) 收藏
一.新建工程 二.拖控件,创建映射 三.在.h中加入delegate @interface ViewController : UIViewController 复制代码 四.实现按钮事件 -(IBAc ...
- RecyclerView学习笔记
主要方法: setLayoutManager:设置显示方式,有LinearLayoutManager(像ListView一样的纵向列表布局),有GridLayoutManager(网格布局),有Sta ...
- PHP7新特性
重写ZenVM,性能比PHP5.6提升300% 新特性: 1.变量类型(为PHP7.1的JIT特性做准备)function test(int $a, string $b, array $c) : in ...
- 【Xilinx-VDMA模块学习】-00-开始
最近在做XILINX图像相关的逻辑,需要用到VDMA模块,最后算是把这个模块摸得比较透了. 先在这里记一下,之后有空了总结一下.包括VDMA在Vivado中的GUI配置和软件驱动的详细理解.
- mysql ++中文乱码问题
使用mysql++读取mysql数据库,数据表中字符集为utf8,但是读取的时候中文字符串不能够正常显示.下面是测试程序: #include <iostream> #include < ...
- 如何解决Ajax跨域问题-1
如何解决Ajax跨域问题 最近在做AJAX调用C的问题,出现跨域问题,学习总结如下: 在做ajax读取数据的时候,经常会遇到ajax需要跨域的问题,但由于浏览器安全方面的限制,XMLHttpReque ...