KL 散度(Kullback-Leibler Divergence)衡量两个概率分布差异,是信息论和机器学习的核心概念。
数学定义
离散分布
$$D_{KL}(P \parallel Q) = \sum_{x \in \mathcal{X}} P(x) \log \frac{P(x)}{Q(x)}$$
连续分布
$$D_{KL}(P \parallel Q) = \int_{-\infty}^{\infty} p(x) \log \frac{p(x)}{q(x)} dx$$
核心性质
| 性质 | 说明 |
|---|---|
| 非负性 | $D_{KL} \geq 0$,当且仅当 $P=Q$ 时等于 0 |
| 不对称性 | $D_{KL}(P \parallel Q) \neq D_{KL}(Q \parallel P)$ |
| 信息解释 | 用 $Q$ 近似 $P$ 时损失的信息量 |
原理推导
$$D_{KL}(P \parallel Q) = H(P, Q) - H(P)$$
其中 $H(P)$ 是熵,$H(P, Q)$ 是交叉熵。
应用场景
| 领域 | 应用 |
|---|---|
| 变分推断 | 变分下界目标函数 |
| 生成模型 | GAN、VAE 评估生成分布与真实分布差异 |
| 强化学习 | 策略优化中限制更新幅度 |
代码实现
| |
实践经验
- 数值稳定性:添加小常数避免除零
- 对称化处理:使用 Jensen-Shannon 散度
- 分布归一化:确保输入为有效概率分布
相关度量
| 度量 | 公式 |
|---|---|
| Jensen-Shannon 散度 | $D_{JS} = \frac{1}{2}D_{KL}(P \parallel M) + \frac{1}{2}D_{KL}(Q \parallel M)$ |
| Rényi 散度 | $D_\alpha = \frac{1}{\alpha-1} \log \sum P(x)^\alpha Q(x)^{1-\alpha}$ |
张芷铭的个人博客
Comments