高斯分布相乘、積分整理
文章包括的內容有:
- [x] 一元高斯分布相乘的分布
- [x] 多元高斯分布相乘的分布
- [] 一元高斯的卷積分布
- [x] 應用:對多元高斯分布的參數推斷
- [x] 應用:高斯線性系統的推導
前三部分的參考文獻Products and Convolutions of Gaussian Probability Density
Functions. P.A. Bromile。應用的內容來自"machine learning a probabilistic perspective"的第四章p119~p120頁。
引言
高斯分布是一個很重要的連續分布形式,頻繁出現應用場景和里也可以導出很多分布,如在典型的線性回歸中對誤差\(\varepsilon\)的建模就是用的標准正態分布,統計學的學生$, t, $分布就是從正態分布中導出。隨着貝葉斯統計學的廣泛應用,相乘的高斯分布(高斯先驗)等形式也出現在公式中,例如高斯線性系統,本文就這些形式進行說明。
一元高斯分布相乘
假設\(p(x_1)=\mathcal{N}(x\vert \mu_1,\sigma_1), \, p(x_2)=\mathcal{N}(x\vert \mu_2,\sigma_2)\)均是關於變量\(x\)的分布,現想計算\(p(x_1)p(x_2)\)的分布形式。
\[\begin{align*} 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{align*} \]
得兩個高斯分布相乘仍為縮放的高斯分布,通過配方得到縮放的高斯分布參數為:
\[\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*} \]
上式可寫為如下形式,從而推廣至\(n\)個一維高斯分布相乘:
\[\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*} \]
具體為何是縮放的高斯分布可以閱讀參考資料。
多元高斯分布相乘
我們熟知的多元高斯分布形式如下:
\[\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})} \]
多元高斯分布的另一種形式自然分布形式用到的參數為:
\[\begin{align*} \Lambda &=\Sigma^{-1} \\ \xi &= \Sigma^{-1}\mu \end{align*} \]
分布形式如下:
\[\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)} \]
將指數外的系數放入指數部分,得到:
\[e^{-\frac{1}{2}\mathbf{x}^T\Lambda\mathbf{x}+\xi^T\mathbf{x}-\zeta} \]
其中\(\zeta\)為:
\[\frac{1}{2}(\xi^T\Lambda\xi+D\log^{2\pi}-\log^{\vert \Lambda \vert}) \]
在多個多元高斯相乘時,得到的結果如下:
\[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} \]
通過對\(\zeta\)進行變換可以發現,仍為多元高斯分布。
上述兩個式子均是通過配方法來尋找新分布的參數,而其中的normalization項則並不那么重要。
一元高斯的卷積分布
由於不清楚傅里葉變換,這部分暫時空缺。其實求得的分布結果與在大學概率論課上求兩個正態分布變量加和的分布結果相一致。
推斷高斯分布的參數
這一部分的內容來自於"Machine Learning A Probabilistic Perspective"一書的第四章p132~p134。假設多元高斯分布的參數\(\mu,\Sigma\)來自服從Normal-inverse-wishart分布:
\[\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}}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{align*} \]
在觀測到一批數據集\(\mathcal{D}\)后,計算似然為:
\[\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}\, )} \]
在計算參數后驗的分布時,用到了多元高斯分布相乘的方法。現假設:
\[\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*} \]
利用相同的方法,可以得到:
\[\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*} \]
高斯線性系統
這一部分的內容來自於"Machine Learning A Probabilistic Perspective"一書的第四章。這部分的內容可能與前面所述的不一致(多個均為同一變量\(\mathrm{x}\)分布的分布)。高斯線性系統如下:
\[\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*} \]
\(y\)由\(\mathbf{x}\)產生,在觀測到\(y\)后可以對\(\mathbf{x}\)進行更新:
\[p(x\vert y) = \mathcal{N}(\mu_{x\vert y},\Sigma_{x\vert y}) \]
下面對\(\mu_{x\vert y},\Sigma_{x\vert y}\)進行計算。已知\(p(x,y)=p(y\vert x)p(x)\),\(p(y\vert x)p(x)\)的指數部分為:
\[\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*} \]
通過配方可以得到:
\[\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*} \]
下面對\(p(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(x,y)\)逆協方差矩陣:
\[\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} \]
利用聯合高斯分布的推斷結論,可以得到:
\[\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*} \]
可以推知:
\[\mu_y=A\mu_0+b \]
再對\(\Sigma_y'\)(這里\(\Sigma_y'\)表示\(p(y)\)的協方差矩陣)進行計算:
\[\begin{align*} \Sigma&=\begin{bmatrix} \Sigma_x & \Sigma_{xy}\\ \Sigma_{xy}^T & \Sigma_{y} \end{bmatrix}\\ &=\Lambda^{-1} \end{align*} \]
\[\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*} \]
因此\(\Sigma_y'=\Sigma_y+A\Sigma_0 A^T\),\(p(y)\)的分布參數如下:
\[\begin{align*} \mu &= A\mu_0 +b \\ \Sigma &= \Sigma_y+A\Sigma_0A^T \end{align*} \]