熵与 KL 散度:不确定性与分布距离的度量

05-进阶主题 前沿 约 25 分钟 #熵#KL散度#交叉熵#信息论#最大熵 更新 2026-10-02
当前状态:未学
本文基于模型知识整理(生成时未联网核对),信息论结论建议对照 Cover & Thomas《Elements of Information Theory》复核。

一句话定义

香农熵 $H(X)=-\sum p\log p$ 度量分布的不确定性(均匀分布最大、确定分布为零,单位比特);KL 散度 $D_{KL}(P\|Q)=\sum p\log\frac p q$ 度量"用 Q 近似 P 的代价"(≥0、非对称、非距离);交叉熵 $H(P,Q)=H(P)+D_{KL}(P\|Q)$——机器学习的分类损失就是交叉熵,变分推断的最小化目标就是 KL。

为什么重要

信息论语言已统治机器学习:交叉熵损失、KL 正则(VAE)、最大熵建模、互信息特征选择、决策树的信息增益——熵家族是从"概率分布"到"可优化目标"的翻译器。它也是"不确定性"首次获得可计算刻度的历史时刻(比特:一次抛硬币=1 比特)。

前置知识

kp-007(期望——熵/KL 都是期望)、kp-010(分布对)。

核心概念

  • 熵:$H(P)=-\sum_i p_i\log_2 p_i$——"最优编码的平均码长"、"惊讶度的平均"(罕见事件 log(1/p) 大)。性质:均匀分布熵最大(等概率 k 项 = log₂k);确定性分布熵 0;凸性(log 的凹性)。
  • 交叉熵:$H(P,Q)=-\sum p_i\log q_i$——用编码方案 Q 编码真实分布 P 的平均码长。
  • KL 散度:$D_{KL}(P\|Q)=\sum p_i\log\frac{p_i}{q_i}=H(P,Q)-H(P)$——"用 Q 代替 P 的额外码长"(惩罚项的来历)。
  • KL 的三铁律:非负(Gibbs 不等式,=0 ⟺ P=Q);非对称(P‖Q ≠ Q‖P——前者"以 P 为真追捕 Q",后者"以 Q 为真追捕 P");非三角不等式(不是距离)。
  • 两种方向的语义:前向 KL(mean-seeking,Q 覆盖 P 的所有峰,变分推断的 ELBO 用它);反向 KL(mode-seeking,Q 贴住 P 的一个峰)——同是"距离",行为截然不同(kp-027 变分推断的方向选择)。
  • 最大熵原理:在已知约束下选熵最大的分布——"无信息时不下额外赌注"的客观化(均匀=最大熵;正态=给定均值方差的最大熵 kp-009 的信息论注脚)。
  • 互信息:$I(X;Y)=D_{KL}(P(X,Y)\|P_XP_Y)$——联合与边缘积的 KL,"知道 Y 消除多少 X 的不确定性";决策树的信息增益即它。

原理与机制

为什么熵长这样(编码推导):最优编码给概率 p 的事件分配约 log₂(1/p) 比特(越罕见码越长)——平均码长 Σp·log(1/p)=熵。香农定理:熵是最优压缩的下界——"不确定性"第一次有了算术。

Gibbs 不等式为什么成立(一行):$\log$ 是凹的 ⇒ $-\sum p\log\frac{q}{p}\ge-\log\sum p\cdot\frac qp=0$(Jensen);等号 ⟺ p=q。KL≥0 是"信息不免费"的数学形态:用错分布必然多付码长。

交叉熵为什么是分类损失:标签是 one-hot P,模型输出 softmax Q——最小化 $H(P,Q)$ 即最大化 $\log q_{true}$=最大化似然(kp-018 的 MLE!)。"交叉熵损失"与"最大似然"是同一件事的两个名字——损失函数选择的概率论根源。

图示

熵: H(P)=−Σp log p   (均匀→max=logk ; 确定→0)
交叉熵: H(P,Q)=−Σp log q
KL: D(P‖Q)=H(P,Q)−H(P) ≥ 0 (=0 ⟺ P=Q)
   非对称! 前向=覆盖P(mean-seeking) / 反向=贴峰(mode-seeking)
互信息: I(X;Y)=D(P(X,Y)‖P_XP_Y)
最大熵: 约束下取熵最大 (均匀/正态的出身证明)
损失=交叉熵=负log似然 (kp-018 的 ML 名字)

直观类比

熵像"猜谜游戏的平均问题数":二十个问题的最优策略平均要问的问题数=熵(比特)——答案越均匀越难猜。KL 散度像"拿着 A 国的价目表在 B 国消费"的额外开销:Q 与 P 越像花销越接近最优;方向不同(在穷国用富国价目表 vs 反之)代价曲线不同——这就是非对称的具象。

实例或案例

  • softmax+交叉熵:深度分类的标准输出+损失——kp-031 的梯度 $\nabla=p-y$ 极简优美的来源。
  • VAE 的 ELBO:重构项+KL(q(z|x)‖p(z))——变分推断=KL 最小化(kp-027)。
  • 决策树分裂:信息增益=父节点熵−子节点加权熵——互信息的工程化。

常见误区

  • 误区一:"KL 是距离"。非对称+不满足三角不等式;方向选择改变优化结果(mean/mode-seeking)。
  • 误区二:"熵大=信息多"。熵大=不确定性大;互信息才度量"X 携带关于 Y 的信息"。
  • 误区三:"连续熵照搬离散公式"。连续版(微分熵)可为负且依赖坐标系——绝对值无意义,KL/互信息仍有效(差分结构保留)。

与其他知识点的关系

  • kp-007:熵/KL 都是期望的特例。
  • kp-022/027:变分推断与采样(ELBO、重要性采样权重=KL 的化身)。
  • kp-031:最大熵与"均匀先验"客观化的争论史。

自测题

  1. 计算均匀 U(4) 与 Bern(0.5) 的熵。

答:均为 2 比特/1 比特——log₂4=2;1 比特。

  1. 证明 D(P‖Q)=H(P,Q)−H(P)。

答:展开 Σp log(p/q)=−Σp log q −(−Σp log p)=H(P,Q)−H(P)。

  1. 为什么分类用交叉熵而不是 MSE?

答:配合 softmax,交叉熵的梯度=输出−标签(无饱和消失 kp-031);且它是负对数似然=概率上正确(MLE kp-018)。

延伸阅读

  • Cover & Thomas《Elements of Information Theory》第 2 章。
  • MacKay《Information Theory, Inference, and Learning Algorithms》(免费电子书,神作)。
  • 《信息论基础》中文版(中译对照)。