信息熵(Entropy)是衡量一个随机事件或概率分布平均有多不确定的指标。越难猜,熵越大;完全确定,熵为 0。
它来自香农(Claude Shannon)的信息论。一个结果的信息量可以写成“意外程度”:发生概率越低,信息量越大。比如同事说“今天太阳升起来了”,你几乎不意外,信息量接近 0;若说“公司被外星人收购了”,意外很大,信息量很高。信息熵就是所有可能结果的“意外程度”按概率加权的平均值。
打个比方:抛一枚公平硬币,正反各 50%,结果最难猜,熵是 1 比特(bit)。若硬币两面都是正面,结果必然发生,熵是 0。掷一枚公平的八面骰子,每个面概率 1/8,熵是 3 比特,相当于平均要问 3 个“是/否”问题才能确定结果。可见熵不是某条消息的长度,而是长期平均的“惊喜量”。
它和相邻概念的关系如下:
| 概念 | 在问什么 | 关键点 |
|---|---|---|
| 信息熵 | 一个分布本身有多不确定 | 只依赖真实概率 p |
| 交叉熵(Cross-Entropy) | 用模型分布 q 去编码真实分布 p,平均要花多少信息 | q 越接近 p 越小;q=p 时等于熵 |
| KL 散度(Kullback-Leibler Divergence) | 用 q 代替 p,多付了多少信息成本 | 等于交叉熵减熵;不对称,不是距离 |
| 困惑度(AI 词典:Perplexity">Perplexity) | 模型平均在多少个等概率选项里犹豫 | 通常是交叉熵的指数化;越低越好 |
所以三者都是从信息熵长出来的:交叉熵 = 熵 + KL 散度。训练分类模型或语言模型时,最小化交叉熵,本质上就是让模型分布 q 靠近真实分布 p;因为真实数据的熵固定,这等价于最小化 KL 散度。困惑度则把交叉熵换算成“候选词数量”的直观尺度,常用于语言模型评估。
对从业者,信息熵有几个实际含义。第一,它是无损压缩的平均长度下界:熵越低,数据越可压缩。第二,交叉熵损失不是随便选的,它来自概率建模;如果标签本身有噪声或歧义,损失会有一个下界,别指望降到 0。第三,决策树里的“信息增益”就是划分前后熵的减少量。对普通人,熵提醒我们:越可预测的消息,信息量越小;越不确定的局面,越需要额外信息来降低判断风险。遇到“模型很困惑”时,先看数据本身是否就高熵。
