3.2. The Multivariate Gaussian 公式3.45

52 阅读2分钟

图片.png

书中3.45这个公式只讲了大体由来,下面将详细推导一下

1(2π)D/2Σ1/2exp{12zTΣ1z}zzTdz(1)\frac{1}{(2\pi)^{D/2} |\boldsymbol{\Sigma}|^{1/2}} \int \exp \left\{ -\frac{1}{2} \mathbf{z}^\mathrm{T} \boldsymbol{\Sigma}^{-1} \mathbf{z} \right\} \mathbf{z} \mathbf{z}^\mathrm{T} d\mathbf{z} \tag{1}

我们把变换 yj=ujTzy_j=\boldsymbol{u}^T_j\boldsymbol{z} 写成完整的形式 y=UTz\boldsymbol{y}=\boldsymbol{U}^T\boldsymbol{z},由于U是正交矩阵所以有z=Uy\boldsymbol{z}=\boldsymbol{U}y 然后由雅可比行列式JJ 定义为

J=zy=UJ = \left| \frac{\partial \mathbf{z}}{\partial \mathbf{y}} \right| = |\mathbf{U}|

因此当设计积分变换时可以有如下变换

dz=Uydy=dyd\mathbf{z} = \mathbf{U} |\mathbf{y}| d\mathbf{y} = d\mathbf{y}

现在回到公式(1),我们把

zzT=(Uy)(Uy)T=UyyTUT\mathbf{z}\mathbf{z}^\mathrm{T} = (\mathbf{U}\mathbf{y})(\mathbf{U}\mathbf{y})^\mathrm{T} = \mathbf{U}\mathbf{y}\mathbf{y}^\mathrm{T}\mathbf{U}^\mathrm{T}

代入到公式(1)之后得到

1(2π)D/2Σ1/2exp{12yTUTΣ1Uy}UyyTUTdy\frac{1}{(2\pi)^{D/2} |\boldsymbol{\Sigma}|^{1/2}} \int \exp \left\{ -\frac{1}{2} \mathbf{y}^\mathrm{T} \mathbf{U}^\mathrm{T} \boldsymbol{\Sigma}^{-1} \mathbf{U} \mathbf{y} \right\} \mathbf{U} \mathbf{y} \mathbf{y}^\mathrm{T} \mathbf{U}^\mathrm{T} d\mathbf{y}

由书中3.44可知Σ=UΛUT\boldsymbol{\Sigma} = \mathbf{U} \boldsymbol{\Lambda} \mathbf{U}^\mathrm{T},将上述代入公式我们得到

1(2π)D/2Σ1/2exp{12yTΛ1y}UyyTUTdy\frac{1}{(2\pi)^{D/2} |\boldsymbol{\Sigma}|^{1/2}} \int \exp \left\{ -\frac{1}{2} \mathbf{y}^\mathrm{T} \boldsymbol{\Lambda}^{-1} \mathbf{y} \right\} \mathbf{U} \mathbf{y} \mathbf{y}^\mathrm{T} \mathbf{U}^\mathrm{T} d\mathbf{y}

分离下得到

1(2π)D/2Σ1/2i=1Dj=1DuiujTexp{k=1Dyk22λk}yiyjdy\frac{1}{(2\pi)^{D/2} |\boldsymbol{\Sigma}|^{1/2}} \sum_{i=1}^{D} \sum_{j=1}^{D} \mathbf{u}_i \mathbf{u}_j^\mathrm{T} \int \exp \left\{ -\sum_{k=1}^{D} \frac{y_k^2}{2\lambda_k} \right\} y_i y_j \, d\mathbf{y}

由于 y\mathbf{y} 是一个标准正态分布的向量,我们可以将积分分离为多个一维积分:

exp{12k=1Dyk2λk}yiyjdy=k=1Dexp{yk22λk}dykyiyjexp{yi2+yj22λi+2λj}dyidyj(2)\int \exp \left\{ -\frac{1}{2} \sum_{k=1}^D \frac{y_k^2}{\lambda_k} \right\} y_i y_j \, d\mathbf{y} \\= \prod_{k=1}^D \int \exp \left\{ -\frac{y_k^2}{2\lambda_k} \right\} \, d y_k \cdot \int y_i y_j \exp \left\{ -\frac{y_i^2 + y_j^2}{2\lambda_i + 2\lambda_j} \right\} \, d y_i \, d y_j \tag{2}

对于 iji \neq jyiy_iyjy_j 是独立的标准正态随机变量。因此,我们可以进一步简化积分: yiyjexp{yi22λi}exp{yj22λj}dyidyj\int y_i y_j \exp \left\{ -\frac{y_i^2}{2\lambda_i} \right\} \exp \left\{ -\frac{y_j^2}{2\lambda_j} \right\} \, d y_i \, d y_j

分别计算这两个积分: yiexp{yi22λi}dyi=0\int y_i \exp \left\{ -\frac{y_i^2}{2\lambda_i} \right\} \, d y_i = 0 yjexp{yj22λj}dyj=0\int y_j \exp \left\{ -\frac{y_j^2}{2\lambda_j} \right\} \, d y_j = 0

这是因为对于任何标准正态分布的随机变量 yiy_iyjy_j,其期望值为零,即: E[yi]=0\mathbb{E}[y_i] = 0 E[yj]=0\mathbb{E}[y_j] = 0

因此 : yiyjexp{yi22λi}exp{yj22λj}dyidyj=0 \int y_i y_j \exp \left\{ -\frac{y_i^2}{2\lambda_i} \right\} \exp \left\{ -\frac{y_j^2}{2\lambda_j} \right\} \, d y_i \, d y_j = 0 \\ 所以 等式(2)在iji \neq j 时 为 0,问题的重点就变为当i=ji = j时的计算:

exp{k=1Dyk22λk}yi2dy(3)\int \exp \left\{ -\sum_{k=1}^{D} \frac{y_k^2}{2\lambda_k} \right\} y_i^2 \, d\mathbf{y} \tag{3}

将指数项分解为各维度独立的形式:

exp(k=1Dyk22λk)=k=1Dexp(yk22λk)\exp\left(-\sum_{k=1}^D \frac{y_k^2}{2\lambda_k}\right) = \prod_{k=1}^D \exp\left(-\frac{y_k^2}{2\lambda_k}\right)

将积分按维度分解,并单独处理第 ( i )-维:

k=1Dexp(yk22λk)yi2dy=kiexp(yk22λk)dykyi2exp(yi22λi)dyi\int \prod_{k=1}^D \exp\left(-\frac{y_k^2}{2\lambda_k}\right) y_i^2 \, dy = \prod_{k \neq i} \int \exp\left(-\frac{y_k^2}{2\lambda_k}\right) \, dy_k \cdot \int y_i^2 \exp\left(-\frac{y_i^2}{2\lambda_i}\right) \, dy_i

注意:这里避免了对第 ( i )-维指数项 exp(yi22λi)\exp\left(-\frac{y_i^2}{2\lambda_i}\right) 的重复计算。

计算每一部分

  1. 普通高斯积分(非 ii -维部分):
kiexp(yk22λk)dyk=ki2πλk\prod_{k \neq i} \int \exp\left(-\frac{y_k^2}{2\lambda_k}\right) \, dy_k = \prod_{k \neq i} \sqrt{2\pi \lambda_k}
  1. 带权重 yi2y_i^2 的高斯积分(第 ii-维部分):
yi2exp(yi22λi)dyi=λi2πλi\int y_i^2 \exp\left(-\frac{y_i^2}{2\lambda_i}\right) \, dy_i = \lambda_i \sqrt{2\pi \lambda_i}

将两部分结果相乘,得到:

ki2πλkλi2πλi\prod_{k \neq i} \sqrt{2\pi \lambda_k} \cdot \lambda_i \sqrt{2\pi \lambda_i}

或者写成更紧凑的形式:

(k=1D2πλk)λi(4)\left(\prod_{k=1}^D \sqrt{2\pi \lambda_k}\right) \cdot \lambda_i \tag{4}

所以(4)即为(3)的计算结果,将其带回(1)就能得到书中结论