美文网首页
大白话理解——KL散度和交叉熵

大白话理解——KL散度和交叉熵

作者: 小黄不头秃 | 来源:发表于2023-06-13 16:41 被阅读0次

上一篇笔记中,我介绍了信息熵,都是本篇笔记的基础,想要了解的可以点击链接复习一下。这里我们来看一下什么是KL散度和交叉熵。

上篇笔记我们了解了信息量的定义,理解了信息熵就是对系统中信息量的期望。

接下来,我国我们想比较两个神经网络模型(概率模型)之间的熵,该怎么比较呢?这里将引入另一个概念,叫做相对熵,又被称之为“KL散度”

一、KL散度

相对熵(即KL散度),是计算两个概率系统的相对混乱程度。需要涉及到两个概率系统。P系统和Q系统,下图为两个系统的概率分布图和信息量。

KL散度表示如下:

括号中P在前,表示为以P系统作为基准,去计算P与Q之间的差值。如果D_{KL}=0则说明两者完全相等。

观察展开式中的最后一项,其为P系统的信息熵。如果我们将P系统作为基准的话,后面这个值是一个常数。那么主要就是看前面的那一部分了,前面的这一部分就被叫做是交叉熵 表示为:H(P, Q)

这里还有一个关键的问题值得我们思考,是前面这项更大呢,还是后面这项更大?这将能够将KL散度变成两部分,如果前面一项恒小于后面一项,那么当前一项逐渐增大,最终等于后面那项的时候,KL散度等于零,两个系统越接近。

然而有一个大佬证明过了,叫做吉布斯不等式。其结论为:D_{KL}\geqslant0

如果说我们想要P系统和Q系统更相似,我们需要找到交叉熵的最小值。

二、交叉熵

在深度学习中,我们将交叉熵作为损失函数,我们希望交叉熵越小越好,其实实质是想要两个概率分布更相似,两个概率分布的相对熵更小。所以模型的最优解能够使得D_{KL}=0

这里我们以猫狗识别的神经网络入手,神经网络的输出经过softmax激活函数,将结果转换为概率值。同时我们对标签进行onehot编码,将数据集作为我们的P系统,作为基准。神经网络为Q系统。我们使用交叉熵函数作为我们的损失函数。更新梯度,使得损失越小越好。

Entropy LossH(P, Q) = -\sum_{i=1}^ny1*log_2{y1'} + y2*log_2{y2'}

到这里,忽然间觉得数学大佬们真的是牛啊。终于理解了什么是交叉熵。

如果你还不了解什么是熵,什么是交叉熵,大家可以参考我的文章:
【1】大白话理解——熵和信息熵 - 简书 (jianshu.com)
本文参考视频内容:“交叉熵”如何做损失函数?打包理解“信息量”、“比特”、“熵”、“KL散度”、“交叉熵” 去给up主点个赞吧!

相关文章

  • 交叉熵与KL散度

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

  • 面试

    最大似然 交叉熵 KL散度 相对熵 Information bottleneck

  • KL散度其实就是相对熵

    一直以为KL散度是什么新奇玩意,但是其实还是旧瓶装新酒 机器学习中的熵、条件熵、相对熵(KL散度)和交叉熵_冉茂松...

  • 机器学习相关的数学知识

    知识点理解: 信息量->熵->相对熵(KL散度)->交叉熵->分类的loss 信息量:I(x0)=−log(p(x...

  • 简单理解信息熵,交叉熵,相对熵的概念(未完待续...)

    参考资料:机器之心:如何理解KL散度的不对称性?知友CyberRep:如何通俗的解释交叉熵与相对熵?Youtube...

  • 信息熵+交叉熵+KL散度

    熵的本质是香农信息量,被用于描述一个系统中的不确定性。 在决策树算法中的信息熵: 在反向传播算法中衡量两个分布和差...

  • KL散度与交叉熵

    最短编码 信息熵就是信息的最短编码长度,假如我们预测到一个信息符合分布Q,然后我们按照这个预测的分布对信息进行编码...

  • 机器学习-面试总结

    决策树问题 1)各种熵的计算熵、联合熵、条件熵、交叉熵、KL散度(相对熵) 熵用于衡量不确定性,所以均分的时候熵最...

  • 信息熵相关知识总结

    前言 学习决策树时会接触到一些信息熵,条件熵和信息增益的知识,此外还有互信息,相对熵,交叉熵和互信息,KL散度等等...

  • 交叉熵 相对熵(KL散度/互熵)

    香农熵 熵考察(香农熵)的是单个的信息(分布)的期望:反映了一个系统的无序化(有序化)程度,一个系统越有序,信息熵...

网友评论

      本文标题:大白话理解——KL散度和交叉熵

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