手推SVM(三)-软间隔和损失函数的推导

  1. 软间隔的提出
  2. 对偶问题及其化简
  3. 参数的求解
  4. 参数的调优

1.软间隔的提出

上一篇文章(手推SVM(二)-核方法 )我们用核方法来解决线性不可分问题,但如果即使映射到高维空间中,仍然有部分点不能完美的区分开呢?
这里写图片描述
如图,无论核函数怎么选取,都不能完美区分开数据,即使能完美的区分开数据,也会很容易导致过拟合的发生,这时候我们该怎么办呢?

既然人在做某事的时候,能允许犯一点小错,那模型为什么就不能允许犯一点小错呢?这就是软间隔的想法,既然确实无法区分开,那我就允许部分点分类错误就OK了,因为那部分点也有可能是离群点或噪声数据。

换成公式就是:
pocket表示允许部分点的预测标签与真实标签不一致,但只要这个不一致的数据数量最小就好了。
这里写图片描述

把两者结合起来,就是:
这里写图片描述
对于部分样本允许它的值大于负无穷,也就意味着允许它分类错误,参数C的作用就是为限制分错的样本数量,调整C可以让模型是更注重margin还是更注重分错的数量,使模型的准确率保持在一定范围内。

把两个条件合成一个条件,表示如果它分类正确的话,就让我们更注重margin。
图1
但是,发现这个条件约束不是一个线性函数,如果不是线性函数,那我们之前所推导的对偶问题,核函数就都不能使用了,那该怎么办才好呢?

那我们上面是看分类错误的个数,那既然分类错误了,我们能不能看一下错的有多离谱呢?就像我们和你偶像之间的距离,你应该想知道你和他到底差了多少个级别,哪里离得比较远,你就知道自己哪里不足了,然后慢慢的学习,私底下慢慢的改进,模型也一样呀,那我们可以不记录到底错了多少个,我们看一下分类错误的样本还差多少能被分类正确,因此定义了 ξn ,它表示分类错误的时候,还需要多少距离,才能被分类正确。
这里写图片描述

用图形表示 就是希望如下违规点的violation的长度越小越好,最好小于等于0.其中C在其中的作用就是控制间隔的大小和违规的样本数量。C越大,就代表我们希望违规的样本越少越好,哪怕这个margin(街宽)变小也无所谓;C越小,就代表允许有很多违规的样本,但希望我们的margin大一点比较好。
这里写图片描述

其实这样的计算误差的方法就是SVM中的损失函数,我们通过一个图像识别的例子看一下它具体是怎么做的?
详细例子:
hinge loss/线性SVM的损失函数

这里写图片描述
假设上面那张猫的图片数据为 xi ,其他还有狗和船的,在W下有一个得分向量

f(x,W)=[13,7,11]
,分别代表猫,船,狗的得分,但正确答案是猫,也就是第一个,hinge loss希望正确答案与错误答案之间的得分差距在某一阀值范围内,假设为10,就可以得到
Li=max(0,713+10)+max(0,1113+10)=0+7=7
因为猫和狗的得分之间的差距不满足阀值,就会增加一个损失,而猫和船之间的差距符合阀值10,所以船这个分类就不会带来任何损失。
用公式表示:
Li=max(0,得<
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值