Multiclass SVM Loss笔记

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

内容简介:此文章为在前面的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-9 / 52.00元

2020年左右,AI(人工智能)将超越人类的智力水平。2045年,人类将迎来“奇点”——科技进步的速度达到无限大。 所有技术都在以空前的速度向前发展。同时,以往带来巨大财富的众多技术将走向“非货币化”。当下,人类正面临着被AI夺去工作的危机。许多传统行业(例如汽车制造业)将被彻底颠覆,但新的机会也在酝酿,技术的进步使得带宽成本、计算成本、存储成本等创新成本趋近于0,创业不再是资本、技术或信息......一起来看看 《驾驭未来:抓住奇点冲击下的商机》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具