Multiclass SVM Loss笔记

栏目: 编程工具 · 发布时间: 5年前

内容简介:此文章为在前面的Linear Classify学习中,我们通过训练,可以得到参数这就需要我们定义一个

此文章为 罗周杨 原创,转载请注明作者和出处

在前面的Linear Classify学习中,我们通过训练,可以得到参数 W ,那么,我们怎么评价这个 W 是否足够好呢?如果不好,我们该怎么调整呢?

这就需要我们定义一个 损失函数(loss or cost function) 来度量,并且通过最小化损失函数,来调整 W ,使我们的分类结果最准确。

对于每一对训练数据,我们可以定义一个损失函数,表示为: L_{i} ,那么所有训练数据的损失,则表示成平均损失:

L = \frac{1}{N}\sum_{i=1}^{N}L_{i}(f(x_{i},W),y_{i})

这个损失函数,表示了我们的 W 的好坏程度。

Multiclass SVM Loss

对于每一对训练数据 x_{i}y_{i} ,我们可以定义一个分数函数,用来评价我们的模型好坏程度:

s=f(x_{i},W)

那么我们的 Multiclass SVM Loss 可以表示为:

L_{i}=\sum_{j\neq y_{i}}\max(0,s_{j}-s_{y_{i}}+\Delta)

注:

Multiclass SVM的核心思想就是:分类正确的分数s0必须比任何一个分类错误的分数s1高出 \Delta ,否则损失为0

那么,对于所有的训练样本,我们可以得到损失函数:

L=\frac{1}{N}\sum_{i=1}^{N}\sum_{j\neq y_{i}}\max(0,s_{j}-s_{y_{i}}+\Delta)

s=f(x_{i};W)

所以可以得到损失函数:

L=\frac{1}{N}\sum_{i=1}^{N}\sum_{j\neq y_{i}}\max(0,f(x_{i};W)-f(x_{y_{i};W})+\Delta)

现在有一个问题,如果我们的损失函数max操作后,再平方一次,这样算是一个新的分类算法吗? 。平方有一个作用就是把差异放大。同理,还有其他类似的操作也可以达到类似的效果。

那么该如何选择呢?具体问题具体分析。

我们的Multiclass SVM的损失函数算是定义好了,但是上述损失函数存在一个问题**这样训练出来的权重 W 不唯一。

道理很简单,假设 W 能够让我们的分类全部正确,那么 2W 显然也可以让我们的分类全部正确,因为对于 2WW ,我们的损失函数中的 \Delta 没有改变,如果 2W 的分数函数是 W 的2倍,那么他们的差值也变成2倍,那么如果原来的差值大于 \Delta ,那么2倍的差值显然大于 \Delta ,也就是说 分类结果不会改变

显然,把 系数2 推广到其他数字,也是同样的道理。也就是说这种损失函数没办法确定一个唯一的 W ,使我们的结果最准确。

那么怎么办呢?

Regularization Loss

为了解决这个问题,我在原来的损失后面加上一项损失叫做 Regularization Loss

我们前面的损失函数,是和数据有关的损失,叫做 数据损失 ,我们加上的这一项损失,和数据无关,但是和权重 W 有关,我们叫做 Regularization ,它表示成 \lambda R(W)

从数学上也很容易理解,加上一项约束,能够表示更复杂的关系。我们的Regularization算是一种惩罚措施,能够对突出的值进行惩罚,使我们的模型表现更好。

那么我们的Regularization函数是什么样子的呢?和损失函数自己一样,我们的Regularization loss函数也有很多种表达。但是最常见的一种是 L2 Regularization

R(W)=\sum_{k}\sum_{l}W_{k,l}^2

意识很明确:对于权重的每一个值的平方和。

当然,还有其他的Regularization,例如:

L1:

R(W)=\sum_{k}\sum_{l}|W_{k,l}|

Elastic(L1+L2):

R(W)=\sum_{k}\sum_{l}\beta W_{k,l}^2+|W_{k,l}|

上面这几种不仅深度学习里面出现,一般的机器学习也很常见。当然常见的regularization除此之外,还有 Max Norm RegularizationDropout ,以及 Fancier:Batch normalization

那么看看我们最终的损失函数吧:

L=\frac{1}{N}\sum_{i=1}^{N}\sum_{j\neq y_{i}}[\max(0,f(x_{i};W)-f(x_{y_{i};W})+\Delta)]+\lambda\sum_{k}\sum_{l}W_{k,l}^2

联系我

  • Email: stupidme.me.lzy@gmail.com
  • WeChat: luozhouyang0528
    Multiclass SVM Loss笔记

个人公众号,你可能会感兴趣:

Multiclass SVM Loss笔记

以上所述就是小编给大家介绍的《Multiclass SVM Loss笔记》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

腾讯产品法

腾讯产品法

李立 / 浙江大学出版社 / 2018-1 / 49元

从QQ到微信,从《英雄联盟》到《王者荣耀》,腾讯公司凭借强大的产品力成为世界互联网企业中的佼佼者,其“小步快跑,试错迭代”的产品开发机制,“别让我思考”的极简主义理念,“变成白痴级用户”的用户驱动战略,都成为整个中国互联网行业竞相学习的典范。 本书向读者完整地呈现了腾讯产品设计的底层思路,阐述了设计者如何发现问题、定义问题、拆解问题的全过程,从“产品思维”出发,以需求、战略、产品设计开发与运......一起来看看 《腾讯产品法》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具