从信息熵到交叉熵

一页纸理清香农熵、交叉熵与 KL 散度——它们如何度量「不确定」与「错配」。

香农在 1948 年《通信的数学理论》里提出的信息熵,是信息论的地基。今天每个人都在用 log_loss 训练分类器,但很少有人意识到:损失函数背后的「交叉熵」,不过是从「度量不确定」到「度量错配」的一小步。这篇文章用一页纸把它们串起来。

不确定:香农熵

先问一个朴素的问题:一个随机事件有多「意外」?概率 p(x)p(x) 越小,它发生时带来的信息量越大。我们定义某个结果 xx 的自信息为 log2p(x)-\log_2 p(x),借鉴物理学的熵,把它的期望称为香农熵:

H(X)=xp(x)logp(x)H(X) = -\sum_{x} p(x) \log p(x)

熵衡量的是不确定性:一个分布越平坦,结果越难预测,熵就越高。扔一枚均匀硬币,H=1H=1 bit;而一枚几乎总是掷出正面的硬币,H0H\approx 0

log2\log_2 时熵的单位是 bit,取 ln\ln 时是 nat——这个基的取舍不影响数学结构,只影响刻度。后面我们统一用自然对数。

错配:交叉熵

现在换一个视角。假设真实分布是 PP,我们却用 QQ 来预测。用 QQ 的编码去描述 PP 的样本,平均需要多少比特?这就是交叉熵

H(P,Q)=xp(x)logq(x)H(P,Q) = -\sum_{x} p(x) \log q(x)

注意两个分布的角色不对称:加权的是 PP(真实概率),取对数的是 QQ(预测概率)。当且仅当 P=QP=Q 时,它在所有 QQ 中取到最小值。

代价:KL 散度

交叉熵和我们熟悉的香农熵差多少?把上式的 logq(x)-\log q(x) 拆成两层:

DKL(PQ)=xp(x)logp(x)q(x)D_{\mathrm{KL}}(P\|Q) = \sum_{x} p(x)\log\frac{p(x)}{q(x)}

它度量的是 QQ 近似 PP 所付出的额外代价。三者的关系一目了然:

H(P,Q)=H(P)+DKL(PQ)H(P,Q) = H(P) + D_{\mathrm{KL}}(P\|Q)

跟随直觉核对:Q=PQ=PDKL=0D_{\mathrm{KL}}=0;对概率论稍熟的人也能验证,KL 恒非负。但正因为不对称,DKL(PQ)DKL(QP)D_{\mathrm{KL}}(P\|Q)\neq D_{\mathrm{KL}}(Q\|P)——它不是距离,而是散度,这也是它名字的由来。

为什么分类损失用交叉熵

训练分类器时,我们有样本与其标签,却不知道真实分布 PP 本身。1 我们只能让模型输出 QQ,目标是让 QQ 尽量接近近似 PP经验分布(label 的 one-hot)。

若用「误差平方」做主,参数更新慢、且损失平面存在大量鞍点;而交叉熵对 QQ 的梯度写得干净。看关系式:H(P,Q)=H(P)+DKLH(P,Q)=H(P)+D_{\mathrm{KL}},其中 H(P)H(P) 是常数,最小化交叉熵 ≡ 最小化 KL 散度

代码上它往往配合 softmax 一起用。NumPy 版本的交叉熵损失如下:

import numpy as np

def cross_entropy(p, q, eps=1e-12):
    # p: one-hot 标签; q: softmax 输出, 剪裁避免 log(0)
    q = np.clip(q, eps, 1.0)
    return -np.sum(p * np.log(q))

更直观的对照

度量公式直觉
H(P)H(P)p(x)logp(x)-\sum p(x)\log p(x)一个分布本身有多不确定
交叉熵 H(P,Q)H(P,Q)p(x)logq(x)-\sum p(x)\log q(x)QQPP平均成本
KL 散度 DKL(PQ)D_{\mathrm{KL}}(P\Vert Q)p(x)logp(x)q(x)\sum p(x)\log\frac{p(x)}{q(x)}猜错的额外代价(非对称)

三种度量直观对照)

信息熵与交叉熵的关系示意

小记

顺一遍主线:度量「不确定」,交叉熵度量「错配」,KL 散度度量的正是这两者之差。二者不对称,是理解散度的钥匙。而在机器学习里,我们用一个恒定的 H(P)H(P),把难算的 DKLD_{\mathrm{KL}} 悄悄换成了好算的 H(P,Q)H(P,Q)。更完整的推导可参考 维基百科:Cross entropy

由此,交叉熵从一个纯数学对象,变成了所有分类任务的默认准绳。偏离真实越远,交叉熵惩罚越重——这就是逻辑回归与深度网络共享的同一块地基。

Footnotes

  1. Cover, T. M., & Thomas, J. A. (2006). Elements of Information Theory, 2nd ed., Wiley.