———— 泛彼柏舟,亦泛其流;耿耿不寐,如有隐忧。

1. 高斯分布 (Gaussian Distribution)

⾼斯分布,也称正态分布,是连续随机变量的模型中应用最广泛的分布。在第一篇文章就简单讨论过一元高斯分布的性质,本文重点讨论多元高斯分布,对于 [公式] 维向量 [公式] ,其多元高斯分布形式是

[公式]

其中, [公式] 是⼀个 [公式] 维均值向量, [公式] 是⼀个 [公式] 的协⽅差矩阵, [公式]  [公式] 的⾏列式。

⾼斯分布会在许多问题中产⽣,可以从多个不同的角度来理解。例如,我们已知对于⼀元实值随机变量,使熵取得最⼤值时就服从于⾼斯分布,代表了数据分布的最大不确定性,该性质对于多元⾼斯分布也成⽴。

多个随机变量的和也会产⽣⾼斯分布,根据中⼼极限定理 (central limit theorem) ,一般情况下,⼀组随机变量之和的概率分布随着随机变量数量的增加⽽逐渐趋向⾼斯分布。给定 [公式] 个一元变量 [公式] ,都服从于区间 [公式] 上的均匀分布,然后考虑其均值 [公式] 的分布。在实际应⽤中,随着 [公式] 的增加,分布会趋于⾼斯分布。根据这个结论,前一章所讲的⼆项分布(⼆元随机变量 [公式]  [公式] 次观测中出现次数 [公式] 的分布)将会在 [公式] 时趋向⾼斯分布,如下图所示,对于不同的 [公式] 值, [公式] 个均匀分布的随机变量均值的直⽅图。 可以看到随着 [公式] 的增加,分布趋向于⾼斯分布。

图片来自 Bishop PRML. Figure. 2.6.

1.1 高斯分布的熵值计算

对于给定的协⽅差,具有最⼤熵的多元概率分布是⾼斯分布。概率分布 [公式] 的熵为

[公式]

针对 [公式] 最大化 [公式] ,其中 [公式] 满足:1. 可归⼀化;2. 具有均值 [公式] ;3. 具有协⽅差 [公式] 

我们使用拉格朗日乘数法来引入限制条件,需要注意我们需要三个不同的拉格朗日乘数器,首先引入一个单变量 [公式] 针对归一化条件,然后是一个 [公式] 维向量 [公式] 针对均值条件,以及一个 [公式] 维的矩阵 [公式] 针对协方差限制,这样我们有

[公式]

将公式 (3) 中所有积分项写在一起,定义被积函数 [公式] [公式],该函数被称为 [公式] 的泛函数,根据泛函数的导数定义,我们令 [公式] ,可得

[公式]

 [公式] ,然后代入归一化和均值的约束条件,可得以下两个公式

[公式]

其中 [公式] 为奇函数,公式 (7) 代入 (6) 可得 [公式] ,进一步可得 [公式] 。证明一元高斯分布的熵值最大化时我们利用已知条件 [公式] ,多元高斯分布的推导需要利用矩阵的指数函数的性质,依次按照一元高斯分布的方式计算矩阵每一个元素,然后再求和,就可以得出 [公式] ,并且有 [公式] 。全部代入,就可以得出当概率分布 [公式] 的熵最大时,其函数形式满足高斯分布 (1)。

求⾼斯分布的熵,可以得到 [公式] 

1.2 高斯分布的几何形式[公式]

考虑⾼斯分布的⼏何形式,⾼斯分布对于 [公式] 的依赖是通过下⾯的⼆次型

[公式]

这个⼆次型出现在指数位置上, [公式] 被叫做 [公式]  [公式] 之间的马⽒距离 (Mahalanobis distance)。 当 [公式] 是单位矩阵时,就变成了欧式距离。对于 [公式] 空间中这个⼆次型是常数的曲⾯,⾼斯分布也是常数。

⾸先,我们注意到矩阵 [公式] 可以取为对称矩阵,⽽不失⼀般性,因为任何⾮对称项都会从指数中消失。这一点可以通过把协⽅差矩阵的逆矩阵 [公式] 写成对称矩阵 [公式] 和反对称矩阵 [公式] 的和,证明反对称项不会出现在⾼斯分布的指数项中,其中 [公式]  [公式] 。多元高斯分布的指数项可以写作 [公式] ,由于反对称矩阵具有性质 [公式] ,易证指数项展开后反对称矩阵每一项都会相互抵消掉。由于对称矩阵的逆矩阵还是对称矩阵,因此我们也可以令协⽅差矩阵为对称矩阵⽽不失⼀般性。

现在考虑协⽅差矩阵的特征向量⽅程 [公式] ,由于 [公式] 是实对称矩阵,因此它的特征值也是实数,并且特征向量可以被选成单位正交的,即 [公式] ,其中 [公式] 表示单位矩阵。协⽅差矩阵 [公式] 可以表示成特征向量的展开形式, [公式] ,代入公式 (8),二次型就变成了 [公式] ,定义 [公式] ,可以把 [公式] 表示成单位正交向量 [公式] 关于原始的 [公式] 坐标经过平移和旋转后形成的新的坐标系。

当⼆次型为常数时,它表示的是一个曲⾯。如果所有的特征值 [公式] 都是正数,那么这些曲⾯表示椭球⾯,椭球中⼼位于 [公式] ,椭球的轴的⽅向沿着 [公式] ,沿着轴向的缩放因⼦为 [公式] ,如下图所示。对于定义的⾼斯分布,我们要求协⽅差矩阵的所有特征值 [公式] 严格⼤于零,否则分布将不能被正确地归⼀化。

图片来自 Bishop PRML. Figure 2.7.

1.3 高斯分布的均值和方差

现在考察⾼斯分布的矩,已知参数 [公式]  [公式] 。⾼斯分布下 [公式] 的期望为

[公式]

使用等量代换后可以发现, [公式]  [公式] 的奇函数,结合归一化条件,很容易得出 [公式] 

我们现在考虑⾼斯分布的⼆阶矩。在⼀元变量的情形下,⼆阶矩由 [公式] 给出。对于多元⾼斯分布,有 [公式] 个由 [公式] 给出的⼆阶矩,可以聚集在⼀起组成矩阵 [公式] 。这个矩阵可以写成

[公式]

再次应用等量代换,并且涉及到 [公式] 的奇函数项将由于对称性⽽变为零。项 [公式] 是常数,可以从积分中拿出,然后使用归一化条件积分项为 1。考虑涉及到 [公式] 的项,我们可以再次使⽤协⽅差矩阵的特征向量展开,以及特征向量集合的完备性,得到 [公式] ,因此有

[公式]

第二步等式右侧积分所有 [公式] 由于对称性会等于零,最终我们有 [公式] 。把均值减掉,就给出了随机变量 [公式] 的协⽅差 (covariance),定义为

[公式]

[公式] 因此被称为协方差矩阵。虽然⾼斯分布被⼴泛⽤作概率密度模型,但它有⼀些巨⼤的局限性。考虑分布中⾃由参数的数量,通常一个对称协⽅差矩阵 [公式]  [公式] 个独⽴参数, [公式] 中有另外 [公式] 个独⽴参数,总计有 [公式] 个参数。参数数量随着 [公式] 平⽅式增长,因此对⼤矩阵进⾏求逆等运算会⽆法计算。一种解决这个问题的⽅式是限制协⽅差矩阵的形式。如果我们考虑对角 (diagonal) 矩阵,即 [公式] ,那么 我们就只有 [公式] 个独⽴参数。由于常数高斯密度对应的曲面轮廓是与轴对齐的椭球型,我们可以进⼀步限制协⽅差矩阵成正⽐于单位矩阵,即 [公式] ,被称为各向同性 (isotropic) 的协⽅差,这时模型只有 [公式] 个独⽴参数,并且常数概率密度是球⾯,但是这样做也极⼤地限制了概率分布的描述形式。

1.4 条件高斯分布

多元⾼斯分布的⼀个重要性质是,如果两组变量是联合⾼斯分布,那么以⼀组变量为条件,另⼀组变量同样是⾼斯分布。类似地,任何⼀个变量的边缘分布也是⾼斯分布。

⾸先考虑条件概率的情形,假设 [公式] 是⼀个服从⾼斯分布 [公式]  [公式] 维向量。我们把 [公式] 划分成两个不相交的⼦集 [公式]  [公式] 。不失⼀般性,我们可以令 [公式]  [公式] 的前 [公式] 个分量,令 [公式] 为剩余 [公式] 个分量,因此可以划分 [公式]  [公式]  [公式] 。由于⾼斯分布的⼀些性质使⽤协方差的逆矩阵,也称作精度矩阵 (precision matrix) 表示,形式会更简单。我们定义 [公式] ,以及 [公式] ,由于对称矩阵的逆矩阵也是对称矩阵,因此 [公式]  [公式] 也是对称的,⽽ [公式] 

⾸先,我们寻找条件概率分布 (conditional probability distribution) [公式] 的表达式,根据概率的乘积规则,条件分布可以根据联合分布 [公式] 很容易计算出来。只需把 [公式] 固定为观测值,然后对得到的表达式进⾏归⼀化,得到 [公式] 的⼀个概率分布。我们考虑⾼斯分布指数项中出现的⼆次型,然后在计算的最后阶段重新考虑归⼀化系数,因此有

[公式]

将其看作 [公式] 的函数,这又是⼀个⼆次型,因此对应的条件分布 [公式] 是⾼斯分布。然后通过观察公式 (13) 找到 [公式] 的均值和协⽅差的表达式。⼀个⼀般的⾼斯分布 [公式] 的指数项可以写成

[公式]

其中 [公式] 为常数,并且我们用到 [公式] 的对称性。如果采用公式 (14) 的表示方式,我们可以令 [公式] 的⼆阶项系数矩阵等于协⽅差矩阵的逆矩阵 [公式] ,令 [公式] 的线性项系数等于 [公式] ,我们就可以得到 [公式] 。整理 [公式] 的所有二阶项,可得条件概率分布的协方差为 [公式] ,再整理 [公式] 的所有一阶项为 [公式] ,使用对称性和已求解的协方差矩阵,可得 [公式] ,或者记为 [公式]  [公式] 

1.5 边缘高斯分布

我们已证明如果联合分布 [公式] 是⾼斯分布,那么条件概率分布 [公式] 也是高斯分布。现在讨论边缘概率分布 (marginal probability distribution)

[公式]

这也是⼀个⾼斯分布。和之前⼀样,我们估计这个概率分布的策略是观察联合分布指数项的⼆次型,然后找出边缘分布 [公式] 的均值和协⽅差。联合分布的⼆次型可以参考条件高斯分布表示成公式 (13) 分块精度矩阵的形式,然后积分出 [公式] ,⾸先考虑涉及 [公式] 的项,然后配出平⽅项,我们有

[公式]

[公式] 的相关项已经被转化为了⼀个⾼斯分布的标准⼆次型, 即公式 (16) 右侧的第⼀项,加上⼀个与 [公式] ⽆关但与 [公式] 相关的项。当我们取这个⼆次型作为⾼斯分布的指数项时,我们看到公式 (15) 要求的关于 [公式] 的积分形式为

[公式]

这是⼀个在未归⼀化的⾼斯分布上做的积分,因此结果是归⼀化系数的倒数。⾼斯分布的系数与均值⽆关,只依赖于协⽅差矩阵的⾏列式。因此通过配平⽅项的⽅法,我们能够积分出 [公式] , 这样唯⼀剩余的与 [公式] 相关的项就是公式 (16) 右侧的最后⼀项。把这⼀项与公式 (13) 中余下的与 [公式] 相关的项结合,我们有可以写出 [公式] 的二次项的形式为

[公式]

所以可得 [公式] ,以及 [公式] ,边缘概率 [公式] 的均值和协⽅差为 [公式]  [公式] 

我们关于分块⾼斯边缘分布和条件分布的结果可总结如下,

给定⼀个联合⾼斯分布 [公式] ,其中 [公式] ,且 [公式]  [公式]  [公式] [公式]。此时

条件概率分布 [公式]  [公式] 

边缘概率分布 [公式] 

1.6 高斯变量的贝叶斯定理

这⾥我们重新定义给定⼀个⾼斯边缘分布 [公式] 和⼀个⾼斯条件分布 [公式] ,其中 [公式] 的均值是 [公式] 的线性函数,协⽅差与 [公式] ⽆关,与前文所描述的 [公式]  [公式] 的分布类似,这是线性⾼斯模型 (linear Gaussian model) 的⼀个例⼦,我们想找到边缘概率分布 [公式] 和条件概率分布 [公式] 。首先令边缘概率分布和条件概率分布的形式如下

[公式]

其中, [公式] 控制均值参数, [公式] 是精度矩阵。如果 [公式] 的维度为 [公式]  [公式] 的维度为 [公式] ,那么矩阵 [公式] 的⼤⼩为 [公式] 

⾸先,我们寻找 [公式]  [公式] 联合分布的表达式,定义 [公式] ,联合概率分布的对数为

[公式]

与之前相同,这是 [公式] 的分量的⼀个⼆次函数,因此 [公式] 是⼀个⾼斯分布,为了找到这个⾼斯分布的精度矩阵,我们考虑公式 (22) 的第⼆项,可以写成

[公式]

因此 [公式] 上的⾼斯分布的精度矩阵为 [公式] ,再使用类似公式 (14) 的方法,找到 [公式] 的线性项,可以求出均值为 [公式] ,化简后为 [公式] 

接下来寻找 [公式] 边缘分布的表达式,这个边缘分布是通过对 [公式] 积分得到的。而条件分布 [公式] 则可以通过贝叶斯定理推断出来,这里直接给出结论,有兴趣可自行推导。

给定 [公式] 的⼀个边缘⾼斯分布,以及在给定 [公式] 的条件下 [公式] 的条件⾼斯分布,形式为分别如公式 (20) (21) 所示,那么 [公式] 的边缘分布以及给定 [公式] 的条件下 [公式] 的条件分布为

[公式]

其中 [公式] 

1.7 高斯分布的最大似然估计

给定⼀个数据集 [公式] ,其中观测 [公式] 假定是独⽴地从多元⾼斯分布中抽取的。我们使⽤最⼤似然法估计分布的参数,对数似然函数为

[公式]

似然函数对数据集的依赖只通过 [公式] 体现,这被称为⾼斯分布的充分统计量。对数似然函数关于 [公式] 的导数为 [公式] ,令导数为 0,可得均值的最大似然估计 [公式] ,这是数据点的观测集合的均值。关于 [公式] 的最⼤化更加复杂,但我们可以利⽤了对称性和正定性的限制,得到 [公式] 

1.8 高斯分布的贝叶斯推断

最⼤似然框架给出了对于参数 [公式]  [公式] 的点估计。现在通过引⼊这些参数的先验分布,介绍贝叶斯⽅法。⾸先,考虑⼀个⼀元⾼斯随机变量 [公式] ,我们假设⽅差 [公式] 是已知的。我们从⼀组 [公式] 次观测 [公式] 中推断均值 [公式] 。此时似然函数是给定 [公式] 的情况下,观测数据集出现的概率,可以看成 [公式] 的函数,由下式给出

[公式]

似然函数 [公式] 不是 [公式] 的概率密度,没有被归⼀化。似然函数的形式为 [公式] 的⼆次型指数形式。因此如果我们把先验分布 [公式] 选成⾼斯分布,那么它就是似然函数的⼀个共轭分布,因为对应后验概率是两个 [公式] 的⼆次函数指数乘积,也是⼀个⾼斯分布。于是我们令先验概率分布为

[公式]

从⽽后验概率为

[公式]

进⾏对指数项的完全平⽅项等简单计算,可以证明后验概率的形式为

[公式]

其中 [公式]  [公式] 。可以看到后验分布的均值是先验均值 [公式] 和最⼤似然解 [公式] 的折中,这与之前所讨论后验分布介于先验和最大似然之间的结论是一致。如果观测数据点 [公式] ,那么后验均值就变成了先验均值。对于 [公式] ,后验均值由最⼤似然解给出。类似地,考虑后验分布⽅差的结果,⽅差的倒数可以用来表示精度,并且精度是可以相加的,因此后验概率的精度等于先验的精度加上每⼀个观测数据点所贡献的精度。当我们增加观测数据点时,精度持续增加,对应于后验分布的⽅差持续减少。没有观测数据点 [公式] 时,后验方差为先验⽅差, ⽽如果 [公式] , ⽅差 [公式] 趋于零, 后验分布在最⼤似然解附近变成了⽆限⼤的尖峰。对于有限的 [公式] 值, 如果我们取极限 [公式] ,先验⽅差会变为⽆穷⼤,后验均值就变成了最⼤似然结果,⽽后验⽅差为 [公式] 

现在我们假设均值是已知的,来推断⽅差。同之前⼀样,如果我们选择先验分布的共轭形式,那么计算将会得到极⼤的简化,使用方差倒数 [公式]  [公式] 的似然函数为

[公式]

对应的共轭先验因此应该正⽐于 [公式] 幂指数,也正⽐于指数项中 [公式] 的线性函数。这对应于 Gamma 分布,定义为

[公式]

[公式] 是前一篇文章中的 Gamma 函数,保证了公式的归⼀化。如果 [公式] ,那么 Gamma 分布有⼀个有穷的积分。如果 [公式] ,那么分布本⾝是有穷的。Gamma 分布的均值和⽅差为 [公式] ,如下图是一些不同的 [公式]  [公式] 的分布。

图片来自 Bishop PRML. Figure 2.13.

考虑⼀个先验分布 [公式] 。如果我们乘以公式 (29) 的似然函数,那么得到后验

[公式]

我们可以把它看成形式为 [公式] 的 Gamma 分布,其中 [公式]  [公式] ,其中 [公式] 是⽅差的最⼤似然估计。我们看到观测 [公式] 个数据点的效果是把系数 [公式] 的值增加 [公式] 。因此我们可以把先验分布中的参数 [公式] 看成 [公式] 个 “有效” 先验观测。类似地, [公式] 个数据点对参数 [公式] 贡献了 [公式] ,其中 [公式] 是⽅差,同样可以把先验分布中的 [公式] 看成 “有效” 先验观测。对于指数族分布来说,把共轭先验看成有效假想数据点是⼀个很通⽤的思想。

混合高斯模型 (Mixture of Gaussians)

虽然⾼斯分布有⼀些重要的分析性质,但是当它遇到实际数据集时,也会有巨⼤的局限性。因为高斯分布是单峰的,而实际情况往往有很多是多峰分布,可以通过将基本的概率分布进⾏线性组合,这样的叠加⽅法被称为混合模型 (mixture distributions)。⾼斯分布的线性组合可以给出相当复杂的概率密度形式,通过使⽤⾜够多的⾼斯分布,并且调节它们的均值和⽅差以及线性组合的系数,⼏乎所有的连续概率密度都能够以任意的精度近似。

考虑 [公式] 个⾼斯概率密度的叠加,形式为

[公式]

这被称为混合⾼斯 (mixture of Gaussians)。每⼀个⾼斯概率密度 [公式] 被称为混合分布的⼀个成分,并且有⾃⼰的均值 [公式] 和协⽅差 [公式] 。参数 [公式] 被称为混合系数,如果对公式 (32) 两侧关于 [公式] 进⾏积分,因为各个⾼斯成分都是归⼀化的,我们可以得到 [公式] ,同时为了满⾜ [公式] ,我们进一步限制 [公式] 

根据概率的加和规则和乘积规则,边缘概率密度为 [公式] ,其中我们把 [公式] 看成选择第 [公式] 个成分的先验概率,把密度 [公式] 看成以 [公式] 为条件的 [公式] 的概率。

⾼斯混合分布的形式由参数 [公式] 控制, 其中 [公式]  [公式]  [公式] 。 ⼀种确定这些参数值的⽅法是使⽤最⼤似然法。 根据公式 (30),对数似然函数为

[公式]

这种情形⽐⼀元⾼斯分布复杂得多,因为对数中存在⼀个求和式,这就导致参数的最⼤似然解不再有⼀个封闭形式的解析解。可以使用期望最大化 (expectation maximization) 算法来求解,这个在第 15 章节将会详细讨论。