KL散度

KL 散度(Kullback–Leibler divergence)是用来衡量两个概率分布之间差异的一种方法。它的数学表达式和理解可以分几个层次来看:

1. 数学定义

如果我们有两个概率分布 (真实分布)和 (近似分布),它们定义在同一个随机变量 上,则

离散情况下:

或者连续情况下:

2. 核心直觉

  • 非对称性 所以它不是一个真正的“距离”,而更像是一种有方向的差异测量

  • 非负性

    当且仅当 (几乎处处相等)时取等号

  • 不变性(Invariance under transformation)

    如果 是单射(可逆)变换,则

    意思是:在做变量的可逆变换时,KL 散度值不变

非负性证明

函数 上是凸函数,由 Jensen 不等式,对于以 为权的随机变量 (这里 )有:

同时

因此左边等于 ,于是

所以

取等条件:Jensen 取等号当且仅当 几乎处处为常数,即 几乎处处为常数,但 ,所以该常数必须为 1,从而 ,所以

不变性证明

是可逆(双射)且可测的变换,令 。若 上有密度 ,则 上的密度分别为 ,并且

假设 可逆且可微,其逆记为 。记 , 。由变量替换公式, 的密度为

同理

计算

观察对数项:

因为 Jacobian 项在分子分母中抵消了。于是

对上式做变量替换 (即 ),记住 ,得到

3. 信息论解释

在信息论中,概率分布 的熵:

表示用最优编码描述来自 的样本所需的平均比特数,如果我们错用了 的编码去描述 的数据,那么平均所需的比特数是:

两者之差就是 KL 散度:

也就是说:额外浪费的比特数

4. 两个高斯分布的KL散度满足下面等式

设维度为

目标证明

多元高斯密度(对 ):

KL 定义为(以 为期望):

首先计算对数比(把常数项和二次型项分开):

因为 .

取期望,得到

计算第一项

引理:

  • 证明

    展开左边: 所以 右边: 显然两个求和式相同(只是换了求和次序)

又因为标量等于其迹,所以

代入:

对两边取期望,并把期望移进迹号(期望是线性算子,迹也是线性算子):

由协方差的定义 ,得到

即对任意服从 ,有

因此第一项为

计算第二项

我们需要计算

展开:

第1项利用迹恒等式(同式理):

第2项中 ,因此该项为 0

于是

注意

合并项得到最终公式

把前两步结果代回 KL 的表达式:

整理即得