KL散度的含义与性质

       在概率论或信息论中,KL散度( Kullback–Leibler divergence),又称相对熵(relative entropy),是描述两个概率分布P和Q差异的一种方法。它是非对称的,这意味着D(P||Q) ≠ D(Q||P)。特别的,在信息论中,D(P||Q)表示当用概率分布Q来拟合真实分布P时,产生的信息损耗,其中P表示真实分布,Q表示P的拟合分布。有人将KL散度称为KL距离,但事实上,KL散度并不满足距离的概念,应为:1)KL散度不是对称的;2)KL散度不满足三角不等式。对一个离散随机变量或连续的随机变量的两个概率分布P和Q来说,KL散度的定义分别如下所示。


     KL散度在信息论中有自己明确的物理意义,它是用来度量使用基于Q分布的编码来编码来自P分布的样本平均所需的额外的Bit个数。而其在机器学习领域的物理意义则是用来度量两个函数的相似程度或者相近程度,在泛函分析中也被频繁地用到[2]。在香农信息论中,用基于P的编码去编码来自P的样本,其最优编码平均所需要的比特个数(即这个字符集的熵)为:


用基于P的编码去编码来自Q的样本,则所需要的比特个数变为:


于是,我们即可得出P与Q的KL散度


可以利用Jensen不等式证明P与Q之间的KL散度不小于0:



参考资料:[1] KL散度的解释,https://baike.so.com/doc/4949446-5170752.html.

                 [2] KL散度与Jensen不等式的理解,https://zhuanlan.zhihu.com/p/28249050.

### 贝叶斯模型KL的关系 在贝叶斯框架下,目标是从给定的数据集中推断出未知参数的概率分布。然而,在实际操作中,精确计算后验分布通常是不可行的,因为这涉及到复杂的积分运算。为了克服这一挑战,变分推断作为一种有效的替代方案被广泛应用。 变分推断的核心思想在于引入一个简单的近似分布 \(Q\) 来逼近真实的后验分布 \(P\)。通过最小化这两个分布间的差异来实现最佳拟合效果。此时,KL作为衡量这种差异的重要工具发挥了作用[^3]。 具体来说,KL定义如下: \[D_{\text{KL}}(Q||P)= \int q(\theta)\log{\frac {q(\theta)}{p(\theta|X)}}d\theta\] 其中\(q(\theta)\)表示近似分布而\(p(\theta|X)\)代表基于观测数据得到的真实后验分布。该表达式反映了当使用\(Q\)代替\(P\)时所损失的信息量大小;因此,降低这个值意味着使两者更加接近。 ```python import numpy as np from scipy.stats import norm def kl_divergence(p, q): """Calculate the Kullback-Leibler divergence between two distributions.""" p = np.asarray(p) q = np.asarray(q) return np.sum(np.where(p != 0, p * np.log(p / q), 0)) ``` ### 应用场景 #### 变分自编码器(VAE) VAE 是一种强大的生成模型架构,其训练过程依赖于最大化证据下界(ELBO),即最小化重构误差加上由 KL 构成的正则项。这样做不仅能够提高样本质量还能防止过拟合现象的发生[^2]。 #### 参数估计 对于复杂模型而言,直接求解最大似然估计可能是困难重重的任务。利用 KL 可以在保持一定精的前提下大大减少计算成本并加速收敛速。 #### 数据压缩 通过对原始信号施加先验假设,并借助 KL 调整权重系数使得重建后的版本尽可能忠实原貌的同时达到降维的目的。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值