2026-06-10
算法
00

目录

熵的理解
交叉熵的理解

理解熵,交叉熵与KL散度是迈入信息论和众多机器学习算法大门的关键。有太多人知道如何计算交叉损熵损失函数,但是从来不知道为何要这样计算。就好像能看懂乐谱,却无法直接从乐谱听到音乐。本文将由浅入深的介绍这三个概念。

熵的理解

首先我们引入一个概念“惊奇度”,假设你要听一个新闻,新闻的价值(信息量)取决于这件事发生的概率。

  • 高概率事件:“明天太阳从东边升起” (概率P1)(概率P ≈ 1). 你听到这句话毫无波澜,因为你早就知道了。信息量极低,惊奇度为 0。
  • 低概率事件:“明天外星人降临地球”(概率P0)(概率P ≈ 0).你听到后会极度震惊。信息量极大,惊奇度极高。

所以我们可以简单得到一个结论:一个事件包含的信息量,应该和它发生的概率P(x)P(x)成反比. 此时我们认为:

信息量=1P(x) 信息量 = \frac{1}{P(x)}

但是信息论的祖师爷:香农,给信息下了一个定义,两个系统(分布)的信息量总和等于两个系统各自信息量相加。这个定义就是信息量需要满足可加性

假设你扔两次硬币,两次都是正面的概率是乘法P=12×12=14P=\frac{1} {2} \times\frac{1} {2}=\frac{1} {4}

但你获得的信息量应该是两次信息的叠加(加法)。 两个独立时间的联合概率分布是乘法,为了把乘法转化成加法,所以我们需要修改信息量的定义:

信息量=log(1P(x))=logP(x)信息量 = \log (\frac{1}{P(x)}) = - \log P(x)

logP(x)- \log P(x)就代表了某一个具体事件xx发生时,给你带来的“惊奇度”或“信息量”。

logP(x)- \log P(x)只是算出了某一个具体事件的信息量。但是,一个系统(比如一个骰子、明天的天气)包含好几种可能的结果。我们如何衡量整个系统的混乱程度或不确定性呢?

答案是:算期望(加权平均)。

你不能只看最极端的情况,你要根据每种情况发生的概率,求一个平均的“惊奇度”。

 H(X)=xP(x)logP(x)\ H ( X )=-\sum_{x} P ( x ) \operatorname{l o g} P ( x )

这个公式就是熵的计算公式,信息熵,就是系统中所有可能事件的“信息量”的数学期望(加权平均值)。

交叉熵的理解

先看交叉熵的公式:

H(P,Q)=xP(x)logQ(x)H ( P , Q )=-\sum_{x} P ( x ) \operatorname{l o g} Q ( x )

本文作者:James

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!