# 1. 信息量(Information Content)
在信息论中,信息量用来度量某个事件带来的“惊讶程度”。
概率越小的事件,发生时带来的信息量越大。
定义:如果某个事件 x 的概率是 P(x),它的信息量为:
I(x)=−logP(x)
解释:
- 概率大 → 事件常见 → 信息量小
- 概率小 → 事件稀有 → 信息量大
# 2. 信息熵(Entropy)
如果我们有一个分布 P,它描述了所有可能事件的概率分布,那么信息熵表示的是 在这个分布下,事件发生时平均能带来的信息量。
公式为:
H(P)=−x∑P(x)logP(x)
连续分布则写为:
H(P)=−∫P(x)logP(x)dx
直观理解:熵越大,说明分布越“均匀”,不确定性越高;熵越小,说明分布越集中,不确定性越低。
# 3. 交叉熵(Cross Entropy)
假设真实分布是 P,但我们用另一个分布 Q 去建模,那么平均信息量会是多少?
这就引出了 交叉熵:
H(P,Q)=−x∑P(x)logQ(x)
解释:
- 如果我们用 Q 来代替 P,那么事件的概率会按照 Q 来估计。
- 交叉熵越小,说明 Q 越接近 P。
# 4. KL 散度(Kullback–Leibler Divergence)
KL 散度就是 交叉熵和信息熵的差:
DKL(P∥Q)=H(P,Q)−H(P)
展开后就是常见的定义:
DKL(P∥Q)=x∑P(x)logQ(x)P(x)
意义:
- 它表示:如果真实分布是 P,但我们用 Q 来近似时,额外多花了多少信息量。
- 当 P=Q 时,DKL=0;否则 DKL>0。
# 5. 性质总结
-
非负性:
DKL(P∥Q)≥0
(由 Jensen 不等式保证)
-
不对称性:
DKL(P∥Q)=DKL(Q∥P)
-
等于零的条件:
当且仅当 P=Q。
# 6. 举个例子
真实分布:
P=(0.8,0.2)
预测分布:
Q=(0.5,0.5)
计算:
DKL(P∥Q)=0.8log0.50.8+0.2log0.50.2≈0.193
说明:预测分布 Q 和真实分布 P 有一定差异,但还算可以接受。
# 7. 在机器学习中的应用
-
分类任务
常见的交叉熵损失函数,其实就是 H(P,Q),等价于 KL 散度 + 熵 H(P)(因为 H(P) 是常数,不影响优化)。
-
变分自编码器 (VAE)
用 KL 散度约束隐变量分布不要偏离先验分布。
-
强化学习
用 KL 散度衡量新旧策略的差异,避免训练时更新过大。