SVM支持向量机(一)---简介
来源:互联网 发布:ubuntu trusty xenial 编辑:程序博客网 时间:2024/05/16 15:09
1.简介
在机器学习领域,很多时候会用到分类的一些算法,例如KNN,贝叶斯。我们可以把分类的样本简单除暴的分为两种类型。线性可分和非线性可分。
可以使用一个非常简单的例子来解释什么是线性可分,什么是线性不可分。
(a)线性可分的2类样本 (b)非线性可分的2类样
已知一个线性可分的数据集{(x1,y1),(x2,y2),...,(xN,yN)},其中x表示一个n维向量,当n=2时,表示一个平面向量,也就是平面中的一个点。y表示向量的类标签,在上例中只有两个类样本,y可以取1或者-1.
当数据样本为线性可分的情况,在二维的情况下,我们可以找到一条线,将两类完全分开。那么在n维的情况下,我们可以找到一个超平面来将两类数据完全分开。
1.1 超平面
该超平面可以用方程表示为:
wT x + b = 0
这个方程乍一看有些难以理解。
先回到二维的情况下。
令wT=(m,n)T,向量x=(x,y)。
可以得到:mx+ny+b=0,是一条直线方程。这里的wT我们称为缩放权矢量,b称为偏差项。
扩展到n维的情况,得到的方程便是超平面方程。
仍然回到二维的情况下讨论。
这条红色的线把红色的点和蓝色的点分开了,这条红色的线,便是二维意义上的超平面,也就是分类线。直观上,距离训练样本太近的分类线将对噪声比较敏感,且对训练样本之外的数据归纳的不是很好,而远离所有样本的分类线将可能具有更好的归纳能力。这便是整个SVM算法要实现的方向,尽可能使分类线远离所有的样本。
两条虚线之间的间隔称为分类间隔,上述的算法实现方向也可以理解为是使分类间隔最大化。
由点到平面距离公式:
所以样本点x与最佳超平面距离为|wTx+b|/||w||。
1.2 超平面规范化
wT x + b = 0
规范要求:选择适合的w和b,使得距超平面最近的样本距超平面的距离为1。设最近的样本点为xk
即满足公式:
|wTXk+b|=1
实际分类间隔为:
M = = 2×|wTx+b|/||w|| = 2/||w||
我们的目的是求M的最大值,等价于求1/2||w|||2. 的极小值。
所以问题就变得非常明朗,我们这是在解决一个条件极值问题。
条件是:|wTXk+b|=1
极值是:1/2||w|||2.的极小值。
因为离分类线最近距离的点的距离为1.所以还要满足另外一个约束条件是|wTXi+b|>1。
即 y i(wTXi+b)>1 1.1
还记得高数中如何求解条件极值吗?使用拉格朗日乘数法,忘了的赶紧回去恶补。
将式1.1中的每一个约束条件乘上一个拉格朗一乘数αi. 可以将此条件极值问题转化为一个优化问题。
我们需要找寻最小的L。
2.支持向量
讨论了那么久,竟然还是不知道算法名称的由来。
还是这样一幅图,虚线上的点,便可以理解为支持向量,但是这些点到底在算法起到什么重要的作用,以至于这些点可以成为算法的核心?
还记得上一节中一个重要的条件:
|wTXk+b|=1
所有的支持向量都满足这样一个条件,而所有的不是支持向量的点,满足条件:
y i(wTXi+b)>1
从几何关系上理解,便是这些点支撑起了超平面。
- SVM支持向量机(一)---简介
- SVM-支持向量机简介
- 支持向量机SVM简介
- 支持向量机(SVM)简介
- 支持向量机(SVM) 简介
- 支持向量机SVM的简介
- 支持向量机(SVM)简介
- SVM支持向量机原理(一) 线性支持向量机
- SVM-支持向量机算法(一)
- 支持向量机SVM(一)
- 支持向量机SVM(一)
- 支持向量机SVM(一)
- SVM支持向量机一(入门)
- 支持向量机SVM(一)
- 支持向量机SVM(一)
- 支持向量机SVM(一)
- 支持向量机SVM(一)
- 支持向量机SVM(一)
- Centos7 使用总结
- Android学习之自定义view——TopBar
- 阶段性总结(一)
- SQL Server SA 最佳实践(也许不仅仅是翻译)
- IT公司笔试题细节
- SVM支持向量机(一)---简介
- about kvm
- 各种杂项组件(4)之----SearchView(搜索框)、TabHost(选项卡)、ScrollView(滚动视图)
- IOS之Objective-C学习笔记(七)
- 一个我自己写的矩阵快速幂模板
- Python爬虫入门 《下》
- SOAP消息机制简介
- 打印分数---循环switch
- 黑马程序员之String类