手推SVM(一)-数学推导

  1. SVM的想法
  2. SVM中在数学上目标
    2.1 判定条件
    2.2 最大间隔假设
  3. SVM的推导
    3.1 第一种境界
    3.2 第二种境界
    3.3 第三种境界-kkt条件

SVM的推导过程和他的地位一样重要,虽然很久以前就已经接触过SVM了,但总感觉理解不是很深,接着听课的热度,顺便写篇文章让自己理解更深刻一点,本文假设你只会简单的向量乘法,推导出SVM。

1.SVM的想法

监督学习,作为一个二分类任务,在平面上表示就是希望有这么一条分类边界,能把正负样本分开,每种分类器画的分类边界都不一样,到底哪个最好,只能看问题,看数据,看实际的应用场景。
这里写图片描述
上图中,有三条决策边界,而SVM的关键假设是 :找到一条直线到样本点两边的距离最大,也就是margin最大。这样的好处就是模型具有更好的鲁棒性。

什么是鲁棒性呢?
通俗理解来说就是更能容忍误差,比如下图中的红色xx,从左到右是点到直线的距离越来越远的,如果是最左边的一条线,假设有一个点和红色叉叉比较接近,但刚好在红色叉叉的下方,这时候,模型会判定这条线蓝色小圈圈的,而最右边的那条线则会判定为红色叉叉,所以相比来说,最右边的线比最左边的线具有更好的鲁棒性。
这里写图片描述

上图是点到线的距离,那换成线到点的距离是不是一样的呢?

这里写图片描述
很容易想到我们希望这条街的街宽最大,但是,该怎么定义呢?

用数学表达式表达出来可以有这样的式子,街宽用术语来说就是margin:

OK,这是我们的想法,那我们怎么实现这个想法呢?

2.SVM中在数学上目标

2.1 判定条件

假设中间那条实线是最好的决策边界,做 w⃗  为垂直于中间那条线的向量,新来一个点,与0组成向量表示为 u⃗  ,如果 u⃗  w⃗  上的投影大于某一数值C,则判定该点为正样本,用向量表示为:

w⃗ ||w||u⃗ >=C
把C移过来可以写成:
1||w||(w⃗ u⃗ +b)>=0

这里写图片描述

2.2 最大间隔假设

为了让决策边界更好的划分样本,也为了模型具有更好的泛化能力,我们希望模型在训练集中,这条街的宽度尽可能大,同时,因为 1||w|| 是可变的,对整体的公式没有影响,相当于系数,用数学公式表达这个想法就是:

w⃗ X++b>=1
w⃗ X+b<=1
当然这个1不是规定的,也可以是更大的数,但如果是10,我总能够对方向量 w⃗  进行适当的伸缩,让它又变回1,所以为了计算方便,我们把它设成1.这就是SVM的最大间隔假设。

再来回顾一下,我们的总目标就是找到这样参数 w⃗ ,b 能判断样本是正样本还是负样本,同时在训练集中,要求它的间隔尽可能得大。

  1. SVM的推导

3.1 第一种境界

提个要求很容易,但具体的参数应该怎么求呢?
为了求解方便,我们用一个小技巧,把最大间隔假设合成一个式子:

yi(w⃗ X++b)>=1yi=1,1
其实这里的 yi 相当于一个符号,其中对于边界上的点(街边)要求:
yi(w⃗ X⃗ +b)=1

那这个街宽应该怎么求出来呢?假设我们只会向量的乘法,我们来看一下怎么通过向量的乘法求出街的宽度。

下方为负样本,上方为正样本,在法向量 w⃗  上选取位于街边的正样本,可以得到正,负样本的距离为

 x+x_|x+x_|
,那街的宽度不就是向量 x+x_ 在法向量上的投影吗?
width=(x+<
  • 8
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值