在概率论或信息论中,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散度不满足三角不等式。
物理意义
KL散度是用来 度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。
根据克劳德·香农的信息论,给定一个字符集的概率分布,我们可以设计一种编码,使得表示该字符集组成的字符串平均需要的比特数最少。假设这个字符集是X,对,其出现概率为P(x),那么其最优编码平均需要的比特数等于这个字符集的熵:
在同样的字符集上,假设存在另一个概率分布Q(X)。如果用概率分布P(X)的最优编码(即字符x的编码长度等于),来为符合分布Q(X)的字符编码,那么表示这些字符就会比理想情况多用一些比特数。KL散度就是用来衡量这种情况下平均每个字符多用的比特数,因此可以用来衡量两个分布的距离。即:
由于对数函数是上凸函数,所以:
所以KL散度始终是大于等于0的,当且仅当两分布相同时,KL散度等于0。