--- disqus: ierosodin --- # Multivariate gaussian distribution > Organization contact [name= [ierosodin](ierosodin@gmail.com)] ###### tags: `machine learning` `學習筆記` ==[Back to Catalog](https://hackmd.io/@ierosodin/Machine_Learning)== ## Gaussian 的特色 Gaussian 之所以這麼常被使用,主要是他有以下三大特色: 1. symmetric * 在上週的筆記,Gaussian distribution 就是由這個條件推導出來的。 2. unimodel * 單峰,也就是平均值的地方。 3. localization * 有極值,且就是平均值得地方,因此在算 distance 時,只要跟 mean 做比較,即可知道與中心的距離,而距離越遠,機率越小,距離越近,機率越大。 ## Student-t distribution 在介紹多變數高斯分佈前,先介紹一個特別的機率分佈:student-t distribution。 這個機率分佈的由來是從 z-test,z-test 是想知道,在一個已知 mean 與 variance 的 gaussian distribution 下,發生極端事件的機率,然而在一般的情況下,我們並不會知道總體的實際分佈為何,這是就產生了 student-t distribution。 student-t distribution 適用的地方在當我們的樣本數不足時,它能給予一個較不確定、能容許更多例外的分佈,所以一般來說,其分佈會比 gaussian distribution 來得寬。 因此對於 student-t distribution,我們只知道平均值,至於它的標準差,則是一個 gamma function,其值與自由度有關,而自由度與資料量成正相關關係,因此當自由度越來越高時,其分佈就會越來越接近 gaussian distribution。 > ![](https://i.imgur.com/UZd4Zhi.png) > 圖中,藍線為 gaussian distribuion,而紅線為自由度 3 的 student-t distribution,其他綠線則是自由度更低的 student-t distribution,可以觀察到,student-t distribution 的 variance 比 gaussian distribution 來得大。 這種機率分佈被應用在 T-SNE 降維中,因為在降維後,必定會遺失某些資訊,因此使用 student-t distribution 來表示降維後的資料。 ## Multivariate gaussian distribution 在前面的章節中,用的 gaussian distribution 都是單變數的,也就是 univariate gaussian,當一個高斯機率分佈是由多個變數控制時,就稱作 multivariate gaussain distribution。 在推導相關定理前,先介紹一個重要的公理:中央極限定理 ### Central limit theory 無論原始資料的分佈為何,只要我們每次取樣的資料量夠多,將這些資料做平均或加總,則這個隨機變數的分佈會是高斯分佈。 ${\{x_{1,1},\ x_{2,1},\ ...,\ x_{k,1}\}\ \Rightarrow\ y_1 \\ \{x_{1,2},\ x_{2,2},\ ...,\ x_{k,2}\}\ \Rightarrow\ y_2 \\ . \\ . \\ . \\ \{x_{1,n},\ x_{2,n},\ ...,\ x_{k,n}\}\ \Rightarrow\ y_n}$ 則 ${Y\sim N(\mu,\ \sigma^2)}$ > 可以用 moment generating function 證明 > MGF: https://en.wikipedia.org/wiki/Moment-generating_function ### 變數是否獨立 當維度提高到多變數時,就會產生一個問題:變數間是否獨立? 當變數彼此完全獨立時,其高斯分佈會呈現 orthogonal contour,如下圖: ![](https://i.imgur.com/NRpUuDp.png) 若其各軸的 variance 又剛好相等時,也就是各維度的分佈鄉同時,則會呈現如下圖的高斯分佈: ![](https://i.imgur.com/1AJUkhG.png) 但如果變數間彼此並不獨立,則出現的高斯分佈會像下圖一樣: ![](https://i.imgur.com/oMcB7WB.png) ### covariance matrix 在多維的高斯分佈中,機率形式寫成 ${P(\mu,\ \Sigma)\ =\ \frac{1}{\sqrt{2\pi}^k|\Sigma|^{0.5}}e^{\frac{-1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)}}$ 其中,${(x-\mu)^T\Sigma^{-1}(x-\mu)}$ 在變數彼此獨立的情況下,稱為歐式距離 (Eulidean distance),但若變數彼此不獨立,則稱為馬式距離 (Mahalanobis distance)。 而 ${\Sigma}$ 為 covariance matrix,寫成: ${\left[\begin{array}{cccc} \frac{\sum(x_1-\mu_1)^2}{n} & \frac{\sum(x_1-\mu_1)(x_2-\mu_2)}{n} & ... & \frac{\sum(x_n-\mu_1)(x_n-\mu_n)}{n} \\ \frac{\sum(x_2-\mu_2)(x_1-\mu_1)}{n} & \frac{\sum(x_2-\mu_2)^2}{n} & ... & \frac{\sum(x_2-\mu_2)(x_n-\mu_n)}{n} \\ ... & ... & ... & ... \\ \frac{\sum(x_n-\mu_n)(x_1-\mu_1)}{n} & \frac{\sum(x_n-\mu_n)(x_2-\mu_2)}{n} & ... & \frac{\sum(x_n-\mu_n)^2}{n} \end{array}\right]}$ 因此當所有 variance 都相等時,代表所有維度的分佈情形是一樣的,則 ${\Sigma}$ 會呈現一個 ${\lambda I}$ 的矩陣,若變數分佈不相同,但彼此是相互獨立的,則會呈現一個 diagonal matrix,若變數彼此不相互獨立,則會呈現一個 symmetric matrix。 ### Affine transformation 仿射轉換,指的是將一個空間經過線性轉換到另一個空間,這裡我們想要探討,multivariate gaussain 是否也有此特性,也就是: ${x\sim N(\mu,\ \Sigma)\ \Rightarrow\ f(x)\ =\ Ax\ +\ b\sim N(A\mu\ +\ b,\ A\Sigma A^T)}$ 首先是 mean 的部份: ${E(Ax+b)\ =\ \int(Aa+b)P(x)dx\ =\ \int AxP(x)dx\ +\ \int bP(x)dx\ =\ A\int xP(x)dx\ +\ b\int P(x)dx\ =\ A\mu\ +\ b}$ 接下來是 covariance matrix: ${cov(Ax+b)\ =\ E\{(Ax+b-E(Ax+b))(Ax+b-E(Ax+b))^T\} \\ =\ E\{(Ax+b-(A\mu+b))(Ax+b-(A\mu+b))^T\} \\ =\ E\{A(x-\mu)(A(x-\mu)^T)\} \\ =\ E\{A(x-\mu)(x-\mu)^TA^T\} \\ =\ AE\{(x-\mu)(x-\mu)^T\}A^T \\ =\ A\Sigma A^T}$ ### Univariate to multivariate gaussian 有了 Affine 的特性,我們想要拿來證明,任何的 multivariate gaussian,都可以利用 univariate gaussain 通過線性組合產生,也就是所謂的 sphering (從 multivariate 變回 univariate)。 要證明線性轉換,必須證明兩件事: 1. ${N(x+y)\ =\ N(x)\ +\ N(y)}$ 2. ${N(Ax)\ =\ AN(x)}$ 首先,令 ${Y\ =\ X_1\ +\ X_2}$,其中,${X_1\sim N(\mu_1,\ \sigma_1^2),\ X_2\sim N(\mu_2,\ \sigma_2^2)}$ 在兩變數獨立的行下,${E(Y)\ =\ \left[\begin{array}{c} \mu_1 \\ \mu_2 \end{array}\right],\ \Sigma\ =\ \left[\begin{array}{cc} \sigma_1^2 & 0 \\ 0 & \sigma_2^2\end{array}\right]}$ 則取 ${A\ =\ [1\ 1],\ b\ =\ [0]}$,根據 Affine: ${AX\ +\ b\ =\ [1\ 1]\left[\begin{array}{c} X_1 \\ X_2 \end{array}\right]\ +\ 0\ =\ X_1\ +\ X_2\ \sim N(A\mu+b,\ A\Sigma A^T)\ =\ N(\mu_1+\mu_2,\ \sigma_1^2+\sigma_2^2)}$ > 這裡有個前提,也就是 ${\left[\begin{array}{c} X_1 \\ X_2\end{array}\right]}$ 必須也是高斯分佈,如果覺得不直覺,可以用 MGF 證明。 接下來第二個條件,令 ${Y\ =\ aX_1\ +\ bX_2\ +\ ...}$ 則 ${Y\sim N(a\mu_1+b\mu_2+...,\ a\sigma_1^2+b\sigma_2^2+...)}$ > 這裡很直覺,應該不用展開再證一次。 因此任何多變數的高斯分佈,都可以由單變數高斯分佈經由線性組合得到。 ### Conditional gaussian distribution 當一個多變數高斯分佈,其中部份的變數為定值時,則其他變數所組成的分佈仍為高斯分佈。 ![](https://i.imgur.com/TDk7aUS.png) 現在假設 ${X}$ 是由 ${X_a}$ 與 ${X_b}$ 兩變數組合而成,其中 ${X_b}$ 為定值,則: ${P(\mu,\ \Sigma)\ =\ \frac{1}{\sqrt{2\pi}^k|\Sigma|^{0.5}}e^{\frac{-1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)}}$ 我們只看指數的部份,希望當 ${X_b}$ 為定值時,形式仍為高斯分佈: ${\frac{-1}{2}(X-\mu)^T\Sigma^{-1}(X-\mu)\ =\ \frac{-1}{2}\left(\left[\begin{array}{c} X_a \\ X_b \end{array}\right]\ -\ \left[\begin{array}{c} \mu_a \\ \mu_b \end{array}\right]\right)^T\Sigma^{-1}\left(\left[\begin{array}{c} X_a \\ X_b \end{array}\right]\ -\ \left[\begin{array}{c} \mu_a \\ \mu_b \end{array}\right]\right) \\ =\ \frac{-1}{2}\left[\begin{array}{c} X_a-\mu_a \\ X_b-\mu_b \end{array}\right]^T\left[\begin{array}{cc} \Sigma_{aa} & \Sigma_{ab} \\ \Sigma_{ba} & \Sigma_{bb} \end{array}\right]\left[\begin{array}{c} X_a-\mu_a \\ X_b-\mu_b \end{array}\right] \\ =\ \frac{-1}{2}\Sigma_{aa}(X_a-\mu_a)^2\ +\ \frac{-1}{2}\Sigma_{ab}(X_a-\mu_a)(X_b-\mu_b)\ +\ \frac{-1}{2}\Sigma_{ba}(X_b-\mu_b)(X_a-\mu_a)\ +\ \frac{-1}{2}\Sigma_{bb}(X_b-\mu_b)^2}$ 其中,第二、三項可以合併,第四項為常數: ${\Rightarrow\ \frac{-1}{2}\Sigma_{aa}(X_a-\mu_a)^2\ +\ -\Sigma_{ab}(X_a-\mu_a)(X_b-\mu_b)\ +\ const \\ \Rightarrow\frac{-1}{2}(X_a-\mu_a)^T\Sigma_{aa}(X_a-\mu_a)\ -\ (X_a-\mu_a)^T\Sigma_{ab}(X_b-\mu_b)\ +\ const \\ \Rightarrow\ \frac{-1}{2}X_a^T\Sigma_{aa}X_a\ +\ X_a^T\Sigma_{aa}\mu_a\ -\ X_a^T\Sigma_{ab}X_b\ +\ X_a^T\Sigma_{ab}\mu_b\ +\ const}$ 比較對應的高斯形式: ${\frac{-1}{2}(X-\mu)^T\Sigma^{-1}(X-\mu) \\ =\ \frac{-1}{2}X^T\Sigma_{X_a|X_b}^{-1}X\ +\ \frac{-1}{2}X^T\Sigma_{X_a|X_b}^{-1}\mu\ +\ \frac{-1}{2}\mu^T\Sigma_{X_a|X_b}^{-1}X\ +\ \frac{-1}{2}\mu^T\Sigma_{X_a|X_b}^{-1}\mu \\ =\ \frac{-1}{2}X^T\Sigma_{X_a|X_b}^{-1}X\ +\ -X^T\Sigma_{X_a|X_b}^{-1}\mu\ +\ const}$ 可以得到: ${\Sigma_{X_a|X_b}^{-1}\ =\ \Sigma_{aa} \\ X^T\Sigma_{X_a|X_b}^{-1}\mu\ =\ X_a^T\Sigma_{aa}\mu_a\ +\ X_a^T\Sigma_{ab}(X_b\ -\ \mu_b)\ =\ X_a^T(\Sigma_{aa}\mu_a\ +\ \Sigma_{ab}(X_b\ -\ \mu_b)) \\ \begin{split} \Rightarrow\ \mu\ &=\ \Sigma_{X_a|X_b}(\Sigma_{aa}\mu_a\ +\ \Sigma_{ab}(X_b\ -\ \mu_b)) \\ &=\ \mu_a\ +\ \Sigma_{aa}^{-1}\Sigma_{ab}(X_b\ -\ \mu_b)) \end{split}}$ 因此,條件機率: ${P(X_a|X_b)\sim N(\mu_a\ +\ \Sigma_{aa}^{-1}\Sigma_{ab}(X_b\ -\ \mu_b)),\ \Sigma_{aa}^{-1})}$ > 怎麼找方塊矩陣的矩陣?https://ccjou.wordpress.com/2010/08/02/%E5%88%86%E5%A1%8A%E7%9F%A9%E9%99%A3%E7%9A%84%E8%A7%A3%E9%A1%8C%E6%A1%88%E4%BE%8B/ ### Marginal gaussian distribution 只考慮我們關心的維度,也就是將所關心的維度以外的所有維度都積分加總,其實就是將整個高斯分佈投影到我們關心的維度上,如下圖中,紅線為 conditional distribution,而藍線則為 marginal distribution。 ![](https://i.imgur.com/7iJtLyX.png) 要推導 marginal distribution,其實一樣是用到 Affine property,也就是令 ${\left[\begin{array}{c} X_a \\ X_b \end{array}\right]}$,其中,${X_a}$ 為我們關心的維度,而 ${X_b}$ 為其他的維度,因此取 ${A\ =\ [I\ O],\ b\ =\ [0]}$ 則 ${AX\ +\ b}$ 即為 marginal gaussian distribution,其中: ${\mu\ =\ A\mu\ +\ b\ =\ [I\ O]\left[\begin{array}{c} \mu_a \\ \mu_b \end{array}\right]\ =\ \mu_a \\ \Sigma\ =\ A\Sigma A^T\ =\ [I\ O]\left[\begin{array}{cc} \sigma_a^2 & B \\ B & \sigma_b^2 \end{array}\right]\left[\begin{array}{c} I \\ O \end{array}\right]\ =\ \sigma_a^2}$。