美文网首页
SVM在二维平面的理解

SVM在二维平面的理解

作者: 安心远 | 来源:发表于2018-02-12 15:25 被阅读76次

SVM是数据挖掘十大算法之一,其原理不是很好理解,学习了一些资料之后做一个浅显的笔记,欢迎有机器学习爱好的同仁来交流,和批评指正。

SVM介绍

SVM(Support Vector Machine)指的是支持向量机,是一种分类算法。在机器学习领域,是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。在深度学习出现之前,SVM被认为机器学习中近十几年表现最好的算法。
SVM是在一个向量空间内通过找到一个超平面[1],将数据分隔在超平面两侧的算法,从而达到对数据分类,及预测分类的目的。
例子:


区分两个分类哪条线最好?

SVM寻找分类的超平面

SVM寻找区分两类的超平面,使超平面距离支持向量[2]的边际最大
如何选取使边际最大的超平面?
超平面到一侧最近点的距离等于超平面到另一侧最近点的距离,两侧的两个超平面平行

寻找边际最大超平面

线性可区分和线性不可区分

线性可区分和线性不可区分

在上图1给的样本数据中大部分是分布在分隔线两侧的,但是有两个点不是,这样找不到一条直线把样本数据完全分隔开,这时候就是线性不可区分的,图2也是线性不可区分的。这种是比较复杂的情况,我目前只学习了线性可区分的知识。

定义与公式建立

超平面可定义为

超平面公式

以下图为例


横轴X1 纵轴X2

这里W和X都是向量,假如平面是二维的,超平面就是一维的,设W向量表示为|w1,w2|,向量X表示为|x1,x2|,超平面公式等价于

w1*x1 + w2*x2 + b = 0
x2 = -w1/w2 * x1 - b/w2
斜率 = -w1/w2
截距 = - b/w2

所以在超平面上方的点满足

 w1*x1 + w2*x2 + b > 0

在超平面下方的点满足

 w1*x1 + w2*x2 + b < 0

调整b的值,使得超平面到两边支持向量的距离都为1,有

超平面上方的点满足
 w1*x1 + w2*x2 + b >= 1
超平面上方边际方程:
 w1*x1 + w2*x2 + b = 1
超平面下方的点满足
 w1*x1 + w2*x2 + b <= -1
超平面下方边际方程:
 w1*x1 + w2*x2 + b = -1

下图超平面的算法


即绿色斜线方程的算法

理解:
第一步 寻找支持向量
一类是(1,1)、(2,0),另一类是(2,3),支持向量点是(1,1)和(2,3),如果如果样本特征向量比较多,寻找支持向量需要计算
第二步 寻找能分隔两类,且距两类点都最远的线
这条线应该满足以下两点:
  1、与(1,1)和(2,3)为顶点的线段d垂直
  2、能平分线段d
求解过程如下:
为了阅读和理解的方便,将X1 写成 x ,X2 写成y
设斜线方程为:ax+2ay + b = 0
(1,1) 在斜线下方,(2,3)在斜线上方,假使上下边际都是1的情况下,有
1a+2a+b=-1,2a+6a+b=1两个方程成立
得:a = 2/5,b = -11/5
斜线方程:x+ 2y - 5.5 = 0

SVM如何找到边际最大的超平面

超平面公式

其实我也不知道这个公式是怎么推到出来的,涉及到凸优化、KTT条件、拉格朗日公式

超平面:在几何体中,超平面是一维小于其环境空间的子空间,三维空间的超平面是二维,二维空间的超平面就是一维的。
支持向量:就是离分隔超平面最近的那些点。接下来要试着最大化支持向量到分隔面的距离,需要找到此问题的优化求解方法。

相关文章

  • SVM在二维平面的理解

    SVM是数据挖掘十大算法之一,其原理不是很好理解,学习了一些资料之后做一个浅显的笔记,欢迎有机器学习爱好的同仁来交...

  • 数据挖掘导论——第五章 分类 其他技术

    SVM:寻找支持向量、预测: 线性支持向量机:可分情况 ——使用svm寻找二维数据的决策平面: 结果如下 SVC(...

  • 核函数支持向量机(kernel SVM)-原理

    1、SVM的局限性 SVM只能对线性可分的数进行分类,这张线性模型在一维空间是一个点,在二维空间是一条直线,在三维...

  • 算法岗面试——机器学习总结

    SVM! 参考资料支持向量机通俗导论(理解SVM的三层境界)参考资料支持向量机(SVM)从入门到放弃再到掌握 支持...

  • 第九天 什么是支持向量机

    这里旨在理解svm,我就找了下知乎,原文地址,部分图片还要截图上传,很烦? 趣味SVM 好吧,故事是这样子的:在很...

  • 简单理解SVM

    现在,我们有一堆球(这是解释svm经常用到的场景),如下: 从这张图中,我们可以明显地看出蓝色为一类,红色为一类,...

  • 10.SVM推导与证明

    问题描述(以二维为例) 最后得到的式子就是线性可分SVM最后的优化公式

  • libsvm简单应用

    前言 这段时间一直在折腾svm,svm的原理这里不多说,看andrew,或者网上一些大神的介绍就能很容易理解是怎么...

  • 降维算法二:LDA(Linear Discriminant An

    前言 学习分类算法,线性分类器最简单的就是LDA,它可以看做是简化版的SVM,如果想理解SVM这种分类器,那理解L...

  • 机器学习概念知识点整理

    SVM 1.支持向量机通俗导论(理解SVM的三层境界):https://blog.csdn.net/v_JULY_...

网友评论

      本文标题:SVM在二维平面的理解

      本文链接:https://www.haomeiwen.com/subject/msxltftx.html