SVM笔记(一)硬间隔SVM
什么是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相关推荐
- 砥志研思SVM(一) 最优间隔分类器问题(上):硬间隔SVM
- 【机器学习系列】之SVM硬间隔和软间隔
作者:張張張張 github地址:https://github.com/zhanghekai [转载请注明出处,谢谢!] [机器学习系列]之SVM硬间隔和软间隔 [机器学习系列]之SVM核函数和SMO ...
- 机器学习西瓜书笔记:软间隔和支持向量回归SVR
1.首先由SVM问题(最大间隔超平面模型):所有样本都可以正确分类的最优化问题,引入软间隔SVM(允许分类错误)的最优化问题,即需要添加损失函数(样本不满足约束的程度,或者说分类错误的程度),然后最优 ...
- SVM笔记(二)拉格朗日对偶、KTT条件、软间隔SVM
上一篇:SVM笔记(一) 上一篇写到讲硬间隔的SVM转化为凸二次规划问题,也就是QP问题,之后可以是用现成的软件求解QP问题.但是如果样本数量大和维度比较高,会导致问题求解困难或不可解,因此引入了拉格 ...
- 支持向量机(SVM):超平面及最大间隔化、支持向量机的数学模型、软间隔与硬间隔、线性可分支持向量机、线性支持向量机、非线性支持向量机、核函数、核函数选择、SMO算法、SVM vs LR、优缺点
支持向量机(SVM):超平面及最大间隔化.支持向量机的数学模型.软间隔与硬间隔.线性可分支持向量机.线性支持向量机.非线性支持向量机.核函数.核函数选择.SMO算法.SVM vs LR.优缺点 目录
- 机器学习-SVM硬间隔与软间隔:重要参数C
SVM在软间隔数据上的推广 到这里,我们已经了解了线性SVC的基本原理,以及SVM如何被推广到非线性情况下,还了解了核函数的选择和应用.但实际上,我们依然没有完全了解SVM用于二分类的全貌.我们之前在 ...
- 百题突击12:1,SVM算法的优缺点 2,SVM的超参数C如何调节 3,SVM的核函数如何选择 4,简述SVM硬间隔推导过程 5,简述SVM软间隔推导过程
1,SVM算法的优缺点 优点 可以解决高维问题,即大型特征空间: 解决小样本下机器学习问题: 能够处理非线性特征的相互作用: 无局部极小值问题:(相对于神经网络等算法) 无需依赖整个数据: 泛化能力比 ...
- 手撕SVM公式——硬间隔、软间隔、核技巧
1.SVM作用 对于给定的训练样本集D={(x1,y1), (x2,y2),- (xn,yn)},yi属于{-1,+1},希望能找出一个超平面,把不同类别的数据集分开,对于线性可分的数据集来说,这样的 ...
- SVM求硬间隔最大超平面
SVM求硬间隔最大超平面 题目描述 解法 Reference 题目描述 正例点 x 1 = ( 3 , 3 ) T x_1=(3,3)^{T} x1=(3,3)T, x 2 = ( 4 , 3 ) ...
- svm硬间隔与软间隔
硬间隔:完全分类准确,其损失函数不存在:其损失值为0:只要找出两个异类正中间的那个平面: 软间隔:允许一定量的样本分类错误:优化函数包括两个部分,一部分是点到平面的间隔距离,一部分是误分类的损失个数: ...
最新文章
- 关于神经网络模型的一些入门知识
- 美创企推出仅90斤的物流无人车,成本低至5000美元
- java.util.concurrent介绍
- Notification的功能和用法 加薪通知
- leetcode - 46. 全排列(对vector容器的元素进行搜索,判断是否存在vector中)
- JAVA 大数运算模板 ACM竞赛必备
- Java EE 8终于给出即将完成的迹象
- 2021最新Node.js视频教程(基础+全栈项目)
- 用Python制作我的核酸检测日历
- Duilib的界面设计工具DuiDesigner的使用说明
- 神奇的夏时令——本来设置好的日期在保存完成后少了一天?
- 天天向上的力量---python持续的力量
- ZooKeeper 的 Watch 机制是什么?
- python2 unicode_python2 中列表中unicode转换为输出中文
- php blog 博客程序那个好
- 今天,我要挺一把 CSDN!
- DNGuard V1.0 for Win98, WinMe 的运行库发布
- python中图片转PDF的2种方法
- 充电宝不耐用怎么恢复?2022最耐用的充电宝排行榜
- MySQL的索引(普通索引、唯一索引,主键索引、组合索引、全文索引、空间索引)相关操作
热门文章
- 使用@selector模仿代理功能降低代码耦合度
- TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]
- 四步帮你分析用户流失原因 - 产品设计GAP模型
- Apache Flink 学习教程----持续更新
- ZigBee协议栈解析
- [Python WEB开发] 使用WSGI开发类Flask框架 (二)
- 可以用字符流复制一张图片文件吗?
- 移动开发框架,第【三】弹:Zepto.js
- 初中级工程师是否应急于学习html5?
- Struts原理、开发及项目实施