当前位置:   article > 正文

交叉熵信息学解释及其在机器学习中的应用_交叉熵对称吗

交叉熵对称吗

交叉熵是机器学习、深度学习中非常常用的损失函数。本文梳理整合了关于交叉熵的比较好的解释资料。

交叉熵的基本定义

首先给出交叉熵的维基百科定义:
在这里插入图片描述

交叉熵与相对熵(KL散度)

相对熵又称为KL散度(Kullback-Leibler Divergence),用来衡量两个分布之间的距离,记为:
D K L = ( p ∣ ∣ q ) D_{KL} = (p||q) DKL=pq
在这里插入图片描述

这里H( p )是p的熵。
假设有两个分布p和q,它们在给定样本集上的交叉熵定义为:
在这里插入图片描述
从这里可以看出,交叉熵和相对熵相差了H( p ),而当p已知的时候,H( p )是个常数,所以交叉熵和相对熵在这里是等价的,反映了分布p和q之间的相似程度。

交叉熵的信息学解释

一句话概括的话,交叉熵描述了两个不同的概率分布p和q的差异程度。 交叉熵是不对称的,也就是说Hp( q ) 不等于 Hq( p )。两个分布差异越大,则两个交叉熵的差异越大。
关于交叉熵的信息学理解,下面这篇博客解释的很好,通俗易懂:
看得见的信息论-为什么用交叉熵作为逻辑回归的代价函数

交叉熵损失函数(机器学习/深度学习应用)

交叉熵来自香农的信息论,简单来说,交叉熵是用来衡量在给定的真实分布p(k)下,使用非真实分布q(k)所指定的策略 f(x) 消除系统的不确定性所需要付出的努力的大小。交叉熵的越低说明这个策略越好,我们总是minimize交叉熵,因为交叉熵越小,就证明算法所产生的策略越接近最优策略,也就间接证明我们的算法所计算出的非真实分布越接近真实分布。交叉熵损失函数从信息论的角度来说,其实来自于KL散度。

Cross Entropy Error Function(交叉熵损失函数)

二分类

在二分的情况下,模型最后需要预测的结果只有两种情况,对于每个类别我们的预测得到的概率为p和1-p。此时表达式为:
在这里插入图片描述
其中:

  • y——表示样本的label,正类为1,负类为0
  • p——表示样本预测为正的概率
    多分类
    多分类的情况实际上就是对二分类的扩展:

其中:

  • M——类别的数量;
  • y——指示变量(0或1),如果该类别和样本的类别相同就是1,否则是0;
  • p——对于观测样本属于类别c的预测概率。

这个表达式其实就是逻辑回归的损失函数,逻辑回归的损失函数就是交叉熵函数

多分类

多分类的情况实际上就是对二分类的扩展:
在这里插入图片描述
其中:

  • M——类别的数量;
  • y——指示变量(0或1),如果该类别和样本的类别相同就是1,否则是0;
  • p——对于观测样本属于类别c的预测概率。

pytorch中关于交叉熵损失函数的描述

在这里插入图片描述
pytorch 中的交叉熵其实已经集成了softmax计算,所以我们的输出不需再手动添加softmax层。pytorch的交叉熵函数中允许我们对不同的类别给予不同的权重。

参考资料:
1.维基百科
2.Softmax函数与交叉熵
3.看得见的信息论-为什么用交叉熵作为逻辑回归的代价函数
4.损失函数——交叉熵损失函数
5.pytorch官网-交叉熵

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/370150
推荐阅读
相关标签
  

闽ICP备14008679号