高斯分布的乘积与卷积
创始人
2024-02-09 22:52:37
0

 高斯分布是一个很重要的连续分布形式,频繁出现各种应用场景里也可以导出很多分布,如在典型的线性回归中对误差 \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*}

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

                                                \large \begin{align*} \mu & = \frac{\mu_1\sigma_2^2+\mu_2\sigma_1^2}{\sigma_1^2+\sigma_2^2} \\ \sigma & = \sqrt{\frac{\sigma_1^2\sigma_2^2}{\sigma_1^2+\sigma_2^2}} \end{align*}

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

                                                \large \begin{align*} \mu &= (\frac{\mu_1}{\sigma_1^2}+\frac{\mu_2}{\sigma_2^2})\sigma^2 \\ \frac{1}{\sigma^2} &= \frac{1}{\sigma_1^2} + \frac{1}{\sigma_2^2} \end{align*}

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. 一元高斯分布的卷积

这一部分的内容来自于"Machine Learning A Probabilistic Perspective"一书的第四章p132~p134。假设多元高斯分布的参数μ,Σμ,Σ来自服从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}\, )}\}

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

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        \large \begin{align*} \Lambda_1&=\kappa_0\Sigma^{-1}\\ \Lambda_2&=N\Sigma^{-1}\\ \xi_1&=\kappa_0\Sigma^{-1}m_0\\ \xi_2&=N\Sigma^{-1}\bar{x}\\ \end{align*}

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

                                        \large \begin{align*} \Lambda&=(\kappa_0+N)\Sigma^{-1}\\ m_N&=\Lambda^{-1}(\xi_1+\xi_2)\\ &=\frac{\kappa_0m_0+N\bar{x}}{\kappa_0+N} \end{align*}

4. 高斯线性系统

这一部分的内容来自于"Machine Learning A Probabilistic Perspective"一书的第四章。这部分的内容可能与前面所述的不一致(多个均为同一变量\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*}

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...