1. 信息论入门:从“不确定性”说起
很多朋友一听到“信息熵”、“KL散度”这些词,就觉得头大,感觉是数学家在故弄玄虚。其实,信息论的核心思想非常朴素,它研究的核心就是**“不确定性”**。我们每天的生活,本质上就是在和不确定性打交道。
举个例子,你早上出门前,想知道今天会不会下雨。如果天气预报说“100%晴天”,那你心里就非常确定,不需要带伞。但如果预报说“50%概率下雨”,你的不确定性就大大增加了,带不带伞就成了一个需要纠结的问题。信息论,就是给这种“纠结”的程度,一个精确的、可以计算的度量。这个度量,就是信息熵。
再比如,你训练一个AI模型去识别猫和狗。模型看到一张图片,如果它非常确定这是只猫(比如输出概率是猫99%,狗1%),那它的“纠结”程度就很低。如果它觉得猫狗各占50%,那它的“纠结”程度就很高。我们训练模型的目标,就是让它对正确答案的“纠结”程度降到最低。而衡量这个“纠结”程度的工具,就是交叉熵和KL散度。
所以,别怕。接下来,我会用最直白的语言,带你一步步拆解信息熵、交叉熵、KL散度、互信息这些听起来高大上的概念。你会发现,它们不仅是数学公式,更是我们理解数据、优化模型的强大直觉工具。
2. 信息量与信息熵:量化“意外”程度
2.1 信息量:一件小事能带来多大“惊喜”?
我们先从最基础的信息量说起。信息量衡量的是一个具体事件发生时所携带的信息多少。它的核心直觉是:越不可能发生的事,一旦发生,带给我们的信息量就越大。
这很好理解。如果太阳每天照常升起,你不会觉得有什么信息量。但如果某天太阳从西边出来了,这个消息的信息量就爆炸了。用数学公式表示,一个事件 $x$ 发生的信息量 $I(x)$ 是: $$I(x) = -\log P(x)$$ 这里的 $P(x)$ 是事件 $x$ 发生的概率。对数底通常取2,这样信息量的单位就是“比特”(bit)。
举个栗子:
- 你抛一枚均匀硬币,正面朝上的概率是 $P(正面) = 0.5$。那么正面朝上这个事件的信息量就是 $I(正面) = -\log_2(0.5) = 1$ 比特。
- 你买彩票中头奖,假设概率是 $P(中奖) = 0.0000001$,那么中奖的信息量就是 $I(中奖) = -\log_2(0.0000001) \approx 23.25$ 比特。这个数字远大于1,说明中奖是件极其“意外”的事,信息量巨大。
所以,信息量就是“意外”程度的量化。概率越小,意外越大,信息量就越多。
2.2 信息熵:系统的“平均纠结度”
信息量是针对单个事件的。但一个系统(比如天气、或者一个分类模型)通常有很多种可能的结果。我们更关心这个系统整体的“不确定程度”或“混乱程度”。这就是信息熵。
信息熵 $H(X)$ 就是信息量的期望值,也就是对所有可能事件,其信息量按其发生概率加权平均的结果: $$H(X) = E[I(x)] = -\sum_{x \in X} P(x) \log_2 P(x)$$
生活化理解:你可以把熵想象成一个系统的“平均纠结度”。
- 如果一个系统(比如天气预报)总是报晴天(概率100%),那它的熵就是0,因为毫无纠结,非常确定。
- 如果一个系统(比如一枚均匀硬币)正反面概率各50%,那它的熵就是1比特,这是二元系统最大的纠结度。
- 如果


1237

被折叠的 条评论
为什么被折叠?



