1. 信息熵的起源与基础概念
1938年,克劳德·香农在贝尔实验室工作时首次提出了信息熵的数学理论框架。这个概念最初是为了解决通信系统中的信息量化问题而诞生的。信息熵本质上度量的是一个概率分布的不确定性程度,或者说是一个信息源产生的平均信息量。
在离散随机变量X的情况下,信息熵H(X)的数学定义为: H(X) = -Σ p(x) log p(x) 其中p(x)是X取值为x的概率,对数的底数通常取2(单位为比特)、e(单位为纳特)或10(单位为哈特)。
这个公式有几个关键特性:
- 当概率分布越均匀时,熵值越大
- 当某个事件概率为1时(确定性事件),熵值为0
- 熵具有可加性,即多个独立事件的联合熵等于各事件熵的和
实际应用中,我们常用以2为底的对数,这样熵的单位就是比特。例如抛一枚公平硬币的熵就是1比特,因为需要1位二进制数来表示结果。
2. 从信息熵到联合熵与条件熵的扩展
信息熵的概念很快被扩展到更复杂的情况。1948年,香农在其开创性论文《通信的数学理论》中引入了联合熵和条件熵的概念。
联合熵H(X,Y)度量的是两个随机变量联合分布的不确定性: H(X,Y) = -ΣΣ p(x,y) log p(x,y)
条件熵H(Y|X)则表示在已知X的情况下,Y的不确定性: H(Y|X) = Σ p(x) H(Y|X=x) = -ΣΣ p(x,y) log p(y|x)
这些扩展带来了一个重要不等式链: H(X,Y) ≤ H(X) + H(Y) H(Y|X) ≤ H(Y)
只有当X和Y独立时,等号才成立。这个性质在信息论中被称为"信息不增原理"。
3. 互信息的引入与解释
在联合熵和条件熵的基础上,香农定义了互信息I(X;Y): I(X;Y) = H(X) - H(X|Y) = H(Y) - H(Y|X)
互信息衡量的是两个随机变量之间共享的信息量。它具有以下性质:
- 对称性:I(X;Y) = I(Y;X)
- 非负性:I(X;Y) ≥ 0
- 当且仅当X和Y独立时,I(X;Y)=0
互信息的概念为后来相对熵的发展奠定了基础,因为它可以表示为两个概率分布之间的某种"距离"。
4. 相对熵(KL散度)的诞生
1951年,所罗门·库尔巴克和理查德·莱布勒提出了相对熵的概念,也称为KL散度(Kullback-Leibler divergence)。它度量的是一个概率分布P相对于另一个概率分布Q的差异程度。
对于离散分布,KL散度定义为: D(P||Q) = Σ P(x) log[P(x)/Q(x)]
对于连续分布,求和替换为积分: D(P||Q) = ∫ p(x) log[p(x)/q(x)] dx
KL散度有几个重要特性:
- 非负性:D(P||Q) ≥ 0
- 不对称性:D(P||Q) ≠ D(Q||P)
- 当且仅当P=Q时,D(P||Q)=0
虽然KL散度不满足严格距离度量的所有公理(特别是对称性和三角不等式),但它仍然是衡量概率分布差异的强有力工具。
5. 相对熵与信息熵的关系
相对熵可以看作是信息熵的推广。具体来说:
- 当Q是均匀分布时,D(P||U) = log|X| - H(P),其中|X|是事件空间的大小
- 互信息可以表示为联合分布与边缘分布乘积的KL散度:I(X;Y) = D(P(X,Y)||P(X)P(Y))
- 条件熵也可以通过KL散度表示:H(Y|X) = H(X,Y) - H(X)
这些关系表明,相对熵实际上统一了信息论中的多个核心概念。
6. 相对熵在统计学中的应用发展
20世纪中叶以后,相对熵在统计学中获得了广泛应用:
最大熵原理:在给定约束条件下,选择使熵最大的分布,这等价于最小化与均匀分布的KL散度。
模型选择:AIC(赤池信息准则)和BIC(贝叶斯信息准则)等模型选择标准都基于KL散度的概念。
变分推断:在贝叶斯统计中,用简单分布近似复杂后验分布时,最小化KL散度是常见方法。
假设检验:Neyman-Pearson引理表明,最优检验统计量通常涉及对数似然比,这与KL散度直接相关。
7. 从相对熵到其他信息度量
相对熵的成功催生了一系列相关度量:
交叉熵:H(P,Q) = H(P) + D(P||Q),常用于机器学习中的损失函数。
Jensen-Shannon散度:JS(P,Q) = 1/2[D(P||M) + D(Q||M)],其中M=(P+Q)/2,是对称化的KL散度。
f-散度:更一般的散度族,定义为D_f(P||Q) = ∫ q(x)f(p(x)/q(x))dx,KL散度是f(t)=t log t的特例。
Wasserstein距离:另一种概率分布距离度量,在最优传输理论中很重要。
8. 现代应用与前沿发展
近年来,相对熵及其衍生概念在多个领域大放异彩:
机器学习:
- 变分自编码器(VAE)中使用KL散度作为正则项
- 强化学习中的策略梯度方法
- 生成对抗网络(GAN)的训练目标
神经科学:
- 神经元发放模式的信息量分析
- 神经系统信息处理效率研究
量子信息:
- 量子版本的相对熵
- 量子纠缠度量
生态学:
- 生物多样性度量
- 物种分布相似性分析
在实际计算中,我们常常会遇到数值稳定性问题。一个实用技巧是在计算log(p/q)时,添加一个小的ϵ(如1e-10)防止除以零:log((p+ϵ)/(q+ϵ))。