©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 追一科技

研究方向 | NLP、神经网络

正态分布是最常见的连续型概率分布之一。它是给定均值和协方差后的最大熵分布(参考《“熵”不起:从熵、最大熵原理到最大熵模型(二)》[1] ),也可以看作任意连续型分布的二阶近似,它的地位就相当于一般函数的线性近似。从这个角度来看,正态分布算得上是最简单的连续型分布了。也正因为简单,所以对于很多估计量来说,它都能写出解析解来。

本文主要来计算两个多元正态分布的几种度量,包括 KL 散度、巴氏距离和 W 距离,它们都有显式解析解。

正态分布

这里简单回顾一下正态分布的一些基础知识。注意,仅仅是回顾,这还不足以作为正态分布的入门教程。

1.1 概率密度

正态分布,也即高斯分布,是定义在









上的连续型概率分布,其概率密度函数为:

这里的













,



即均值向量(本文的向量默认情况下都为列向量),而















即为协方差矩阵,它要求是对称正定的。可以看到,正态分布由









唯一确定,因此不难想象它的统计量都是









的函数。当










时,对应的分布称为“标准正态分布”。

1.2 基本性质

通常来说,基本的统计量就是均值和方差了,它们对应着正态分布的两个参数:

由此也可以推出二阶矩的结果:

还有一个常用的统计量是它的熵:

其计算过程可以参考后面 KL 散度的推导。

1.3 高斯积分

概率密度函数意味着












,这就可以推出:















,那么得到高斯积分:

利用它我们可以算出正态分布的特征函数:

特征函数可以用来算正态分布的各阶矩。

线性代数

这里补充一些线性代数基础,它们在后面的推导中会频繁用到。同样地,这仅仅是“回顾”,并不能作为线性代数教程。

2.1 内积范数

首先,我们来定义内积和范数。对于向量





































,内积按照:

来定义,而模长定义为

















。对于






的矩阵




























,我们按照类似的方式定义:

这称为 Frobenius 内积,对应的























称为 Frobenius 范数。不难看到,Frobenius 内积和范数,事实上就是把矩阵展平为向量后,当作常规的向量来运算。

关于 Frobenius 内积,最关键的性质之一是成立恒等式:

也就是说,矩阵的 Frobenius 内积可以转化为矩阵乘法的迹,并且交换相乘顺序不改变结果(不改变迹的结果,但是矩阵乘法的整体结果会改变)。

2.2 对称正定

接着,来看对称正定矩阵的一些性质。




是一个对称正定矩阵,对称说的是











,正定说的是对于任意非零向量











,都有













。可以证明,如果












都是对称正定矩阵,那么






























也都是对称正定矩阵。如果


















是可逆阵,那么




是对称正定的当且仅当




是对称正定的。

此外还有半正定的概念,指对于任意非零向量











,都有













,也就是说可能存在非零向量




使得













。不过考虑到正定矩阵在半正定矩阵中稠密,所以我们不严格区分正定和半正定了,统一按照正定矩阵来处理。

对称正定矩阵有一个重要的性质,那就是它的 SVD 分解跟特征值分解一致,即具有下述形式的分解:

其中




是正交矩阵,而




是对角阵,并且对角线上的元素都是正的。该结果的一个直接推论是:对称正定矩阵都可以“开平方”,其平方根为































,其中













是指将对角线上的元素都开平方,可以检验平方根矩阵也是对称正定的。反过来,可以开平方的对称矩阵,一定也是对称正定矩阵。

2.3 矩阵求导

最后,在求 Wasserstein 距离的时候,还需要用到一些矩阵求导公式,如果不了解的读者,可以直接参考维基百科的“Matrix Calculus”[2]。当然,其实也不难,主要用到了:

剩下的可以结合迹的运算公式来派生出来,比如:

KL散度

作为第一个尝试,我们来算两个高斯分布的 KL 散度(Kullback-Leibler divergence [3] )。KL散度算是最常用的分布度量之一了,因为它积分之前需要取对数,这对于指数簇分布来说通常能得到相对简单的结果。此外它还跟“熵”有着比较紧密的联系。

3.1 计算结果

两个概率分布的 KL 散度定义为:

对于两个正态分布来说,计算结果是:

特别地,当 q 是标准正态分布时,结果简化为:

3.2 推导过程

从KL散度的定义知道,我们主要把


























算出来就行了:

现在,关于迹的恒等式就可以派上用场了:

注意






















时,上式就等于n,此时就对应正态分布的熵。所以最终得到:

巴氏距离

然后,我们来看看巴氏距离(Bhattacharyya distance [4] ),它定义为:

与之相关的还有一个叫做“Hellinger距离[5] ”的概念,定义为
































,展开后就能发现跟巴氏距离本质是等价的。

4.1 计算结果

对于两个正态分布来说,它们的巴氏距离为:

这里




















。可以看到结果是对称的,这是因为巴氏距离的定义本身就是对称的。

当两者之一为标准正态分布时,结果并没有明显简化,所以这里就不单独写出来了。

4.2 推导过程

按照定义,两个正态分布的巴氏距离,是下述积分的负对数:

























,积分部分可以换元为:

这里




















。按照前面介绍的高斯积分公式(6),积分结果是:

所以最终:

W距离

如果读者还想看了解更多关于概率散度的内容,可以参考书籍《Statistical Inference Based on Divergence Measures》[6] 。现在我们转向另一类概率度量——基于最优传输的 W 距离(Wasserstein 距离)。

沿用从 Wasserstein 距离、对偶理论到 WGAN 中的记号,W 距离的定义如下:

不同的









会得到不同的结果,为了得到较为简单的解,这里选择:

5.1 计算结果

有意思的是,关于两个正态分布的 W 距离的结果,流传着两个不同的版本,这两个版本都有一定的认知度,但确没有看到有人明确说明两者的等价性。两个版本源于它们不同的证明思路,还被冠以了不同的名字。

5.1.1 版本1

首先第一个流传相对较广的版本(很多文献包括维基百科也使用这个版本):

关于这个结果,有的读者可能困惑于“怎么关于 p,q 不是对称的”,事实上,它关于 p,q 是对称的,因为:

然后我们可以直接验证 ,所以有

5.1.2 版本2

第二个版本的结果是:

这个版本通常被称为“Fréchet 距离”。GAN 中经常使用的评价指标 FID(Frechet Inception Distance),就是基于这个公式进行计算的。

5.1.3 等价性

事实上,证明两者的等价性并不难:

然后直接验证 即可。

5.1.4 特殊情形

特别地,如果












的乘法可以交换,那么将会简化为非常直观的形式:

为什么说它非常直观呢?因为正态分布的参数为






,所以比较正态分布的差异其实就是比较






的差异,按照机器学习的习惯,一个很容易相当想到的指标是平方误差:

但从物理角度来看,这个指标是不妥的,因为如果将




看成是长度量纲,那么




就具有长度平方的量纲,所以



































是具有不同量纲的两个量,不能相加。而为了使得量纲一致,直观的想法就是把




“开平方”后再算平方误差,这就得到了式(32)。

特别地,当q为标准正态分布时,结果简化为:

5.2 推导过程1

现在介绍第一个证明,主要参考了论文《A class of Wasserstein metrics for probability distributions》[7] 。另外《The distance between two random vectors with given dispersion matrices》[8] 也提供了一个类似的证明,也可以参考。

下面的推导过程则是经过笔者简化的,相对原论文的证明来说简单一些,但依然不可避免地会涉及到较多的线性代数知识,我们将分几个部分介绍。

5.2.1 去均值

不失一般性,我们可以只考虑均值为 0 的分布 p,q。因为如果 p,q 的均值不为 0,那么设对应的均值为 0 的分布为
















,此时有:

该结果意味着:

所以,只需要算出均值都为零时的 Wasserstein 距离,然后加上

















就得到了一般情况的结果。

5.2.2 纯代数

现在我们假设 p,q 的均值均为 0,然后计算:

其中:

构成联合分布




的协方差矩阵。我们知道协方差矩阵是正定对阵矩阵,所以从代数的角度看,问题变成了:

已知











































为正定对称矩阵,求







的最大值。

5.2.3 舒尔补

为此,我们需要利用下述关于“舒尔补”的恒等式:

其中对称矩阵

























称为“舒尔补(Schur Complement)”[9] ,该分解具有











的形式,要想它是正定的,那么




要是正定的,而







已经是正定的,所以




需要是正定的。

5.2.4 分参数

我们尝试分离参数,即从

























中把




解出来。首先移项得到

























,由于







是正定对称的,所以











也是,从而


















也是正定对称的,那么它具有正定对称的平方根,即存在正定对称矩阵




,使得:

这说明























是正交矩阵,记为




,那么


















5.2.5 乘子法

此时,变量分别是









,求
























的最大值。我们先固定




,求取最大值时的




,此时相当于在












的约束下,求



















的最大值,我们用“拉格朗日乘子法” [10]:引入新参数矩阵




,转化为下述无约束极值问题:

求导:

首先留意到












是对称的,因此对应的参数矩阵




也是对称的,于是我们有:

,所以此时:

5.2.6 不等式

最后需要把




确定下来。回顾




的定义,我们有














,其中




是正定矩阵。直觉上






时取得最大值,事实上也确实如此,这算是“Weyl 不等式” [11] 的一个直接推论。

根据 Weyl 不等式,如果矩阵










都是正定对称矩阵,它们的特征值从小到大排列分别为


















































































,那么对于任意








,都有 ,也就是说:

正定对称矩阵的和的特征值,一一对应地大于它们各自的特征值。

有了这个结论,那就简单了,设














































的特征值为
















,那么它的迹就是














,对应地,

































的特征值为


















,注意

































是对称正定矩阵(对称是显然的,而因为它能开平方,所以正定),


























也是对称正定的(因为




是对称正定的),所以它们的特征值,都不超过它们的和——也就是





























的特征值,所以说,














































每个特征值的最大值(也就是迹的最大值),在






处取到。

至于 Weyl 不等式的证明,主要利用到了 Rayleigh quotient [12] 和 Courant–Fischer [13] 定理,有兴趣了解的读者自行查阅这两部分资料后,再查阅 Wely 不等式的证明就好。事实上,熟悉这两部分内容后,Weyl 不等式基本上就“水到渠成”了。

5.3 推导过程2

这里继续介绍另一个更为简单的证明,原始证明可以在[《The Fréchet distance between multivariate normal distributions》](https://core.ac.uk/download/pdf/82269844.pdf)找到。相对而言该证明简单不少,尤其是不需要太多的纯线性代数知识。下面的推导过程依旧是经过笔者进一步简化的,比原始论文更好理解一些。

在这个推导过程中,“去均值”、“纯代数”两个步骤跟“推导过程1”是一样的,不再重复。所以,此时问题已经被转化为:

已知











































为正定对称矩阵,求







的最大值。

5.3.1 分块阵

由于









是对称正定矩阵,所以它必然可以表达成










的形式,我们将




表达为分块矩阵



















,其中


















,此时

对应地有






































5.3.2 乘子法

在上述参数化之下,问题转化为:

已知




























,求













的最大值。

这是一个带约束的最大值问题,我们用“拉格朗日乘子法” [10] :引入新参数矩阵












,转化为下述无约束极值问题:

求导:

注意到































都是对称的,所以对应的参数矩阵也是对称的,此时:



































,代入上式得




































,即

而:

文章小结

本文详细计算了两个多元正态分布的 KL 散度、巴氏距离和W距离,给出了它们的显式解析解,这些结果在某些场景下可以作为隐变量的正则项使用,来规范隐变量的分布。此外,本文还可以作为比较有挑战性的线性代数练习题,供大家参考练习。

参考文献

[1] https://kexue.fm/archives/3552

[2] https://en.wikipedia.org/wiki/Matrix_calculus

[3] https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence

[4] https://en.wikipedia.org/wiki/Bhattacharyya_distance

[5] https://en.wikipedia.org/wiki/Hellinger_distance

[6] https://www.taylorfrancis.com/books/mono/10.1201/9781420034813/statistical-inference-based-divergence-measures-leandro-pardo

[7] https://projecteuclid.org/journals/michigan-mathematical-journal/volume-31/issue-2/A-class-of-Wasserstein-metrics-for-probability-distributions/10.1307/mmj/1029003026.full

[8] https://www.sciencedirect.com/science/article/pii/0024379582901124

[9] https://en.wikipedia.org/wiki/Schur_complement

[10] https://en.wikipedia.org/wiki/Lagrange_multiplier

[11] https://en.wikipedia.org/wiki/Weyl%27s_inequality

[12] https://en.wikipedia.org/wiki/Rayleigh_quotient

[13] https://en.wikipedia.org/wiki/Min-max_theorem

特别鸣谢

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

???? 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

???? 投稿通道:

• 投稿邮箱:hr@paperweekly.site

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

△长按添加PaperWeekly小编

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

两个多元正态分布的KL散度、巴氏距离和W距离相关推荐

  1. 一文懂KL散度KL Divergence

    本文翻译自https://naokishibuya.medium.com/demystifying-kl-divergence-7ebe4317ee68 KL散度中的KL全称是Kullback-Lei ...

  2. kl散度定义_Kullback-Leibler(KL)散度介绍

    在这篇文章中,我们将探讨一种比较两个概率分布的方法,称为Kullback-Leibler散度(通常简称为KL散度).通常在概率和统计中,我们会用更简单的近似分布来代替观察到的数据或复杂的分布.KL散度 ...

  3. Kullback–Leibler divergence(相对熵,KL距离,KL散度)

    1 前言 注意两个名词的区别: 相对熵:Kullback–Leibler divergence 交叉熵:cross entropy KL距离的几个用途: ① 衡量两个概率分布的差异. ② 衡量利用概率 ...

  4. 如何理解K-L散度(相对熵)

    Kullback-Leibler Divergence,即K-L散度,是一种量化两种概率分布P和Q之间差异的方式,又叫相对熵.在概率学和统计学上,我们经常会使用一种更简单的.近似的分布来替代观察数据或 ...

  5. 库尔巴克·莱布勒------KL散度

    库尔巴克·莱布勒------KL散度 散度 信息的编码 "编码"分布 编码分布 KL散度 散度 这里的散度是用来描述分布之间的距离,并非高数中的散度对应的物理意义. 信息的编码 一 ...

  6. Kullback-Leibler_divergence(KL散度、相对熵)

    又是概率论中的知识,后悔上课没好好学概率论TAT. 转自:https://blog.csdn.net/zb1165048017/article/details/48937135 1 前言 注意两个名词 ...

  7. 信息量-log2P(莫斯编码使用频繁P大的字符编码段信息量少)、信息熵:期望E=-Plog2P、两点分布交叉熵=KL散度=相对熵=-plnp-(1-p)ln(1-p)不对称、JS散度对称

    信息熵为什么要定义成-Σp*log§? 信息熵为什么要定义成-Σp*log(p)? 在解释信息熵之前,需要先来说说什么是信息量. 信息量是对信息的度量,单位一般用bit. 信息论之父克劳德·艾尔伍德· ...

  8. 正向KL散度与反向KL散度

    KL散度的公式是 KL[p(x)∣∣q(x)]=∫xp(x)logp(x)q(x)dxKL[p(x)||q(x)] = \int_{x}p(x)log{p(x) \over q(x)}dx KL[p( ...

  9. KL散度解释——来自COUNT BAYESIE

    KL散度解释--来自COUNT BAYESIE 本文来自Count Bayesie https://www.countbayesie.com/blog/2017/5/9/kullback-leible ...

最新文章

  1. php arraymap()函数
  2. 线程八大核心+java并发核心知识体系精讲_Java从业者如果不懂这些,面试80%都会挂在这些核心知识上面...
  3. python java web前端 net 移动开发_JavaScript超越了Java,c,python等等成为Stack Overflow上最热门的...
  4. jQuery ajax模板及各参数介绍
  5. ubuntu下安装模拟环境carla
  6. 链接随机html,通过Javascript/HTML生成随机链接
  7. struts2从form取值的三种方式
  8. I/O多路复用技术详解之poll模型
  9. maven3常用命令
  10. 用dw做html表格边框,Dreamweaver怎么设计彩色边框的表格?
  11. Swift之Attempting to badge the application icon but haven't received permission from the user to badg
  12. Eth-Trunk链路聚合
  13. ADM pro破解百度云限速 ADM pro设置方法 ES文件管理器
  14. Linux 平台上的软件包管理
  15. 60分钟吃掉嘎嘣脆的DeepCross模型
  16. Excel如何为介于区间的数值设置背景颜色?
  17. Tensorflow小技巧整理:修改张量特定元素的值
  18. 【OpenCV 例程300篇】208. Photoshop 对比度自动调整算法
  19. 物联网设备固件分析:Firmadyne固件模拟环境搭建
  20. 黑苹果进度条绿屏_clover引导黑苹果安装卡在黑屏白苹果的进度条上,无限彩色风火轮?求解...

热门文章

  1. python datasets 下载_Python机器学习·微教程
  2. 语音计算矩形面积_【2020年第7期】螺旋折流板换热器质心当量矩形通用计算模型...
  3. exe文件添加为服务
  4. asp.net webservice 添加get方法
  5. 如何使得WIN7下用VS2010做出的MFC程序具有XP风格(摆脱传统界面的效果)
  6. TweetLouder.com:在微博上找你喜好的乐队
  7. 转载:【Data Management】PhotoLocations源程序
  8. 软件压力测试linux服务器,使用http_load来给Linux系统的服务器做压力测试
  9. gitlab 安装_Linux学习14CentOS安装gitlab环境
  10. python 节气计算_python 生成 1900-2100 的二十四节气文件