词条 · 理论 · 核心
熵
衡量你事先有多不确定:可能性越多、越均匀,熵越大;结果揭晓时你学到的就越多。
也称:熵、entropy、信息熵、香农熵、Shannon entropy、H
先看一个麻烦
我要给你发一条消息,告诉你明天天气。选项只有”晴”和”雨”两种。这条消息该算多少”信息量”?
你可能会说:两种可能,所以是一个二选一,记成 0 或 1,一个比特。
现在换个地方:这地方一年里 364 天是晴的。我发”晴”给你——你早就知道了,这条消息几乎什么都没告诉你。我发”雨”——这是件大事。同样是两个选项、同样用一个 0/1 记录,但两条消息的价值明显不同。
所以”信息量”不能只数选项个数。它得跟你事先有多意外挂钩。
朴素办法:数可能性个数
第一反应是拿可能性的数量当信息量:两种可能就是 2,八种可能就是 8。
这个办法有两个毛病。
一是不可加。两张打孔卡,每张 8 种状态,合起来是 8 × 8 = 64 种。但直觉上两张卡应该装两倍的信息,不是八倍。乘法不符合直觉。
二是它无视概率。上面那个 364 天晴天的例子里,“晴”和”雨”都被算成同等份量,而它们显然不同。
第一个毛病好治:取对数,乘法变加法。log₂8 = 3,两张卡是 3 + 3 = 6,正好两倍。
第二个毛病是熵真正要解决的。
机制:按概率加权的平均意外度
单个结果的”意外度”定义成 −log₂p。概率越小,意外度越大:p = 1/2 给 1 比特,p = 1/8 给 3 比特,p = 1 给 0 比特(早就知道的事,毫无信息)。
熵是这些意外度的期望值——按各自概率加权的平均:
手算一次就懂。四个符号,概率 1/2、1/4、1/8、1/8:
| 符号 | 概率 | 意外度 −log₂p | 加权 p × 意外度 |
|---|---|---|---|
| A | 1/2 | 1 | 0.5 |
| B | 1/4 | 2 | 0.5 |
| C | 1/8 | 3 | 0.375 |
| D | 1/8 | 3 | 0.375 |
加起来 H = 1.75 比特/符号。
再算等概率的情况:四个符号各 1/4,H = log₂4 = 2 比特/符号。
比 1.75 大。这个差值就是全部要点:概率不均匀会降低熵,而降低的那部分正是压缩能榨出来的空间。均匀分布最难压,偏斜分布留有余量。
回访:这和哈希、和压缩是同一件事
给上面四个符号配码字 0、10、110、111,平均码长是 0.5×1 + 0.25×2 + 0.125×3 + 0.125×3 = 1.75——正好等于熵。这不是巧合,是香农第 9 定理:最优编码的平均长度等于熵。
反过来也成立,而且更有用:熵是压缩的下限。声称能把任意文件无损压缩一半的说法,都在和这条撞。真随机数据的熵已经顶到上限,无冗余可榨;真实文件能压,恰恰因为它们远非随机。
如果你读过哈希函数那条,会发现一个对照:哈希追求输出看起来均匀(这样才难碰撞),压缩追求发现输入并不均匀(这样才有空间)。两者量的是同一个性质,目标相反。
机器学习里的交叉熵损失、困惑度(perplexity 就是熵的指数)也都是这个量的变体——模型的困惑度就是”它平均有多不确定下一个词”。
边界与常见误解
熵不是”信息有多重要”。一段乱码的熵比一句唐诗高,因为它更不可预测。香农在原文第一页就明确把语义排除出去了。
中文”信息熵”是后起的合成词,香农原文只写 entropy。他也从没说过”信息就是负熵”——他说的是 H 的数学形式与统计力学的熵相同。
来源
提到这个词条的文章
- 通信的数学理论逐节拆解经典拆解 2026-07-31