首页 > 代码库 > KL 散度,相对熵

KL 散度,相对熵

找了一些文章,感觉这篇是最好的,转载自:

最好的解释链接

KL散度常用于衡量两个概率分布之间的距离。根据香农定理,对一个概率分布 P(X) 进行最优编码方案编码的平均编码长度为


也就是说,如果对于概率分布 P(X) 的的编码为最优编码方案时:

 

现假设在同样的字符集上,存在另一个概率分布 Q(X) ,如果用概率分布 P(X) 的最优编码来为符合分布 Q(X) 的字符编码,因为 Q(x) 的最少编码数量应该不是 P(x) 的最优编码方案,除非两个分布一模一样。所以,此时表示这些字符就会比理想情况下多用一些比特数。

KL(Kullback-Leibler) Divergence ,就是用来度量这种情况下平均每个字符多用的比特数,因此可用来衡量两个分布的差异。得 KL 距离定义:

KL-Divergence ≥ 0 。当 KL-Divergence = 0 时,两个分布一模一样。

KL-Diverggence (A, B) ≠ KL-Divergence(B, A) ,即 KL 散度并不满足对称性(即使很多时候把它叫做 KL “距离”)。

如果想使其对称,可以使用如下度量:

KL 散度,相对熵