高斯分布相乘、卷积整理

文章包括的内容有:

  • 一元高斯分布相乘的分布
  • 多元高斯分布相乘的分布
  • 一元高斯的卷积分布
  • 应用:对多元高斯分布的参数推断
  • 应用:高斯线性系统的推导

前三部分的参考文献Products and Convolutions of Gaussian Probability Density
Functions. P.A. Bromile。应用的内容来自"machine learning a probabilistic perspective"的第四章p119~p120页。

引言

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

一元高斯分布相乘

假设 p ( x 1 ) = N ( x ∣ μ 1 , σ 1 ) ,   p ( x 2 ) = N ( x ∣ μ 2 , σ 2 ) p(x_1)=\mathcal{N}(x\vert \mu_1,\sigma_1), \, p(x_2)=\mathcal{N}(x\vert \mu_2,\sigma_2) p(x1)=N(xμ1,σ1),p(x2)=N(xμ2,σ2)均是关于变量 x x x的分布,现想计算 p ( x 1 ) p ( x 2 ) p(x_1)p(x_2) p(x1)p(x2)的分布形式。
p ( x 1 ) p ( x 2 ) = e − 1 2 σ 1 2 ( x − μ 1 ) 2 e − 1 2 σ 2 2 ( x − μ 2 ) 2 = e − 1 2 ( σ 1 2 + σ 2 2 ) x 2 − 2 ( μ 1 σ 2 2 + μ 2 σ 1 2 ) x + constant σ 1 2 σ 2 2 \begin{aligned} p(x_1)p(x_2) & = e^{-\frac{1}{2\sigma_1^2}(x-\mu_1)^2}e^{-\frac{1}{2\sigma_2^2}(x-\mu_2)^2} \\ & =e^{-\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{aligned} p(x1)p(x2)=e2σ121(xμ1)2e2σ221(xμ2)2=e21σ12σ22σ12+σ22x22(μ1σ22+μ2σ12)x+constant
得两个高斯分布相乘仍为缩放的高斯分布,通过配方得到缩放的高斯分布参数为:
μ = μ 1 σ 2 2 + μ 2 σ 1 2 σ 1 2 + σ 2 2 σ = σ 1 2 σ 2 2 σ 1 2 + σ 2 2 \begin{aligned} \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{aligned} μσ=σ12+σ22μ1σ22+μ2σ12=σ12+σ22σ12σ22
上式可写为如下形式,从而推广至 n n n个一维高斯分布相乘:
μ = ( μ 1 σ 1 2 + μ 2 σ 2 2 ) σ 2 1 σ 2 = 1 σ 1 2 + 1 σ 2 2 \begin{aligned} \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{aligned} μσ21=(σ12μ1+σ22μ2)σ2=σ121+σ221
具体为何是缩放的高斯分布可以阅读参考资料。

多元高斯分布相乘

我们熟知的多元高斯分布形式如下:
1 2 π D 2 ∣ Σ ∣ 1 2   e − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) \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})} 2π2DΣ211e21(xμ)TΣ1(xμ)
多元高斯分布的另一种形式自然分布形式用到的参数为:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \Lambda &=\Sig…
分布形式如下:
1 2 π D 2 ∣ Λ ∣   1 2 , e − 1 2 ( x T Λ x − 2 x T ξ + ξ T Λ − 1 ξ ) \frac{1}{{2\pi}^{\frac{D}{2}}}\vert \Lambda\vert\ ^{\frac{1}{2}}, e^{-\frac{1}{2}(\mathbf{x}^T\Lambda\mathbf{x}-2\mathbf{x}^T\xi+\xi^T\Lambda^{-1}\xi)} 2π2D1Λ 21,e21(xTΛx2xTξ+ξTΛ1ξ)
将指数外的系数放入指数部分,得到:
e − 1 2 x T Λ x + ξ T x − ζ e^{-\frac{1}{2}\mathbf{x}^T\Lambda\mathbf{x}+\xi^T\mathbf{x}-\zeta} e21xTΛx+ξTxζ
其中 ζ \zeta ζ为:
1 2 ( ξ T Λ ξ + D log ⁡ 2 π − log ⁡ ∣ Λ ∣ ) \frac{1}{2}(\xi^T\Lambda\xi+D\log^{2\pi}-\log^{\vert \Lambda \vert}) 21(ξTΛξ+Dlog2πlogΛ)
在多个多元高斯相乘时,得到的结果如下:
e − 1 2 x T ( ∑ i n Λ i ) x + ( ∑ i n ξ i ) T x − ∑ i n ζ i e^{-\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} e21xT(inΛi)x+(inξi)Txinζi
通过对 ζ \zeta ζ进行变换可以发现,仍为多元高斯分布。

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

一元高斯的卷积分布

由于不清楚傅里叶变换,这部分暂时空缺。其实求得的分布结果与在大学概率论课上求两个正态分布变量加和的分布结果相一致。

推断高斯分布的参数

这一部分的内容来自于"Machine Learning A Probabilistic Perspective"一书的第四章p132~p134。假设多元高斯分布的参数 μ , Σ \mu,\Sigma μ,Σ来自服从Normal-inverse-wishart分布:
N ( μ ∣ m 0 , 1 κ 0 Σ ) × IW ( Σ ∣ S 0 , v 0 ) = 1 Z NIW ∣ Σ ∣ − 1 2 e − κ 0 2 ( μ − m 0 ) T Σ − 1 ( μ − m 0 ) × ∣ Σ ∣ − v + D + 1 2 e − 1 2 t r ( S 0 Σ − 1 ) \begin{aligned} \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}}e^{-\frac{\kappa_0}{2}(\mu-m_0)^T\Sigma^{-1}(\mu-m_0)}\times \\ \vert \Sigma \vert^{-\frac{v+D+1}{2}}e^{-\frac{1}{2}tr(S_0\Sigma^{-1})} \end{aligned} N(μm0,κ01Σ)×IW(ΣS0,v0)=ZNIW1Σ21e2κ0(μm0)TΣ1(μm0)×Σ2v+D+1e21tr(S0Σ1)
在观测到一批数据集 D \mathcal{D} D后,计算似然为:
∣ Σ ∣ − N 2 e − N 2 ( μ − x ˉ ) T Σ − 1 ( μ − x ˉ ) × e − 1 2 t r ( S x ˉ Σ − 1 ) \vert \Sigma\vert^{-\frac{N}{2}}e^{-\frac{N}{2}(\mu-\bar{x})^T\Sigma^{-1}(\mu-\bar{x})}\times e^{-\frac{1}{2}tr(S_{\bar x}\Sigma^{-1})} Σ2Ne2N(μxˉ)TΣ1(μxˉ)×e21tr(SxˉΣ1)
在计算参数后验的分布时,用到了多元高斯分布相乘的方法。现假设:
Λ 1 = κ 0 Σ − 1 Λ 2 = N Σ − 1 ξ 1 = κ 0 Σ − 1 m 0 ξ 2 = N Σ − 1 x ˉ \begin{aligned} \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{aligned} Λ1Λ2ξ1ξ2=κ0Σ1=NΣ1=κ0Σ1m0=NΣ1xˉ
利用相同的方法,可以得到:
Λ = ( κ 0 + N ) Σ − 1 m N = Λ − 1 ( ξ 1 + ξ 2 ) = κ 0 m 0 + N x ˉ κ 0 + N \begin{aligned} \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{aligned} ΛmN=(κ0+N)Σ1=Λ1(ξ1+ξ2)=κ0+Nκ0m0+Nxˉ

高斯线性系统

这一部分的内容来自于"Machine Learning A Probabilistic Perspective"一书的第四章。这部分的内容可能与前面所述的不一致(多个均为同一变量 x \mathrm{x} x分布的分布)。高斯线性系统如下:
p ( x ) = N ( μ 0 , Σ 0 ) p ( y ∣ x ) = N ( A x + b , Σ y ) \begin{aligned} p(x)=\mathcal{N}(\mathbf{\mu_0,\Sigma_0})\\ p(y\vert x)=\mathcal{N}(A\mathcal{x}+b,\Sigma_y) \end{aligned} p(x)=N(μ0,Σ0)p(yx)=N(Ax+b,Σy)
y y y x \mathbf{x} x产生,在观测到 y y y后可以对 x \mathbf{x} x进行更新:
p ( x ∣ y ) = N ( μ x ∣ y , Σ x ∣ y ) p(x\vert y) = \mathcal{N}(\mu_{x\vert y},\Sigma_{x\vert y}) p(xy)=N(μxy,Σxy)
下面对 μ x ∣ y , Σ x ∣ y \mu_{x\vert y},\Sigma_{x\vert y} μxy,Σxy进行计算。已知 p ( x , y ) = p ( y ∣ x ) p ( x ) p(x,y)=p(y\vert x)p(x) p(x,y)=p(yx)p(x) p ( y ∣ x ) p ( x ) p(y\vert x)p(x) p(yx)p(x)的指数部分为:
x T ( Σ 0 − 1 + A T Σ y − 1 A ) x − 2 x T ( Σ 0 − 1 μ 0 + A T Σ y − 1 ( y − b ) ) + ( y − b ) T Σ y − 1 ( y − b ) + μ 0 T Σ 0 − 1 μ 0 \begin{aligned} 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{aligned} xT(Σ01+ATΣy1A)x2xT(Σ01μ0+ATΣy1(yb))+(yb)TΣy1(yb)+μ0TΣ01μ0
通过配方可以得到:
Σ x ∣ y − 1 = Σ 0 − 1 + A T Σ y − 1 A μ x ∣ y = Σ x ∣ y ( Σ 0 − 1 μ 0 + A T Σ y − 1 ( y − b ) ) \begin{aligned} \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{aligned} Σxy1μxy=Σ01+ATΣy1A=Σxy(Σ01μ0+ATΣy1(yb))
下面对 p ( y ) p(y) p(y)进行求解,我们知道 p ( y ) = ∫ p ( y ∣ x ) p ( x ) d x , p ( x ) p ( y ∣ x ) = p ( y ) p ( x ∣ y ) p(y)=\int p(y\vert x)p(x) dx \text{,}p(x)p(y\vert x)=p(y)p(x\vert y) p(y)=p(yx)p(x)dxp(x)p(yx)=p(y)p(xy)通过上述的式子,如果对上式求积分或者配方会有些复杂。实际上,通过上式可以得到 p ( x , y ) p(x,y) p(x,y)逆协方差矩阵:
Λ = [ Σ 0 − 1 + A T Σ y − 1 A − A T Σ y − 1 − Σ y − 1 A Σ y − 1 ] \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} Λ=[Σ01+ATΣy1AΣy1AATΣy1Σy1]
利用联合高斯分布的推断结论,可以得到:
μ x ∣ y = Σ x ∣ y ( Σ x ∣ y − 1 μ 0 − Λ 12 ( y − μ y ) ) = Σ x ∣ y ( Σ 0 − 1 μ 0 + A T Σ y − 1 A μ 0 + A T Σ y − 1 ( y − μ y ) ) = Σ x ∣ y ( Σ 0 − 1 μ 0 + A T Σ y − 1 ( y − b ) ) \begin{aligned} \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{aligned} μxy=Σxy(Σxy1μ0Λ12(yμy))=Σxy(Σ01μ0+ATΣy1Aμ0+ATΣy1(yμy))=Σxy(Σ01μ0+ATΣy1(yb))
可以推知:
μ y = A μ 0 + b \mu_y=A\mu_0+b μy=Aμ0+b
再对 Σ y ′ \Sigma_y' Σy(这里 Σ y ′ \Sigma_y' Σy表示 p ( y ) p(y) p(y)的协方差矩阵)进行计算:
Σ = [ Σ x Σ x y Σ x y T Σ y ] = Λ − 1 \begin{aligned} \Sigma&=\begin{bmatrix} \Sigma_x & \Sigma_{xy}\\ \Sigma_{xy}^T & \Sigma_{y} \end{bmatrix}\\ &=\Lambda^{-1} \end{aligned} Σ=[ΣxΣxyTΣxyΣy]=Λ1

[ I A T 0 I ] Λ [ I 0 A I ] = [ Σ 0 − 1 0 0 Σ y − 1 ] Λ − 1 = [ I 0 A I ] [ Σ 0 0 0 Σ y ] [ I A T 0 I ] = [ Σ 0 Σ 0 A T A Σ 0 Σ y + A Σ 0 A T ] \begin{aligned} \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{aligned} [I0ATI]Λ[IA0I]Λ1=[Σ0100Σy1]=[IA0I][Σ000Σy][I0ATI]=[Σ0AΣ0Σ0ATΣy+AΣ0AT]

因此 Σ y ′ = Σ y + A Σ 0 A T \Sigma_y'=\Sigma_y+A\Sigma_0 A^T Σy=Σy+AΣ0AT p ( y ) p(y) p(y)的分布参数如下:
μ = A μ 0 + b Σ = Σ y + A Σ 0 A T \begin{aligned} \mu &= A\mu_0 +b \\ \Sigma &= \Sigma_y+A\Sigma_0A^T \end{aligned} μΣ=Aμ0+b=Σy+AΣ0AT

你可能感兴趣的:(高斯分布相乘、卷积整理)