高斯分布的乘积与卷积

 高斯分布是一个很重要的连续分布形式,频繁出现各种应用场景里也可以导出很多分布,如在典型的线性回归中对误差 \small \varepsilon的建模就是用的标准正态分布,统计学的学生分布就是从正态分布中导出。随着贝叶斯统计学的广泛应用,相乘的高斯分布(高斯先验)等形式也出现在公式中,例如高斯线性系统,本文就这些形式进行说明。

1. 一元高斯分布的乘积

假设\small p(x_1)=\mathcal{N}(x\vert \mu_1,\sigma_1), \, p(x_2)=\mathcal{N}(x\vert \mu_2,\sigma_2),均是关于变量\large x的高斯分布,现计算高斯分布的乘积\small p(x_1)p(x_2)的分布形式。

        \large \begin{align*} p(x_1)p(x_2) & = exp\{​{-\frac{1}{2\sigma_1^2}\, (x-\mu_1)^2}\}exp\{​{-\frac{1}{2\sigma_2^2}\, (x-\mu_2)^2}\} \\ & =exp\{​{-\frac{1}{2}\frac{(\sigma_1^2\, +\sigma_2^2)\, \, x^2-2(\mu_1\, \sigma_2^2+\mu_2\, \sigma_1^2)x+\text{constant}}{\sigma_1^2\sigma_2^2}}\}\end{align*}

得两个高斯分布相乘仍为缩放的高斯分布,通过配方得到缩放的高斯分布参数为:

                                                高斯分布的乘积与卷积_第1张图片

上式可写为如下形式,从而推广至 \large n 个一维高斯分布相乘:

                                                高斯分布的乘积与卷积_第2张图片

2. 多元高斯分布的乘积

我们熟知的多元高斯分布形式如下:

                                        \large f(X)=\large \frac{1}{​{2\pi}^{\frac{D}{2}}\vert \Sigma\vert^{\frac{1}{2}}}\, e^{-\frac{1}{2}(\mathbf{x}-\mathbf{\mu})^T\Sigma^{-1}\, (\mathbf{x}-\mathbf{\mu})}

多元高斯分布的另一种形式自然分布形式用到的参数为:

                ​​​​​​​                        ​​​​​​​        \large \begin{align*} \Lambda &=\Sigma^{-1} \\ \xi &= \Sigma^{-1}\mu \end{align*}

带入,得到另一种分布形式表示如下:

                                \large f(X)=\large \frac{1}{​{2\pi}^{\frac{D}{2}}}\vert \Lambda\vert\ ^{\frac{1}{2}}\, exp\{​{-\frac{1}{2}(\mathbf{x}^T\Lambda\mathbf{x}-2\mathbf{x}^T\xi+\xi^T\Lambda^{-1}\, \xi)}\}

将指数外的系数放入指数部分,得到:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​            \large \large exp\{​{-\frac{1}{2}\mathbf{x}^T\Lambda\mathbf{x}+\xi^T\mathbf{x}-\zeta}\}

其中\large \zeta\为:

        ​​​​​​​        ​​​​​​​        \large \zeta\ = \frac{1}{2}(\xi^T\Lambda^{-1}\xi+D\log^{2\pi}-\log^{\vert \Lambda \vert})

在多个多元高斯相乘时,得到的结果如下:

        ​​​​​​​        ​​​​​​​        ​    \large f(X)=\large exp\{​{-\frac{1}{2}\mathbf{x}^T(\sum\limits_i^n\Lambda_i)\mathbf{x}+(\sum\limits_i^n\xi_i)^T\mathbf{x}-\sum\limits_i^n\zeta_i}\}

通过对\large \zeta\进行变换可以发现,仍为多元高斯分布。

上述两个式子均是通过配方法来寻找新分布的参数,而其中的normalization项则并不那么重要。

3. 一元高斯分布的卷积

这一部分的内容来自于MLAPP第四章p132~p134。假设多元高斯分布的参数\mu, \Sigma​​​​​​​来自服从Normal-inverse-wishart分布:

        ​​​​​​​        ​​​​​​​        \large \large \begin{align*} \mathcal{N}(\mu\vert m_0,\frac{1}{\kappa_0}\Sigma)\times \text{IW}(\Sigma\vert S_0,v_0)\\ =\frac{1}{\text{Z}_{\text{NIW}}}\vert\Sigma\vert^{-\frac{1}{2}}exp\{​{-\frac{\kappa_0}{2}\, (\mu-m_0)^T\Sigma^{-1}\, (\mu-m_0)}\}\times \\ \vert \Sigma \vert^{-\frac{v+D+1}{2}}exp\{​{-\frac{1}{2}tr(S_0\Sigma^{-1}\, )}\} \end{align*}

在观测到一批数据集\large \mathcal D后,计算似然为:

        ​​​​​​​        ​​​​​​​        ​​​     \large \large \vert \Sigma\vert^{-\frac{N}{2}}exp\{​{-\frac{N}{2}(\mu-\bar{x})^T\Sigma^{-1}\, (\mu-\bar{x})}\}\times exp\{​{-\frac{1}{2}tr(S_{\bar x}\Sigma^{-1}\, )}\}

在计算参数后验的分布时,用到了多元高斯分布相乘的方法。现假设:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        高斯分布的乘积与卷积_第3张图片

利用相同的方法,可以得到

                                        高斯分布的乘积与卷积_第4张图片

4. 高斯线性系统

这一部分的内容来自于MLAPP第四章。这部分的内容可能与前面所述的不一致(多个均为同一变量\large x分布的分布)。高斯线性系统如下:

        ​​​​​​​                ​​​​​​​        ​​​​​​​        \large \begin{align*} p(x)=\mathcal{N}(\mathbf{\mu_0,\Sigma_0})\\ p(y\vert x)=\mathcal{N}(A\mathcal{x}+b,\Sigma_y) \end{align*}

\large y\large x产生,在观测到\large y后可以对\large x进行更新:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \large p(x\vert y) = \mathcal{N}(\mu_{x\vert y},\Sigma_{x\vert y})

下面对\large \mu_{x\vert y},\Sigma_{x\vert y} 进行计算。已知p\large p(x,y)=p(y\vert x)p(x)\large p(x,y)=p(y\vert x)p(x)的指数部分为:

        ​​​​​​​        \large \large \begin{align*} x^T(\Sigma_0^{-1}+& A^T\Sigma_y^{-1}A)x -2x^T(\Sigma_0^{-1}\mu_{0}+A^T\Sigma_y^{-1}(y-b)) +\\ & (y-b)^T\Sigma_y^{-1}(y-b) + \mu_0^{T}\Sigma_0^{-1}\mu_0 \end{align*}

通过配方可以得到:

                        ​​​​​​​                \large \large \begin{align*} \Sigma_{x\vert y}^{-1} & = \Sigma_{0}^{-1}+A^T\Sigma_{y}^{-1}A\\ \mu_{x \vert y}& = \Sigma_{x\vert y}(\Sigma_0^{-1}\mu_0+A^T\Sigma_{y}^{-1}(y-b)) \end{align*}

下面对\large p(y)进行求解,我们知道

        ​​​​​​​        ​​​​​​​        ​​​​​​​                \large p(y)=\int p(y\vert x)p(x) dx

                                        \large p(x)p(y\vert x)=p(y)p(x\vert y)

通过上述的式子,如果对上式求积分或者配方会有些复杂。实际上,通过上式可以得到\large p(x,y)逆协方差矩阵:

                                \large \Lambda=\begin{bmatrix} \Sigma_0^{-1}+A^T\Sigma_y^{-1}A & -A^T\Sigma_y^{-1} \\ -\Sigma_y^{-1}A & \Sigma_y^{-1} \end{bmatrix}

利用联合高斯分布的推断结论,可以得到:

        ​​​​​​​        \large \begin{align*} \mu_{x\vert y} &= \Sigma_{x\vert y}(\Sigma_{x\vert y}^{-1}\mu_0-\Lambda_{12}(y-\mu_y))\\ &=\Sigma_{x\vert y}(\Sigma_0^{-1}\mu_0+A^T\Sigma_{y}^{-1}A\mu_0+A^T\Sigma_{y}^{-1}(y-\mu_y))\\ &=\Sigma_{x\vert y}(\Sigma_0^{-1}\mu_0+A^T\Sigma_{y}^{-1}(y-b)) \end{align*}

可以推知:

                                \large \mu_y=A\mu_0+b

再对\large \Sigma_y'(这里\large \Sigma_y'表示\large p(y)的协方差矩阵)进行计算:

        ​​​​​​​        ​​​​​​​                        \large \begin{align*} \Sigma&=\begin{bmatrix} \Sigma_x & \Sigma_{xy}\\ \Sigma_{xy}^T & \Sigma_{y} \end{bmatrix}\\ &=\Lambda^{-1} \end{align*}

        ​​​​​​​        \large \begin{align*} \begin{bmatrix} \rm{I} & A^T\\ 0 & \rm{I} \end{bmatrix}\Lambda \begin{bmatrix} \rm{I} & 0 \\ A & \rm{I} \end{bmatrix} &= \begin{bmatrix} \Sigma_0^{-1} & 0 \\ 0 & \Sigma_y^{-1} \end{bmatrix}\\ \Lambda^{-1}&= \begin{bmatrix} \rm{I} & 0 \\ A & \rm{I} \end{bmatrix} \begin{bmatrix} \Sigma_0 & 0 \\ 0 & \Sigma_y \end{bmatrix} \begin{bmatrix} \rm{I} & A^T\\ 0 & \rm{I} \end{bmatrix}\\ & = \begin{bmatrix} \Sigma_0 & \Sigma_0A^T\\ A\Sigma_0 & \Sigma_y+A\Sigma_0A^T \end{bmatrix} \end{align*}

  ​​​​​​​因此:

                                                \large \Sigma_y'=\Sigma_y+A\Sigma_0 A^T\

\large p(y)的分布参数如下:

                                ​​​​​​​        ​​​​​​​        \large \begin{align*} \mu &= A\mu_0 +b \\ \Sigma &= \Sigma_y+A\Sigma_0A^T \end{align*}

你可能感兴趣的:(#,概率论与矩阵论,概率论,python)