KL散度衡量两个分布的差异,但又不符合,属于相对熵范畴。
简介
KL散度(KL divergence)
-
全称:Kullback-Leibler Divergence。
-
用途:比较两个概率分布的接近程度。在统计应用中,我们经常需要用一个简单的,近似的概率分布 f * 来描述。观察数据 D 或者另一个复杂的概率分布 f 。这个时候,我们需要一个量来衡量我们选择的近似分布 f * 相比原分布 f 究竟损失了多少信息量,这就是KL散度起作用的地方。
而KL散度可以作为正则化项(regularization term)加入损失函数之中,即使用KL散度来最小化我们近似分布时的信息损失,让我们的网络可以学习很多复杂的分布。
一个典型应用是VAE(变分自动编码)。
KL散度(Kullback-Leibler divergence),又称相对熵,是一种衡量两个概率分布 P 和 Q 之间差异的指标。它的定义如下:
其中,$P(x)$ 和 $Q(x)$ 分别表示分布 P 和 Q 在取值为 x 时的概率。KL散度的值越大,表示两个分布之间差异越大;当两个分布完全相同的时候,KL散度为0。
需要注意的是,KL散度并不具有对称性,即 $KL(P||Q) ≠ KL(Q||P)$,因为除非 $P(x)=0$,否则 $\frac{P(x)}{Q(x)}$ 和 $\frac{Q(x)}{P(x)}$ 是不同的。
KL散度在机器学习中有很多应用,尤其是在优化模型时,常用KL散度作为目标函数或正则化项。例如,在生成模型中,我们可以通过最小化KL散度来使得生成的样本更加接近于真实数据分布。
JS散度(Jensen-Shannon divergence)是一种衡量两个概率分布之间相似程度的指标。它是基于香农熵(Shannon entropy)的思想发展而来的。
假设两个概率分布为 P 和 Q,则它们之间的JS散度定义为: 其中,$KL$ 表示KL散度(Kullback-Leibler divergence), 即 M 是 P 和 Q 的平均分布。
JS散度的值范围在 [0, 1] 之间,当 $P=Q$ 时,JS散度为0;当两个概率分布完全不同的时候,JS散度为1。因此,JS散度可以作为衡量两个分布相似度的度量。