---
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。
> 
> 圖中,藍線為 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,如下圖:

若其各軸的 variance 又剛好相等時,也就是各維度的分佈鄉同時,則會呈現如下圖的高斯分佈:

但如果變數間彼此並不獨立,則出現的高斯分佈會像下圖一樣:

### 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
當一個多變數高斯分佈,其中部份的變數為定值時,則其他變數所組成的分佈仍為高斯分佈。

現在假設 ${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。

要推導 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}$。