一、概念和背景

  SVM:Support Vector Machine 支持向量机。

  最早是由Vladimir N. Vapnik和Alexey Ya. Chervonenkis在1963年提出的。

  目前的版本(soft margin)是由Corinna Cortes和Vapnik在1993年提出,并在1995年发表。

  在深度学习(2012)出现之前,SVM被认为是机器学习中近十几年来最成功,表现最好的算法。

  机器学习的一般框架:

    训练集--->提取特征向量--->结合一定的算法(决策树、KNN等)--->结果

二、SVM

  

  在上图中,我们有一些二维的样本,我们需要画一条线将他们区分开,现有绿色、蓝色、红色三条线,哪一条是最好的呢?

  很明显,我们会认为红色线是最能明确划分两种样本的分界线。

  我们将二维样本扩展到三维(三维空间)中,则这条红线会变成一个面红色的面,可以用来在三维空间中划分三维样本。

  再将三维空间扩展为N维,则红色的面会变成一个超平面(hyper plane),这个超平面可以用来划分N维样本。

  边际(margin):用于确定超平面位置,使不同类样本间边际(距离)最大。(例如黑点到白点的距离)

  

  

三、线性可区分和线性不可区分

  线性可分:在样本空间中,可以使用一条直线(二维)、一个平面(三维)或一个超平面(N维)将样本区分开,叫做线性可区分。例如上面图中的情况。

  线性不可分:不能使用一条直线(二维)、一个平面(三维)或一个超平面(N维)将样本区分开,叫做线性不可区分。如下图所示情况:

  

 

四、确定超平面

  如何确定超平面:

    用于划分样本的超平面可以有无数个,但是最优超平面是到不同类样本距离相等(并且边际最大)的超平面。

  假设训练样本是二维的,X=(x1,x2);

  1.超平面方程为:

    

  其中的w0相当于x0=1的情况。(和神经网络中的bias一样)

  2.超平面两边的点满足:

    

  3.找到超平面两边的另外两个超平面:

    

    所有坐落在该两个超平面(H1,H2)上的点被称作“支持向量(support vector)”

  4.分界超平面与处于H1和H2上的点(支持向量)的距离为:

    

    其中||W||是向量的范数,即模(norm)。

      

  5.最大边际距离(H1到H2的距离)为:

    

机器学习-5 支持向量机SVM的更多相关文章

  1. 机器学习算法 - 支持向量机SVM

    在上两节中,我们讲解了机器学习的决策树和k-近邻算法,本节我们讲解另外一种分类算法:支持向量机SVM. SVM是迄今为止最好使用的分类器之一,它可以不加修改即可直接使用,从而得到低错误率的结果. [案 ...

  2. 机器学习之支持向量机—SVM原理代码实现

    支持向量机—SVM原理代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/9596898.html 1. 解决 ...

  3. 【机器学习】支持向量机SVM

    关于支持向量机SVM,这里也只是简单地作个要点梳理,尤其是要注意的是SVM的SMO优化算法.核函数的选择以及参数调整.在此不作过多阐述,单从应用层面来讲,重点在于如何使用libsvm,但对其原理算法要 ...

  4. python机器学习之支持向量机SVM

    支持向量机SVM(Support Vector Machine) 关注公众号"轻松学编程"了解更多. [关键词]支持向量,最大几何间隔,拉格朗日乘子法 一.支持向量机的原理 Sup ...

  5. 机器学习(十一) 支持向量机 SVM(上)

    一.什么是支撑向量机SVM (Support Vector Machine) SVM(Support Vector Machine)指的是支持向量机,是常见的一种判别方法.在机器学习领域,是一个有监督 ...

  6. 机器学习:支持向量机(SVM)

    SVM,称为支持向量机,曾经一度是应用最广泛的模型,它有很好的数学基础和理论基础,但是它的数学基础却比以前讲过的那些学习模型复杂很多,我一直认为它是最难推导,比神经网络的BP算法还要难懂,要想完全懂这 ...

  7. 机器学习(十一) 支持向量机 SVM(下)

    支持向量机通过某非线性变换 φ( x) ,将输入空间映射到高维特征空间.特征空间的维数可能非常高.如果支持向量机的求解只用到内积运算,而在低维输入空间又存在某个函数 K(x, x′) ,它恰好等于在高 ...

  8. 吴裕雄--天生自然python机器学习:支持向量机SVM

    基于最大间隔分隔数据 import matplotlib import matplotlib.pyplot as plt from numpy import * xcord0 = [] ycord0 ...

  9. 机器学习模型-支持向量机(SVM)

    二.代码实现 import numpy as np from sklearn import datasets from sklearn.model_selection import train_tes ...

随机推荐

  1. Opencv 张正友相机标定傻瓜教程

    注: 程序所用的OpenCV版本是 2.4.10 ,3.0以上的版本可能会有不同 先贴一下完整的工程代码: #include "opencv2/core/core.hpp" #in ...

  2. 将指定路径下的所有SVG文件导出成PNG等格式的图片(缩略图或原图大小)

    原文:将指定路径下的所有SVG文件导出成PNG等格式的图片(缩略图或原图大小) WPF的XAML文档(Main.xaml): <Window x:Class="SVG2Image.Ma ...

  3. tar.gz文件命名及压缩解压方法

    tar.gz文件命名 tar是把文件打成一个包,并不压缩; gz是用gzip把打成包的.tar文件压缩; 所以成了一个.tar.gz的文件 压缩 # tar cvfz backup.tar.gz /x ...

  4. 扪心自问,强大的UI框架,给我们带来了什么?(作者因此写了一个GuiLite)

    MFC, QT, MINIGUI, ANDROID, IOS,如果这些平台,你都使用过,在下真心佩服,也相信你对这篇文章最具有发言权,真心期待你的回复和建议. 这些著名的UI说出来都让人如雷贯耳,如果 ...

  5. 距离北京奥运还有359天,发布WPF版本的北京2008标志(上)

    原文:距离北京奥运还有359天,发布WPF版本的北京2008标志(上) 效果图: XAML代码:<Canvas Width="343.581055" Height=" ...

  6. python3操作注册表设置/取消IE代理

    import io, sys, time, re, os import winreg def enableProxy(IP, Port): proxy = IP + ":" + s ...

  7. Android 百度地图 SDK v3.0.0 (四) 离线地图功能介绍

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直认为地图应用支持离线地图非常重要啊.我等移动2G屌丝,流量不易 ...

  8. nginx+tomcat反向代理

    第一步:编辑nginx的配置文件 #服务转发一 upstream tomcat8080{ server 192.168.1.6:8080; } #服务转发二 upstream tomcat8081{ ...

  9. Selenium-等待

    分为3种 (1)就是通过线程强制等待 Thread.sleep(1000); (2)隐示等待.就是所有的命令都等待.分为3种 // 这个方法表示全局的等待.意思是针对所有的findElement方法都 ...

  10. 【转】关于List排序的时效性

    不多说了,就是说明List排序的时效性,仅仅用来备忘,改造自: http://blog.csdn.net/wanzhuan2010/article/details/6205884,感谢原作者 usin ...