在深入了解多元高斯分布前,可以先了解一下一元高斯分布。
接下来对多元高斯分布进行详细的说明与推导。
对于 维的向量 (连续变量),多变量(多元, multivariate Gaussian)高斯分布形式为:
(式0)
式中的 是 维的均值向量, 是 的协方差矩阵(covariance matrix), 是 的行列式(determinant)。
高斯分布可从多个角度用在不同场景下,如最大化交叉熵分布、多元高斯分布等。高斯分布的另一种情况是当考虑多个随机变量的和时。由中心极限定理(central limit theorem (due to Laplace))知,在一定的温和条件下(certain mild conditions),一组随机变量的和,当然它本身就是一个随机变量,它的分布随着项数的增加而逐渐趋于高斯分布(Walker, 1969)。
这一点可以考虑N个变量 ,每个变量在[0,1]之间均匀分布,然后考虑均值的分布。对于较大的N,这个分布趋于高斯分布。高斯分布的收敛会随着N的增加而增快,如下图所示:
考虑高斯分布的几何形式。高斯函数对 的函数依赖是通过二次形式实现的(出现在指数中)。
(式1)
是 到 马氏距离(Mahalanobis distance),当 是单位矩阵时变成欧式距离。
在二次方程为常数的 中,曲面上的高斯分布是常数。
矩阵 是对称的,因为任何反对称组分会从指数中消失。协方差矩阵的特征向量方程:
式中,, 是特征值(eigenvalues ), 是特征向量(eigenvectors)。
因为 是实数,所以对称的矩阵的特征值也是实数,其特征向量可以被选择来形成一个标准正交集合, 即:
(式2),
式中 是单位矩阵(identity matrix) 第 元素。
协方差矩阵 可以表示为其特征向量的展开式:
则协方差矩阵逆矩阵 可以表示为: (式3) 将式3带入式1得二次方程可以表示为: , (式4)
上式中的 可以解释为一个新的坐标系,这个坐标系是由标准正交向量 定义的,这些向量相对于原始 坐标进行了平移和旋转。形成向量 ,有:
是一个行是 的矩阵。 由式2可知,是一个正交矩阵,其满足 , 同样满足 , 是单位矩阵。
由式4可知,二次式即高斯密度在曲面上式常数,因为式4是常数。
若所有的特征值 都是正的,则曲面是椭圆形,其中心为 且轴与 同向, 轴在方向上的伸缩因子为 。
高斯分布定义,协方差矩阵的特征值必须是正的,否则不能形成正确的标准分布。一个特征值都为正的矩阵叫做正定矩阵(positive matrix)。
高斯分布的特征值有一个或多个零时,分布是奇异的(singular)并被限制在一个低纬度的子空间中。若特征值都是非负的,则协方差矩阵是半正定的。
考虑在 定义的新坐标体系中的高斯分布形式。从 x 坐标系到 y 坐标系,有导数矩阵 J(Jacobian matrix):
是矩阵的元素,利用矩阵的正交性,J 矩阵行列式的平方是:
因此 。协方差矩阵的行列式 可以写为它的特征值的乘积,有:
因此,在 坐标系中,高斯分布为这种形式:
上式是D个独立的单变量高斯分布的乘积。因此,特征向量定义了一组新的平移和旋转坐标,联合概率分布将其分解为独立分布的乘积。在坐标系中分布的积分是:
这证实了多元高斯函数确实是归一化的。
在高斯分布下的期望:
。第一项中,是一个奇函数,因为其积分范围是,所以上式第一项积分为 0。第二项中,因此 。
接下来求 在多元高斯分布下的协方差。在一元高斯分布中,用 求二阶矩,在多元高斯中用 ,在矩阵当中可以写成 :
。因为 ,所以可将上式展开,又因为 是一个奇函数且 是一个常数,所以有:
对于上式,只需要解式子的第一项即可。
由 得:
因此:
一般对称的协方差矩阵 有 D(D+1)/2 个独立的参数,向量 中有D个独立的参数, 共有D(D+3)/2(D(D+1)/2+D)个参数。
当D很大时,参数的总数与D成二次增长,因此在计算机中处理和计算大的逆矩阵会受到限制。
解决这个问题的一种方法是使用有限形式的协方差矩阵 。假设只考虑协方差矩阵的对角线(diagonal),则 ,即协方差矩阵 有 D 个独立的参数,再加上向量 中有D个独立的参数,密度模型中一共有2D个独立参数。
可以进一步限制正比于单位矩阵的协方差矩阵,,称为各向同性协方差(isotropic covariance)。
三种协方差矩阵如下所示:
一般协方差矩阵 对角线协方差矩阵 各向同性协方差矩阵
general diagonal isotropic
虽然上面的方法限制了分布的自由度使求协方差矩阵的逆更快,但是也极大限制了概率密度函数的形式和其捕捉数据中的有趣的相关性的能力。
高斯分布的另一个限制是它本质上是单峰的(有一个最大值),因此无法对多峰分布(multimodal distributions)提供一个良好的近似。因此,在参数太多的情况下,高斯分布可能过于灵活,同时在它能够充分表示的分布范围内又太有限。
潜在变量(也称为隐藏变量或未观察变量)的引入可以解决这两个问题。通过引入离散的潜在变量形成高斯混合,从而得到了一类丰富的多峰分布。
通过处理连续潜在变量,可以让模型中自由参数的数量的控制可以独立于数据空间的维数D,同时允许模型捕获数据集中的主要相关性。这两种方法可以结合起来,并进一步扩展,得到一组非常丰富的层次模型,如高斯版本的马尔可夫随机场、线性动力系统。
参考:PRML