【机器学习】|SVM理解

ref
https://www.zhihu.com/question/21094489
https://blog.csdn.net/myarrow/article/details/51261971

Support Vector Machine, 一个普通的SVM就是一条直线罢了,用来完美划分线性可分的两类。但这又不是一条普通的直线,这是无数条可以分类的直线当中最完美的,因为它恰好在两个类的中间,距离两个类的点都一样远。而所谓的Support vector就是这些离分界线最近的『点』

1直观理解

可以说是这些vectors(主,点点)support(谓,定义)了machine(宾,分类器)…
在这里插入图片描述
如果是高维的点,SVM的分界线就是平面或者超平面。其实没有差,都是一刀切两块,我就统统叫直线了。

2求解

找到一个boundary
(1)距离两边一样远(2)最近的距离为support vector 到boundary的距离
可以表达为:寻找一个boundary,使得margin最大。且正确归类的点到boundary的距离都大于margin
在这里插入图片描述
其中距离,就是点到直线的距离;只要定义带正负号的距离,是{苹果+1}面为正{香蕉-1}面为负,互相乘上label{+1.-1},就都是正的了。

2.1 数学直观表达

2.1.1 距离表达

直线:在这里插入图片描述
任意点x_0到该直线的距离为:在这里插入图片描述
初中学过,二维是
在这里插入图片描述,高维表达如上。

2.1.2 坐标点表达

对于n个训练点的信息(点的坐标,苹果还是香蕉)记为在这里插入图片描述

2.1.3 目标函数直观表达

在这里插入图片描述
内层min:就是寻找n个点到直线的距离(乘上了yi转化成正的)

外层max:找到使得距离最大的w b
也可以写为:
在这里插入图片描述在这里插入图片描述

在这里插入图片描述就是为了表达方便

2.2 求解

在这里插入图片描述

对目标函数等价转换

2.2.1 经典表示

直接表达虽然清楚但是求解无从下手。做一些简单地等价变换(分母倒上来),w不过是个定义直线的参数
在这里插入图片描述在这里插入图片描述
为了以后推导方便,一般写成:

在这里插入图片描述在这里插入图片描述
margin取1 ,这个『1』就是一个常数,这样设置是为了以后的方便
这个选择的自由来自于直线的参数如果rescale成kw和kb不改变距离。

2.2.2 对偶表示

2.2.2.1 拉格朗日乘子法

把约束条件在这里插入图片描述融合到目标函数中,建立拉格朗日公式
在这里插入图片描述

两个任务:

  • ①对参数最小化L(解SVM要求)
  • ②对乘子又要最大化(拉格朗日乘子法要求)

分析:
如果上面的约束条件成立,则整个求和都是非负的,则可以实现最小化L
如果约束条件不成立,又要对乘子最大化,L将很大。

求解:
① 先搞定第一个任务对w,b最小化L:
凸优化直接取导 =>置零,得到:
在这里插入图片描述
在这里插入图片描述
② 第二个任务对a最大化L,就是对偶问题了

将其带入,
在这里插入图片描述

2.3 核

如果香蕉和苹果不能用直线分割呢?在这里插入图片描述
用直线分割的时候我们已经使用了kernel,那就是线性kernel,在这里插入图片描述

如果要替换kernel那么把目标函数里面的内积全部替换成新的kernel function就好了

2.4 松弛变量

如果香蕉和苹果有交集呢?在这里插入图片描述
松弛变量允许错误的分类,但是要付出代价。

图中以苹果为例,错误分类的苹果>1,在margin当中但是正确分类的苹果 0<x<1,正确分类并且在margin外面的苹果x=0
对于这一次整体的惩罚力度,要另外使用一个超参数 来衡量这一次分类的惩罚程度。

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值