支持向量机英文名称Support Vector Machine简称SVM,它是由前苏联科学家Corinna Cortes在1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中.

SVM是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解. 在机器学习中,使用支持向量机的学习算法的监督学习模型,可以分析数据,识别模式,用于分类和回归分析.

好了,我知道你们对上面“无聊”发困式的敲黑板知识点早就想揭竿起义了,sorry,下面我们来说点正常话. 此事还要从一个故事讲起:

话说在情人节的那一天,杨过大侠得知他心爱的姑姑就在情人谷,坐上他的专机--雕兄,疾飞情人谷. 眨眼间(专机很快),杨大侠背着大剑站在山谷口,但他没直接进去,为啥? 因为情人谷有天下剧毒花-情花,中者必死,而此时情人谷谷主孙止(你们肯定不记得了,我专门查的)已经在谷口前放置了大量一盆一盆的情花. 姑姑很思念,杨过很着急,打算喊着德玛西亚(我爱姑姑)的口号,手持大宝剑,硬闯蘑菇阵(情花阵),而此时,吃瓜群众金轮法王出来说句“公道话”:“孙谷主,你这么搞太不讲江湖道义了,有本事咱们1V1决战?”其他的吃瓜皮的群众也跟着附和.

孙谷主脸面受不了了,于是提出了一个办法(注意:重点来了):在谷口的很多盆情花中有很多是无毒的,开的花是蓝色的,有毒的开红花,它们的数量几乎均等,需要杨大侠利用手中的大宝剑一剑将它们分开. 孙谷主很大气也不为难他,启动阵法将两种情花几乎有规律的分开了,但是有两个要求:1.杨大侠将它们分开后,形成的两类情花组,在尽量放置更多的情花(蓝色和红色都有),不会出现很多放错现象,即蓝色的队伍里不会被放进红色的花,红色的队伍里不会被放进蓝色的花;2.既然杨大侠的武功已经登峰造极,那么增加一下难度,不过分吧?要求剑气划过的位置尽量恰好在两种花的中间位置,即划痕两边有尽可能大的空隙,这个空隙也就是情花与划痕的距离.(下图所示,花不会画以圆圈代替,大家见谅)

杨大侠大喝一声,这有何难,大剑一挥,瞬间划出一道剑气,如下图:

孙谷主大笑一声,杨大侠,好武功!但是你只满足了我的第一个要求,第二个要求没有满足哦. 杨过此时老脸一红,道:“在下刚来此地不熟悉这里气流,还请孙谷主再给一次机会“. 于是还没等人家同意,宝剑又一挥

“好人“金轮法王见状,喝道:“杨大侠的武功果然已经达到人剑合一的地步了,孙谷主,已经完全满足你的两个要求了吧“

孙谷主哼了一声,而后大袖一挥,改变阵法增加了一些情花,此时情花阵是这样的,似乎有一盆红色的情花站错队了,

杨大侠见状,也不含糊,再次大剑一挥,情花阵变成这样

此时,这种分法,即使孙谷主放更多的情花,也能够满足他的要求,孙谷主发现杨过已经学会了一个Trick(方法、招式)心有不甘,于是提出再增加一些难度,大袖一挥情花阵变成这样

杨过依一看,冷笑道:“虽然没法用一刀斩式(线性)的剑气分开,但是在下学过玉女剑法(划斜杠)武当登云梯“,只见他大喝一声,所有花瞬间抛向空中,迅速穿插于花丛间采花(划斜杠)将一片片树叶插到两种花之间.

此时在高处的孙谷主等人看到的这些情花,像是被一条曲线分开

孙谷主见状感概一声“杨大侠武功果然是天下第一了,罢了你进去吧“.

后来一些无聊的好事者(可能是马可波罗)将此事演绎推论,将这些情花叫做data(数据集),杨大侠的剑气痕迹叫做classifier(分类器),找到最大间隙的trick(方法)叫做optimization(最优化),运功让情花起飞的动作叫做kernelling(核函数),那张张树叶叫做hyperplane(超平面). 具体的含义这里不细说了,有兴趣可以自己查找资料看一下.

概述一下:当一个分类问题,数据是线性可分的,也就是杨过可以用一刀斩式的剑气将两类花直接分开,我们只需要将剑气痕位置放在让情花距离气痕的距离最大化的位置即可,寻找这个间隙最大化的过程叫最优化. 但是现时很残酷,谷主很无情,一般的数据是线性不可分的,也就是杨过找不到一个合适位置将情花很好的分类. 这时候,我们就需要学习杨大侠,利用树叶来将情花进行分类. 想让数据起飞,需要内功-核函数(kernelling),用于切分情花的树叶就是超平面.

SVM就是找到最优剑气划痕(适用线性可分数据)和最优超平面(线性不可分数据).

当然,SVM是一个非常重要的分类器,内容非常多,这里主要是简单介绍一下SVM,有机会下期会做一些小案例来说明.

支持向量机python代码_支持向量机及python实现(一)相关推荐

  1. python 代码_如何让Python代码加速运行?

    Python 是一种脚本语言,相比 C/C++ 这样的编译语言,在效率和性能方面存在一些不足.但是,有很多时候,Python 的效率并没有想象中的那么夸张.本文对一些 Python 代码加速运行的技巧 ...

  2. 有趣的超短python代码_有趣的python精短程序

    python可以简单优美,也很有趣,下面是收集的例子: 1.一句话开始一个http的文件服务器: $ python -m SimpleHTTPServer Serving HTTP on 0.0.0. ...

  3. 简单几段python代码_如何用python跑一段鸿蒙最简单代码?

    首先,鸿蒙并不支持python,HarmonyOS代码开发支持多语言,包括Java.XML(Extensible Markup Language).C/C++ . JS(JavaScript).CSS ...

  4. 货币转换python代码_演示4:python与Tkinter的货币转换,4python,币值,含,tkinter

    1 说明 币值的转换,此处以2020年10月20日的某时刻的币种汇率来演示. 2 知识点 2.1 汇率与币种 由于汇率在币种转换时会由一点误差,所以用两种方向的转换来互相弥补,但是也不能完全保证正确, ...

  5. 一段有趣的python代码_你知道 Python 这五个有趣的彩蛋吗?

    当一门编程语言是开源的时候,往往会有产生一些搞笑和有趣的东西.通常,这意味着社区的贡献者会为该语言添加一些有趣和特别的彩蛋以及隐藏的特性(当然前提是不会增加在生产环境中使用的风险). Python 就 ...

  6. 网页爬虫python代码_《用python写网络爬虫》完整版+源码

    原标题:<用python写网络爬虫>完整版+源码 <用python写网络爬虫>完整版+附书源码 本书讲解了如何使用Python来编写网络爬虫程序,内容包括网络爬虫简介,从页面中 ...

  7. 货币转换程序(双符号)python代码_如何实现python汇率转换代码

    对于刚刚入门python的学习者们,最头疼的莫过于基础的功能实现代码了,很多函数可以实现意义是一样的,今天小编教大家实例--实现python汇率转换代码. Python中的货币转换器 tkinter ...

  8. 打卡签到python代码_如何利用Python实现自动打卡签到

    需求描述 我们需要登录考勤系统(网页端,非手机端)进行签到,如果不想每天都早早起来打卡签到,就可以通过写程序实现这一功能. 业务梳理 通过长时间的早起打卡签到发现规律,我每天只是不停的点击,签到,都是 ...

  9. 如何修改python代码_如何修改Python源代码以添加新的AST节点?

    例如,如果我要创建一个名为"Something"的节点,我想在Python AST树中使用,我必须在哪里和哪些更改添加到Python源代码才能做到这一点? 我知道我应该从Pytho ...

最新文章

  1. 十、Redis五大数据类型之二List
  2. Zookeeper集群搭建分布式
  3. Docker将镜像上传至私有仓库
  4. 数据分割-并查集+set
  5. IEEE1459功率理论计算方法
  6. Linux netstat命令详解和使用例子(显示各种网络相关信息)
  7. ML Mastery 博客文章翻译(二)20220116 更新
  8. C. Molly's Chemicals
  9. wait, notify, notifyAll
  10. linux vnc 安装目录,Linux环境VNC服务安装、配置与使用(图)
  11. Pig 实现关键词匹配
  12. Springboot内置tomcat优化
  13. Django使用Channels实现WebSSH网页终端,实现SSH堡垒机雏形
  14. win10 java jdk环境变量 配置
  15. 助过网:一个月时间怎么科学有效复习公务员考试?
  16. vs项目文件夹进行分类管理
  17. elasticsearch 配置 之 discovery.zen.ping.unicast.hosts
  18. 什么是git 暂存区
  19. 云南省计算机一级考试题7,计算机(一级B类)云南省计算机一级考试题库.doc
  20. 信息安全文章搜索引擎技术原理

热门文章

  1. 【leetcode记录03】动态规划
  2. SAP Spartacus运行时错误 - The pipe cxUrl could not be found!
  3. 深入学习SAP UI5框架代码系列之五:SAP UI5控件的实例数据修改和读取逻辑
  4. SAP Spartacus里如何禁掉默认的css style
  5. Angular 依赖注入 UseClass 和 UseExisting 的区别
  6. Eclipse里如果看不到Attach Source按钮应该怎么办
  7. Spring 基于注解(annotation)的配置之@Autowired注解
  8. SAP Commerce配置属性的优先级
  9. SAP MTA打包的一些常见错误
  10. SAP UI5 ComponentBase createMetaData signature - why is MD hard coded