度量两种分布的距离之KL散度(Kullback-Leibler divergence)

KL散度(Kullback-Leibler divergence),又称为相对熵,是衡量两个概率分布之间差异的一种非对称性度量。它描述了一个分布 Q Q Q相比于另一个分布 P P P的信息损失,常用于信息论和机器学习领域。

定义

KL散度的数学定义为:

D K L ( P ∥ Q ) = ∑ i P ( i ) log ⁡ P ( i ) Q ( i ) D_{\mathrm{KL}}(P \parallel Q) = \sum_{i} P(i) \log \frac{P(i)}{Q(i)} DKL(PQ)=iP(i)logQ(i)P(i)

或在连续情形下:

D K L ( P ∥ Q ) = ∫ − ∞ ∞ p ( x ) log ⁡ p ( x ) q ( x )   d x D_{\mathrm{KL}}(P \parallel Q) = \int_{-\infty}^{\infty} p(x) \log \frac{p(x)}{q(x)} \, dx DKL(PQ)=p(x)logq(x)p(x)dx

其中:

  • P P P Q Q Q 是两个概率分布。
  • P ( i ) P(i) P(i) Q ( i ) Q(i) Q(i) 分别表示 P P P Q Q Q 在某个事件 i i i 上的概率。
  • p ( x ) p(x) p(x) q ( x ) q(x) q(x) 是对应的概率密度函数。

直观解释

KL散度衡量的是如果用分布 Q Q Q来近似分布 P P P,会有多少信息丢失。它本质上是计算每个事件的对数概率比值,再按 P P P的概率加权平均。

性质

  1. 非负性 D K L ( P ∥ Q ) ≥ 0 D_{\mathrm{KL}}(P \parallel Q) \geq 0 DKL(PQ)0,且当且仅当 P = Q P = Q P=Q时取等号。
  2. 非对称性 D K L ( P ∥ Q ) ≠ D K L ( Q ∥ P ) D_{\mathrm{KL}}(P \parallel Q) \neq D_{\mathrm{KL}}(Q \parallel P) DKL(PQ)=DKL(QP),这意味着交换两个分布的位置会得到不同的结果。
  3. 无界性 D K L ( P ∥ Q ) D_{\mathrm{KL}}(P \parallel Q) DKL(PQ)可以是无穷大的,例如当 Q ( i ) = 0 Q(i) = 0 Q(i)=0 P ( i ) ≠ 0 P(i) \neq 0 P(i)=0时。

举例说明

考虑两个简单的离散分布:

  • 分布 P P P { P ( A ) = 0.4 , P ( B ) = 0.6 } \{P(A) = 0.4, P(B) = 0.6\} {P(A)=0.4,P(B)=0.6}
  • 分布 Q Q Q { Q ( A ) = 0.5 , Q ( B ) = 0.5 } \{Q(A) = 0.5, Q(B) = 0.5\} {Q(A)=0.5,Q(B)=0.5}

计算 D K L ( P ∥ Q ) D_{\mathrm{KL}}(P \parallel Q) DKL(PQ)

D K L ( P ∥ Q ) = 0.4 log ⁡ 0.4 0.5 + 0.6 log ⁡ 0.6 0.5 D_{\mathrm{KL}}(P \parallel Q) = 0.4 \log \frac{0.4}{0.5} + 0.6 \log \frac{0.6}{0.5} DKL(PQ)=0.4log0.50.4+0.6log0.50.6

= 0.4 log ⁡ 0.8 + 0.6 log ⁡ 1.2 = 0.4 \log 0.8 + 0.6 \log 1.2 =0.4log0.8+0.6log1.2

= 0.4 ⋅ ( − 0.2231 ) + 0.6 ⋅ 0.1823 = 0.4 \cdot (-0.2231) + 0.6 \cdot 0.1823 =0.4(0.2231)+0.60.1823

= − 0.08924 + 0.10938 = -0.08924 + 0.10938 =0.08924+0.10938

= 0.02014 = 0.02014 =0.02014

因此, D K L ( P ∥ Q ) ≈ 0.02014 D_{\mathrm{KL}}(P \parallel Q) \approx 0.02014 DKL(PQ)0.02014

这个值表明,如果我们用 Q Q Q来近似 P P P,会有一定的信息损失,但并不大。

应用

KL散度在许多领域都有应用,例如:

  • 机器学习:用于衡量模型预测分布与真实分布之间的差异,特别是在变分推断和生成模型中。
  • 自然语言处理:评估语言模型的性能。
  • 信息论:分析编码方案的效率和信息压缩效果。

通过理解和应用KL散度,我们可以更好地比较和评估不同的概率分布,进而优化各种统计和机器学习模型。

  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值