美文网首页AI深度学习
理解熵,交叉熵和交叉熵损失

理解熵,交叉熵和交叉熵损失

作者: 人工智能遇见磐创 | 来源:发表于2020-01-12 15:27 被阅读0次

交叉熵损失是深度学习中应用最广泛的损失函数之一,这个强大的损失函数是建立在交叉熵概念上的。当我开始使用这个损失函数时,我很难理解它背后的直觉。在google了不同材料后,我能够得到一个令人满意的理解,我想在这篇文章中分享它。

为了全面理解,我们需要按照以下顺序理解概念:自信息, 熵,交叉熵和交叉熵损失

自信息

"你对结果感到惊讶的程度"

一个低概率的结果与一个高概率的结果相比,低概率的结果带来的信息量更大。现在,如果y_i是第i个结果的概率,那么我们可以把自信息s表示为:

现在我知道一个事件产生某个结果的自信息,我想知道这个事件平均带来多少自信息。对自信息s进行加权平均是很直观的。现在的问题是选择什么权重?因为我知道每个结果的概率,所以用概率作为权重是有意义的,因为这是每个结果应该发生的概率。自信息的加权平均值就是熵(e),如果有n个结果,则可以写成:

交叉熵

现在,如果每个结果的实际概率为p_i却有人将概率估计为q_i怎么办。在这种情况下,每个事件都将以p_i的概率发生,但是公式里的自信息就要改成q_i(因为人们以为结果的概率是q_i)。现在,在这种情况下,加权平均自信息就变为了交叉熵c,它可以写成:

交叉熵总是大于熵,并且仅在以下情况下才与熵相同 p_i=q_i,你可以观看
https://www.desmos.com/calculator/zytm2sf56e
的插图来帮助理解

交叉熵损失

紫色线代表蓝色曲线下的面积,估计概率分布(橙色线),实际概率分布(红色线)

在上面我提到的图中,你会注意到,随着估计的概率分布偏离实际/期望的概率分布,交叉熵增加,反之亦然。因此,我们可以说,最小化交叉熵将使我们更接近实际/期望的分布,这就是我们想要的。这就是为什么我们尝试降低交叉熵,以使我们的预测概率分布最终接近实际分布的原因。因此,我们得到交叉熵损失的公式为:

在只有两个类的二分类问题的情况下,我们将其命名为二分类交叉熵损失,以上公式变为:

磐创AI技术博客资源汇总站:http://docs.panchuang.net/
PyTorch官方中文教程站:http://pytorch.panchuang.net/
OpenCV中文官方文档: http://woshicver.com/

相关文章

  • 理解熵,交叉熵和交叉熵损失

    交叉熵损失是深度学习中应用最广泛的损失函数之一,这个强大的损失函数是建立在交叉熵概念上的。当我开始使用这个损失函数...

  • Tensorflow & Keras的loss函数总结

    一、二分类与多分类交叉熵损失函数的理解 交叉熵是分类任务中的常用损失函数,在不同的分类任务情况下,交叉熵形式上有很...

  • 逻辑回归例子

    交叉熵推导过程 交叉熵数损失推导 - 简书 (jianshu.com)[https://www.jianshu.c...

  • 损失函数 - 交叉熵损失函数

    参考[1]损失函数 - 交叉熵损失函数

  • 交叉熵损失函数原理详解

    交叉熵损失函数原理详解 之前在代码中经常看见交叉熵损失函数(CrossEntropy Loss),只知道它是分类问...

  • 多分类问题的交叉熵计算

    多分类问题的交叉熵   在多分类问题中,损失函数(loss function)为交叉熵(cross entropy...

  • 交叉熵损失函数

    转自简单的交叉熵损失函数,你真的懂了吗?说起交叉熵损失函数「Cross Entropy Loss」,脑海中立马浮现...

  • 交叉熵与KL散度

    老遇到交叉熵作为损失函数的情况,于是总结一下 KL散度 交叉熵从KL散度(相对熵)中引出,KL散度(Kullbac...

  • 损失函数的选择

    回归问题常用:均值平方差损失函数(MSE);交叉熵问题常用交叉熵损失函数(CE)。 那为啥? 1.从原理上来讲,C...

  • 简单的交叉熵损失函数,你真的懂了吗?

    说起交叉熵损失函数「Cross Entropy Loss」,脑海中立马浮现出它的公式: 我们已经对这个交叉熵函数非...

网友评论

    本文标题:理解熵,交叉熵和交叉熵损失

    本文链接:https://www.haomeiwen.com/subject/wwaiactx.html