百科问答小站 logo
百科问答小站 font logo



为什么交叉熵(cross-entropy)可以用于计算代价? 第1页

  

user avatar   fffar 网友的相关建议: 
      

一个函数,如果是非负的,且当predict与label越接近,函数值越小,那么该函数就可以作为代价函数。

是标签label, 是模型的预测结果。

交叉熵损失的形式是:

事实上,把log去掉,或者换成exp,都能作为代价函数。

因为这类公式的背后原理都是“排序不等式”。

排序不等式指的是:

当 ,

,

有,

其中是的一个置换。

简而言之,就是顺序和≥乱序和≥倒序和。大的数和大的数配对相乘,小的数和小的数配对相乘,这样的顺序和是最大的。

交叉熵损失函数越小,意味着预测与真实标签越接近。此时应该越大。根据排序不等式,对于任何一个,当比较大时,也应该比较大,反之同理。这是符合直觉的,当某一个类的真实label很大时,预测分数也应该比较高,这才能保证损失函数较小。

根据排序不等式的思想,我们可以对交叉熵进行魔改。

原始版本:

内积版本:

协方差版本:

和 分别是p和q的均值

如果再除以p和q的标准差,那么可以得到相关系数版本(或余弦距离版本)。

指数爆炸版本:

双重否定版本:

禁止套娃版本:


user avatar   ling-jian-94 网友的相关建议: 
      

交叉熵这东西你如果理解为两个概率分布会发现它就是nonsense,你得把对数里面那个分布理解为真实的随机变量分布,而将对数外面那个理解为观察到的频率。然后你就会发现它就是最最原始的MLE(最大似然估计)套了个时髦的壳而已。

比如说现在有一个真实分布为 的随机变量,我们对它进行了N次独立同分布实验,对于每个可能的结果x观察到的次数为 ,那么它的似然值就可以写成

很好理解对吧,乘法公式,把每次实验的概率乘起来,然后合并相同的项写成幂次。这是个乘积的形式,取个对数可以得到求和的形式:

这个式子有两个缺点,第一它是个负数,第二它的数值跟样本数有关,样本越多数值越小,因此除以一下总的样本数归一化,再取个相反数,然后改用频率表示:

这就齐活了。

因此可以看出,交叉熵最小实质上就是似然值最大。我们可以证明,在给定 的情况下,使交叉熵最小的分布P一定有 ,只需要用拉格朗日乘子法就可以:

求偏导得到

即 和 成比例,再根据归一化条件得到

因此在有模型约束的条件下求交叉熵最小值,也就是让模型输出的分布尽量能接近训练数据的分布。




  

相关话题

  国内外有哪些做小样本学习(Few-Shot Learning)的优秀团队? 
  如何看待Geoffrey Hinton的言论,深度学习要另起炉灶,彻底抛弃反向传播? 
  让人工智能去下路边街头的象棋残局会赢吗? 
  如何理解今年发表在JMLR上随机森林算法SPORF? 
  多任务学习成功的原因是引入了别的数据库还是多任务框架本身呢? 
  如何看待2019年8月19日美方给予华为禁令额外的90天延期,但同时在禁令增加46个华为子公司? 
  什么是主动学习(Active Learning, AL)? 
  如何评价Google发布的第二代深度学习系统TensorFlow? 
  如何评价贾扬清离职 Facebook? 
  人工智能现在的发展前景如何? 

前一个讨论
让你感到有趣的语言现象有哪些?
下一个讨论
如何写好 Git commit log?





© 2024-09-19 - tinynew.org. All Rights Reserved.
© 2024-09-19 - tinynew.org. 保留所有权利