两个多元正态分布的KL散度巴氏距离和W距离
最佳排版请看原链接:
两个多元正态分布的KL散度、巴氏距离和W距离 - 科学空间|Scientific Spaces (opens new window)
正态分布是最常见的连续型概率分布之一。它是给定均值和协方差后的最大熵分布(参考**《“熵”不起:从熵、最大熵原理到最大熵模型(二)》 (opens new window)**),也可以看作任意连续型分布的二阶近似,它的地位就相当于一般函数的线性近似。从这个角度来看,正态分布算得上是最简单的连续型分布了。也正因为简单,所以对于很多估计量来说,它都能写出解析解来。
本文主要来计算两个多元正态分布的几种度量,包括KL散度、巴氏距离和W距离,它们都有显式解析解。
正态分布
这里简单回顾一下正态分布的一些基础知识。注意,仅仅是回顾,这还不足以作为正态分布的入门教程。
概率密度
正态分布,也即高斯分布,是定义在
由此也可以推出二阶矩的结果:
还有一个常用的统计量是它的熵:
其计算过程可以参考后面KL散度的推导。
高斯积分
概率密度函数意味着
设
利用它我们可以算出正态分布的特征函数
特征函数可以用来算正态分布的各阶矩。
线性代数
这里补充一些线性代数基础,它们在后面的推导中会频繁用到。同样地,这仅仅是“回顾”,并不能作为线性代数教程。
内积范数
首先,我们来定义内积和范数。对于向量
来定义,而模长定义为
这称为Frobenius内积,对应的
关于Frobenius内积,最关键的性质之一是成立恒等式
也就是说,矩阵的Frobenius内积可以转化为矩阵乘法的迹,并且交换相乘顺序不改变结果(不改变迹的结果,但是矩阵乘法的整体结果会改变)。
正定对称
接着,来看正定对称矩阵的一些性质。
此外还有半正定的概念,指对于任意非零向量
正定对称矩阵有一个重要的性质,那就是它的SVD分解跟特征值分解一致,即具有下述形式的分解
其中
矩阵求导
最后,在求Wasserstein距离的时候,还需要用到一些矩阵求导公式,如果不了解的读者,可以直接参考维基百科的“Matrix Calculus (opens new window)”。当然,其实也不难,主要用到了
剩下的可以结合迹的运算公式来派生出来,比如
KL散度
作为第一个尝试,我们来算两个高斯分布的**KL散度(Kullback-Leibler divergence) (opens new window)**。KL散度算是最常用的分布度量之一了,因为它积分之前需要取对数,这对于指数簇分布来说通常能得到相对简单的结果。此外它还跟“熵”有着比较紧密的联系。
计算结果
两个概率分布的KL散度定义为
对于两个正态分布来说,计算结果是
特别地,当
推导过程
从KL散度的定义知道,我们主要把
现在,关于迹的恒等式就可以派上用场了:
注意
巴氏距离
然后,我们来看看**巴氏距离(Bhattacharyya distance) (opens new window)**,它定义为
与之相关的还有一个叫做“Hellinger距离 (opens new window)”的概念,它的平方定义为$ \frac{1}{2}\int\left(\sqrt{p(\boldsymbol{x})} - \sqrt{q(\boldsymbol{x})}\right)^2 d\boldsymbol{x}$,展开后就能发现跟巴氏距离本质是等价的。
计算结果
对于两个正态分布来说,它们的巴氏距离为
这里
当两者之一为标准正态分布时,结果并没有明显简化,所以这里就不单独写出来了。
推导过程
按照定义,两个正态分布的巴氏距离,是下述积分的负对数: $$\begin{aligned} &\qquad\int \sqrt{p(\boldsymbol{x}) q(\boldsymbol{x})} d\boldsymbol{x}=\frac{1}{\sqrt[4]{(2\pi)^{2n}\det(\boldsymbol{\Sigma}_p\boldsymbol{\Sigma}_q)}}\times \ &\int \exp\left{-\frac{1}{4}(\boldsymbol{x}-\boldsymbol{\mu}_p)^{\top}\boldsymbol{\Sigma}_p^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_p)-\frac{1}{4}(\boldsymbol{x}-\boldsymbol{\mu}_q)^{\top}\boldsymbol{\Sigma}_q^{-1}(\boldsymbol{x}-\boldsymbol{\mu}_q)\right}d\boldsymbol{x} \end{aligned}\$$ 记
W距离
如果读者还想看了解更多关于概率散度的内容,可以参考书籍**《Statistical Inference Based on Divergence Measures》 (opens new window)**。现在我们转向另一类概率度量——基于最优传输的W距离(Wasserstein距离)。
沿用**《从Wasserstein距离、对偶理论到WGAN》 (opens new window)**中的记号,W距离的定义如下:
不同的
计算结果
有意思的是,关于两个正态分布的W距离的结果,流传着两个不同的版本,这两个版本都有一定的认知度,但却没有看到有明确说两者等价的资料。两个版本出自不同的论文,还被冠以了不同的名字。
版本1
首先第一个流传相对较广的版本(很多文献包括维基百科也使用这个版本):
然后我们可以直接验证
版本2
第二个看起来稍微简单一些的版本,结果是:
这个版本通常被称为“Fréchet距离 (opens new window)”。GAN中经常使用的评价指标FID(Frechet Inception Distance (opens new window)),就是基于这个公式进行计算的。可以模仿前面证明它关于
等价性
事实上,证明两者的等价性并不难:
然后直接验证
特殊时
特别地,如果
为什么说它非常直观呢?因为正态分布的参数为
但从物理角度来看,这个指标是不妥的,因为如果将
特别地,当
推导过程1
现在介绍第一个证明,主要参考了论文**《A class of Wasserstein metrics for probability distributions》 (opens new window)。另外《The distance between two random vectors with given dispersion matrices》 (opens new window)**也提供了一个类似的证明,也可以参考。
下面的推导过程则是经过笔者简化的,相对原论文的证明来说简单一些,但依然不可避免地会涉及到较多的线性代数知识,我们将分几个部分介绍。
去均值
不失一般性,我们可以只考虑均值为0的分布
该结果意味着
所以,只需要算出均值都为零时的Wasserstein距离,然后加上
纯代数
现在我们假设
其中
构成联合分布
舒尔补
为此,我们需要利用下述关于“舒尔补”的恒等式:
其中对称矩阵
分参数
我们尝试分离参数,即从
这说明
乘子法
此时,变量分别是
求导:
首先留意到
即
不等式
最后需要把
根据Weyl不等式,如果矩阵
有了这个结论,那就简单了,设
至于Weyl不等式的证明,主要利用到了**Rayleigh quotient (opens new window)和Courant–Fischer定理 (opens new window)**,有兴趣了解的读者自行查阅这两部分资料后,再查阅Wely不等式的证明就好。事实上,熟悉这两部分内容后,Weyl不等式基本上就“水到渠成”了。
推导过程2
这里继续介绍另一个更为简单的证明,原始证明可以在**《The Fréchet distance between multivariate normal distributions》 (opens new window)**找到。相对而言该证明简单不少,尤其是不需要太多的纯线性代数知识。下面的推导过程依旧是经过笔者进一步简化的,比原始论文更好理解一些。
在这个推导过程中,“去均值”、“纯代数”两个步骤跟“推导过程1”是一样的,不再重复。所以,此时问题已经被转化为 已知
分块阵
由于
对应地有
乘子法
在上述参数化之下,问题转化为: 已知
这是一个带约束的最大值问题,我们用“拉格朗日乘子法 (opens new window)”:引入新参数矩阵
求导:
注意到
令
而
文章小结
本文详细计算了两个多元正态分布的KL散度、巴氏距离和W距离,给出了它们的显式解析解,这些结果在某些场景下可以作为隐变量的正则项使用,来规范隐变量的分布。此外,本文还可以作为比较有挑战性的线性代数练习题,供大家参考练习。