什么是SVM?

SVM是一种二分类算法,其中SVM三个重要的部分是间隔、对偶、核技巧。SVM的基本模型是定义在原始特征空间上基于最大间隔的线性分类器,Kernal的引入使得SVM变成了非线性分类器。SVM的学习策略就是最大化间隔,后面跟会提到两种间隔:functional margin和geometric margin。可将这个学习问题转换为一个解凸二次规划的问题,SVM就变成了一个解凸二次规划问题的最优化算法。kernal思想同样可以用在其他机器学习算法中。

硬间隔SVM

首先假设,数据中的两个类是线性可分的,就是说可以将两个类用一条直线或者一个超平面完全分开,因此就可以使用基本的SVM模型对数据进行分类。

硬间隔SVM可以理解为最大间隔分类器,就是说在两类之间找到一个超平面,使得这个超平面到达两类之间的间隔最大,由于是线性分类器,将两类以超平面分开,因此可以将超平面表示为  ,如图:

由此SVM转换为两个子问题,如何定义间隔,以及如何使间隔最大 。

如何定义间隔

从上面图中可以看到,有三条线均可以将两类“完美”分开,但是根据间隔最大的思想,蓝线明显具有更好的泛化效果。SVM是一个判别模型,它只需要判别sample属于哪一类即可,不需要计算概率。使用逻辑回归中的sigmoid函数可以实现这样的效果,将结果映射到0-1区间内,大于0.5为“1”类,小于0.5为“0”类。也可以理解为一个符号函数:,大于零时返回1,小于零时返回-1,如图:

在CS229中给出了两种间隔,几何间隔和函数间隔,对于这两种间隔可以这样理解。获得最优间隔的前提是分类正确。在超平面上方一侧的样本点带入超平面的表达式为正,另一侧样本点带入超平面的表达式中为负,因此可以得到下面这个表达式:

观察发现  和  同号,所以可以将式子简化为:

因此,令:

这个形式便是函数间隔。

对于几何间隔,可以直接根据点到直线距离计算得到:

由于,

且y=-1或1,因此我们可以去掉绝对值写成这种形式:

可以看出几何间隔和函数间隔相差一个,因为对超平面的w和b同时缩放相同倍数,超平面是不变的,这个很容易理解,因此几何间隔和函数间隔是表示同一个超平面。对于整体的间隔定义为所有样本点中到超平面中最小的间隔:

如何使间隔最大化

接下来就是将间隔最大化,也就是最大化最小间隔:

这个公式很好理解,最小间隔为, 约束条件是每一个样本点到超平面的间隔都大于等于

由于将超平面的参数w,b同比例缩放不改变超平面的位置,令,带入上式可以得到:

可以将上面的式子接着转换:

由此将SVM转化为了一个凸二次规划问题求解。

SVM笔记(一)硬间隔SVM相关推荐

  1. 砥志研思SVM(一) 最优间隔分类器问题(上):硬间隔SVM

  2. 【机器学习系列】之SVM硬间隔和软间隔

    作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] [机器学习系列]之SVM硬间隔和软间隔 [机器学习系列]之SVM核函数和SMO ...

  3. 机器学习西瓜书笔记:软间隔和支持向量回归SVR

    1.首先由SVM问题(最大间隔超平面模型):所有样本都可以正确分类的最优化问题,引入软间隔SVM(允许分类错误)的最优化问题,即需要添加损失函数(样本不满足约束的程度,或者说分类错误的程度),然后最优 ...

  4. SVM笔记(二)拉格朗日对偶、KTT条件、软间隔SVM

    上一篇:SVM笔记(一) 上一篇写到讲硬间隔的SVM转化为凸二次规划问题,也就是QP问题,之后可以是用现成的软件求解QP问题.但是如果样本数量大和维度比较高,会导致问题求解困难或不可解,因此引入了拉格 ...

  5. 支持向量机(SVM):超平面及最大间隔化、支持向量机的数学模型、软间隔与硬间隔、线性可分支持向量机、线性支持向量机、非线性支持向量机、核函数、核函数选择、SMO算法、SVM vs LR、优缺点

    支持向量机(SVM):超平面及最大间隔化.支持向量机的数学模型.软间隔与硬间隔.线性可分支持向量机.线性支持向量机.非线性支持向量机.核函数.核函数选择.SMO算法.SVM vs LR.优缺点 目录

  6. 机器学习-SVM硬间隔与软间隔:重要参数C

    SVM在软间隔数据上的推广 到这里,我们已经了解了线性SVC的基本原理,以及SVM如何被推广到非线性情况下,还了解了核函数的选择和应用.但实际上,我们依然没有完全了解SVM用于二分类的全貌.我们之前在 ...

  7. 百题突击12:1,SVM算法的优缺点 2,SVM的超参数C如何调节 3,SVM的核函数如何选择 4,简述SVM硬间隔推导过程 5,简述SVM软间隔推导过程

    1,SVM算法的优缺点 优点 可以解决高维问题,即大型特征空间: 解决小样本下机器学习问题: 能够处理非线性特征的相互作用: 无局部极小值问题:(相对于神经网络等算法) 无需依赖整个数据: 泛化能力比 ...

  8. 手撕SVM公式——硬间隔、软间隔、核技巧

    1.SVM作用 对于给定的训练样本集D={(x1,y1), (x2,y2),- (xn,yn)},yi属于{-1,+1},希望能找出一个超平面,把不同类别的数据集分开,对于线性可分的数据集来说,这样的 ...

  9. SVM求硬间隔最大超平面

    SVM求硬间隔最大超平面 题目描述 解法 Reference 题目描述 正例点 x 1 = ( 3 , 3 ) T x_1=(3,3)^{T} x1​=(3,3)T, x 2 = ( 4 , 3 ) ...

  10. svm硬间隔与软间隔

    硬间隔:完全分类准确,其损失函数不存在:其损失值为0:只要找出两个异类正中间的那个平面: 软间隔:允许一定量的样本分类错误:优化函数包括两个部分,一部分是点到平面的间隔距离,一部分是误分类的损失个数: ...

最新文章

  1. 关于神经网络模型的一些入门知识
  2. 美创企推出仅90斤的物流无人车,成本低至5000美元
  3. java.util.concurrent介绍
  4. Notification的功能和用法 加薪通知
  5. leetcode - 46. 全排列(对vector容器的元素进行搜索,判断是否存在vector中)
  6. JAVA 大数运算模板 ACM竞赛必备
  7. Java EE 8终于给出即将完成的迹象
  8. 2021最新Node.js视频教程(基础+全栈项目)
  9. 用Python制作我的核酸检测日历
  10. Duilib的界面设计工具DuiDesigner的使用说明
  11. 神奇的夏时令——本来设置好的日期在保存完成后少了一天?
  12. 天天向上的力量---python持续的力量
  13. ZooKeeper 的 Watch 机制是什么?
  14. python2 unicode_python2 中列表中unicode转换为输出中文
  15. php blog 博客程序那个好
  16. 今天,我要挺一把 CSDN!
  17. DNGuard V1.0 for Win98, WinMe 的运行库发布
  18. python中图片转PDF的2种方法
  19. 充电宝不耐用怎么恢复?2022最耐用的充电宝排行榜
  20. MySQL的索引(普通索引、唯一索引,主键索引、组合索引、全文索引、空间索引)相关操作

热门文章

  1. 使用@selector模仿代理功能降低代码耦合度
  2. TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]
  3. 四步帮你分析用户流失原因 - 产品设计GAP模型
  4. Apache Flink 学习教程----持续更新
  5. ZigBee协议栈解析
  6. [Python WEB开发] 使用WSGI开发类Flask框架 (二)
  7. 可以用字符流复制一张图片文件吗?
  8. 移动开发框架,第【三】弹:Zepto.js
  9. 初中级工程师是否应急于学习html5?
  10. Struts原理、开发及项目实施