Advertisement

信息熵、KL散度(相对熵)、交叉熵通俗理解

阅读量:

什么是熵?

熵在不同的领域有着不同的含义和应用,但核心思想是相似的,表示一个系统的无序程度


信息熵

一个叫香农的美国数学家,将熵引入了信息论,并命名为“信息熵”(香农熵),信息熵用于量化信息的不确定性或信息的平均信息量。在信息论中,信息熵越高,表示信息的不确定性越大;信息熵越低,表示信息的不确定性越小。

定义

性质

  • 单调性:不确定度函数f是概率p的单调减函数
  • 非负性
  • 可加性:H=H+H-I,I(A,B)代表一个随机变量包含另一个随机变量信息量的度量

在机器学习领域,比如构建决策树等算法时,信息熵用于特征选择,通过计算信息增益来选择最有信息量的特征。


KL散度(相对熵)

KL散度是两个概率分布间差异的非对称性度量 。通俗来说,它是用来度量同一个随机变量的两个不同分布之间的距离。

借助一个例子来理解

小明有两个篮子P、Q,每个篮子里都装着不同颜色的球。P篮子代表真实的概率分布,篮子里有50%的红球和50%的蓝球。小明想要尝试对Q篮子复制P篮子里球的比例,但可能并不完全一样,也许Q篮子有60%的红球和40%的蓝球。KL散度可以衡量两个篮子之间的差异。如果两个篮子里球的颜色比完全一样,KL散度就是0,若不一样,KL散度就会大于0,表示存在差异。

在实际应用中,比如在机器学习里,我们经常需要用模型来预测数据。这时候,我们手头的数据分布就像是P篮子,而我们的模型预测就像是Q篮子。我们希望模型的预测尽可能接近真实的数据分布,所以我们会计算KL散度,并尝试通过调整模型来减小这个差异(KL散度)。

定义

性质

  • 非对称性
  • 非负性(吉布斯不等式推导)

应用

  • 模型正则化 : 在分类任务中,KL散度可以用于模型的正则化,帮助模型避免过拟合,尤其是在数据分布不均匀时;
  • 贝叶斯推理 :用KL散度来衡量后验分布和先验分布之间的差异,这用于根据新数据更新后验分布;
  • 数据增强 :可以用于衡量两个图像之间的差异,并生成类似但不完全相同的图,以获得更多的训练数据;
  • 聚类 :KL散度可以用于评估聚类质量,并指导聚类算法的优化过程。

交叉熵(cross entropy)

交叉熵是评估实际概率分布与预测概率分布之间的差异的一种方法。在机器学习领域,交叉熵常被用作分类问题的损失函数。交叉熵损失函数能够量化模型预测的概率分布与真实标签的概率分布之间的差异。更通俗地说,它主要用于度量同一个随机变量X地预测分布Q与真实分布P之间的差距

定义

应用

分类问题 : 在分类任务中,模型需要输出每个类别的概率。交叉熵损失函数能够衡量模型预测的概率分布与真实标签之间的差异,通过最小化交叉熵损失,可以优化模型以提高准确率。

图像识别 : 广泛应用于卷积神经网络(CNN)的训练中。通过设计交叉熵损失函数,模型能够学习到图像特征,并准确识别出图像中的物体。

特征工程 : 交叉熵可以用来衡量两个随机变量之间的相似度,在特征工程中,用来衡量变量的重要性。

模型评估 : 在机器学习中,交叉熵常被用作评估模型表现的指标。比如在分类问题中,模型的预测分布与真实标签的分布之间的交叉熵可以帮助判断预测分布与真实分布有多接近。

优化算法 : 交叉熵方法(Cross-Entropy Method)是一类应用于重要性采样与优化的蒙特卡洛方法,广泛应用于组合优化、连续优化问题,强化学习和机器人控制等领域。

三者关系

思考:为什么会有这样的关系呢?

熵H(P)是用来衡量分布P的不确定性的。它告诉我们,如果我们根据分布P生成数据,平均需要多少信息(比如位数)来编码这些数据。换句话说, 描述了我们在面对由P分布生成的数据时的最优编码长度。

交叉熵H(P,Q)则是另一种度量,它表示我们使用分布Q来描述真实分布P时,编码的平均长度。这意味着,虽然真实数据是由分布P生成的,但我们假设它是由Q生成的,因此编码这些数据时的“开销”要比实际使用P编码时更高。

KL散度本质上是用来衡量使用分布Q代替真实分布P时,编码数据所需的额外开销。这个额外的开销正好就是交叉熵和熵之间的差值。因此,两者的差值表示了由于我们使用了错误的(或者叫估计的)分布Q而多消耗的编码长度,也就是信息损失。

三者之所以有这种关系是因为它精确地刻画了当我们使用错误分布Q来代替真实分布P时所付出的“代价”或信息损失,这种损失正是我们在信息论中关心的额外开销,所以 KL 散度有着非常自然的数学形式 。

一个疑问

为什么在大多数网络模型中,使用交叉熵做损失函数,而不使用KL散度呢?

有真实分布——使用交叉熵;无真实分布——使用KL散度

而且交叉熵 更适合作为分类问题中的损失函数,因为它直接衡量了预测概率分布与真实标签之间的差异。相对熵(KL散度)则 更适合用于衡量两个概率分布之间的相似度,特别是在信息论和概率论的背景下。

全部评论 (0)

还没有任何评论哟~