随机变量的变换的Kullback-Leibler散度
- 基本定义与背景
Kullback-Leibler(KL)散度是衡量两个概率分布差异的工具。设 \(P\) 和 \(Q\) 是同一概率空间上的两个概率分布(连续或离散),其概率密度函数(或概率质量函数)分别为 \(p(x)\) 和 \(q(x)\)。KL散度的定义为:
\[ D_{\text{KL}}(P \| Q) = \begin{cases} \sum_{x} p(x) \log \frac{p(x)}{q(x)} & \text{(离散情形)} \\ \int p(x) \log \frac{p(x)}{q(x)} \, dx & \text{(连续情形)} \end{cases} \]
其中,要求 \(Q\) 在 \(P\) 的支撑集上非零(否则定义为无穷大)。KL散度是非负的,且当且仅当 \(P = Q\) 时为零。
- 直观解释与性质
- 非对称性:KL散度不对称,即 \(D_{\text{KL}}(P \| Q) \neq D_{\text{KL}}(Q \| P)\)。它衡量用 \(Q\) 近似 \(P\) 时的信息损失。
- 非度量性:不满足三角不等式,因此不是严格意义上的距离。
- 与熵的关系:可分解为交叉熵与 \(P\) 的熵之差:
\[ D_{\text{KL}}(P \| Q) = H(P, Q) - H(P) \]
其中 \(H(P)\) 是 \(P\) 的熵,\(H(P, Q)\) 是 \(P\) 与 \(Q\) 的交叉熵。
- 计算示例
假设 \(P\) 和 \(Q\) 是均值为 \(\mu_1, \mu_2\)、方差为 \(\sigma^2\) 的正态分布(方差相同)。其KL散度为:
\[ D_{\text{KL}}(P \| Q) = \frac{(\mu_1 - \mu_2)^2}{2\sigma^2} \]
这表明均值差异越大,散度越大,且与方差成反比。
-
在统计推断与机器学习中的应用
- 模型选择:用于比较真实分布与模型预测分布的差异。
- 变分推断:通过最小化 \(D_{\text{KL}}(Q \| P)\) 寻找近似后验分布 \(Q\)。
- 生成对抗网络(GAN):生成器训练可视为最小化生成分布与真实分布间的KL散度。
-
与其他散度的联系
KL散度是更广泛的 \(f\)-散度族(如Hellinger距离、总变差距离)的特例。例如,\(f\)-散度定义为:
\[ D_f(P \| Q) = \int f\left( \frac{p(x)}{q(x)} \right) q(x) \, dx \]
当 \(f(t) = t \log t\) 时,即为KL散度。
- 注意事项与扩展
- 数值稳定性:实际计算需避免 \(q(x) = 0\) 的情况,常通过平滑或截断处理。
- JS散度:KL散度的对称化版本,定义为:
\[ D_{\text{JS}}(P \| Q) = \frac{1}{2} D_{\text{KL}}(P \| M) + \frac{1}{2} D_{\text{KL}}(Q \| M) \]
其中 \(M = \frac{P + Q}{2}\)。