介绍
相对熵(relative entropy),又被称为Kullback-Leibler散度(Kullback-Leibler divergence)或信息散度(information divergence),是两个概率分布(probability distribution)间差异的非对称性度量。在信息理论中,相对熵等价于两个概率分布的信息熵(Shannon entropy)的差值。
相对熵是一些优化算法,例如最大期望算法(Expectation-Maximization algorithm, EM)的损失函数 。此时参与计算的一个概率分布为真实分布,另一个为理论(拟合)分布,相对熵表示使用理论分布拟合真实分布时产生的信息损耗。
理论
定义
设 $P(x)$, $Q(x)$ 是随机变量 $X$ 上的两个概率分布,则在离散和连续随机变量的情形下,相对熵的定义分别为:
$\mathrm{KL}(P \| Q) =\sum P(x) \log \frac{P(x)}{Q(x)}$
$\mathrm{KL}(P \| Q) =\int P(x) \log \frac{P(x)}{Q(x)} d x$
典型情况下, $P$表示数据的真实分布, $Q$表示数据的理论分布,模型分布,或$P$的近似分布。
计算实例
这里给出一个对相对熵进行计算的具体例子。假如一个字符发射器,随机发出 $0$ 和 $1$ 两种字符,真实发出概率分布为 $A$,但实际不知道 $A$ 的具体分布。通过观察,得到概率分布 $B$ 与 $C$,各个分布的具体情况如下:
$\begin{array}{l} A(0)=1 / 2, A(1)=1 / 2 \\ B(0)=1 / 4, B(1)=3 / 4 \\ C(0)=1 / 8, C(1)=7 / 8 \end{array}$
可以计算出得到如下:
$\begin{array}{l} \mathrm{KL}(A \| B)=1 / 2 \log \left(\frac{1 / 2}{1 / 4}\right)+1 / 2 \log \left(\frac{1 / 2}{3 / 4}\right)=1 / 2 \log (4 / 3) \\\mathrm{KL}(A \| C)=1 / 2 \log \left(\frac{1 / 2}{1 / 8}\right)+1 / 2 \log \left(\frac{1 / 2}{7 / 8}\right)=1 / 2 \log (16 / 7) \end{array}$
由上式可知,按昭概率分布 $B$ 进行编码,要比按照 $C $ 进行编码,平均每个符号增加的比特数目少。从分布上也可以看出,实际上 $B$ 要比 $C$ 更接近实际分布(因为其与 $A$ 分布的相对熵更小)。