在數據建模時,經常會用到多元高斯分布模型,下面就這個模型的公式並結合它的幾何意義,來做一個直觀上的講解。
1, 標准高斯函數
高斯函數標准型:
$f(x) = \frac{1}{\sqrt{2π}}e^{-\frac{x^2}{2}}$
這個函數描述了變量 x 的一種分布特性,變量x的分布有如下特點:
Ⅰ, 均值 = 0
Ⅱ, 方差為1
Ⅲ, 概率密度和為1
2, 一元高斯函數一般形式
一元高斯函數一般形式:
$f(x) = \frac{1}{\sqrt{2π}σ}e^{-\frac{(x-μ)^2}{2σ^{2}}}$
我們可以令:
$z = \frac{x - μ}{σ}$
稱這個過程為標准化, 不難理解,$z ∼ N(0, 1)$,從z -> x的過程如下:
Ⅰ, 將 x 向右移動 μ 個單位
Ⅱ, 將密度函數伸展 σ 倍
而標准化(x -> z)所做的事情就是上述步驟的逆向
唯一不太好理解的是前面 $\frac{1}{\sqrt{2π}σ}$ 中的σ, 為什么這里多了一個 σ, 不是 2σ 或其他?
當然,這里可以拿着概率密度函數的性質,使用微積分進行積分,為了保證最終的積分等於1, 這里必須是 σ
這里我想說一下自己的直觀感受:
實線代表的函數是標准高斯函數:
$f(x) = \frac{1}{\sqrt{2π}}e^{-\frac{x^2}{2×2^{2}}}$
虛線代表的是標准高斯函數在 x 軸方向2倍延展,效果如下:
A(x = 1) -> D(x = 2)
E(x = 1.5) -> F(x = 3)
G(x = 2) -> H(x = 4)
橫向拓寬了,縱向還是保持不變,可以想象,最后的函數積分肯定不等於1
采用極限的思想,將 x 軸切分成無窮個細小的片段,每個片段可以與函數圍城一個區域,因為我的切分足夠小,這個區域的面積可以近似采用公式:面積 = 底 × 高 求得:
從 AQRS -> DTUV, 底乘以2倍,高維持不變,所以,要保持變化前后面積不變,函數的高度應該變為原來的 1/2
所以高斯函數在 x 軸方向做2倍延展的同時,縱向應該壓縮為原來的一半,才能重新形成新的高斯分布函數
擴展到一般情形,x 軸方向做 σ 倍延拓的同時, y 軸應該壓縮 σ 倍(乘以 1/σ)
3, 獨立多元正態分布
先假設n個變量 $x = \left[ \begin{matrix} x_{1}, x_{2},\cdots,x_{n}\end{matrix}\right]^\mathrm{T}$ 互不相關,且服從正態分布(維度不相關多元正態分布),各個維度的均值$E(x) = \left[ \begin{matrix} μ_{1}, μ_{2},\cdots,μ_{n}\end{matrix}\right]^\mathrm{T}$, 方差 $σ(x) = \left[ \begin{matrix} σ_{1}, σ_{2},\cdots,σ_{n}\end{matrix}\right]^\mathrm{T}$
根據聯合概率密度公式:
$f(x) = p(x_{1},x_{2}....x_{n}) = p(x_{1})p(x_{2})....p(x_{n}) = \frac{1}{(\sqrt{2π})^nσ_{1}σ_{2}\cdotsσ_{n}}e^{-\frac{(x_{1}-μ_{1})^2}{2σ_{1}^2}-\frac{(x_{2}-μ_{2})^2}{2σ_{2}^2}\cdots-\frac{(x_{n}-μ_{n})^2}{2σ_{n}^2}}$
令 $z^{2} = \frac{(x_{1}-μ_{1})^2}{σ_{1}^2}+\frac{(x_{2}-μ_{2})^2}{σ_{2}^2}\cdots+\frac{(x_{n}-μ_{n})^2}{σ_{n}^2}$, $σ_{z}= σ_{1}σ_{2}\cdotsσ_{n}$
這樣多元正態分布又可以寫成一元那種漂亮的形式了(注意一元與多元的差別):
$f(z) = \frac{1}{(\sqrt{2π})^nσ_{z}}e^{-\frac{z^2}{2}}$
因為多元正態分布有着很強的幾何思想,單純從代數的角度看待z很難看出z的概率分布規律,這里需要轉換成矩陣形式:
$z^2 = z^\mathrm{T}z = \left[ \begin{matrix} x_{1} - μ_{1}, x_{2} - μ_{2}, \cdots,x_{n} - μ_{n}\end{matrix}\right] \left[ \begin{matrix} \frac{1}{σ_{1}^2}&0&\cdots&0\\
0&\frac{1}{σ_{2}^2}&\cdots&0\\
\vdots&\cdots&\cdots&\vdots\\
0&0&\cdots&\frac{1}{σ_{n}^2}
\end{matrix}\right]\left[ \begin{matrix} x_{1} - μ_{1}, x_{2} - μ_{2}, \cdots,x_{n} - μ_{n}\end{matrix}\right]^\mathrm{T}$
等式比較長,讓我們要做一下變量替換:
$x - μ_{x} = \left[ \begin{matrix} x_{1} - μ_{1}, x_{2} - μ_{2}, \cdots,x_{n} - μ_{n}\end{matrix}\right]^\mathrm{T}$
定義一個符號
$∑_{}^{} = \left[ \begin{matrix} σ_{1}^2&0&\cdots&0\\
0&σ_{2}^2&\cdots&0\\
\vdots&\cdots&\cdots&\vdots\\
0&0&\cdots&σ_{n}^2
\end{matrix}\right]$
$∑_{}^{}$代表變量 X 的協方差矩陣, i行j列的元素值表示$x_{i}$與$x_{j}$的協方差
因為現在變量之間是相互獨立的,所以只有對角線上 (i = j)存在元素,其他地方都等於0,且$x_{i}$與它本身的協方差就等於方差
$∑_{}^{}$是一個對角陣,根據對角矩陣的性質,它的逆矩陣:
$( (∑_{}^{})^{-1} = \left[ \begin{matrix} \frac{1}{σ_{1}^2}&0&\cdots&0\\
0&\frac{1}{σ_{2}^2}&\cdots&0\\
\vdots&\cdots&\cdots&\vdots\\
0&0&\cdots&\frac{1}{σ_{n}^2}
\end{matrix}\right]$
對角矩陣的行列式 = 對角元素的乘積
$σ_{z}= \left|∑_{}^{}\right|^\frac{1}{2} =σ_{1}σ_{2}.....σ_{n}$
替換變量之后,等式可以簡化為:
$z^\mathrm{T}z = (x - μ_{x})^\mathrm{T} \sum_{}{}^{-1} (x - μ_{x})$
代入以z為自變量的標准高斯分布函數中:
$f(z) = \frac{1}{(\sqrt{2π})^nσ_{z}}e^{-\frac{z^2}{2}} = \frac{1}{(\sqrt{2π})^{n}\left|∑_{}^{}\right|^\frac{1}{2}}e^{-\frac{ (x\ -\ μ_{x})^\mathrm{T}\ (\sum_{}{})^{-1}\ (x\ -\ μ_{x})}{2}}$
注意前面的系數變化:從非標准正態分布->標准正態分布需要將概率密度函數的高度壓縮 $|∑_{}^{}|^\frac{1}{2}$倍, 從一維 -> n維的過程中,每增加一維,高度將壓縮 $\sqrt{2π}$倍
維度不相關正太分布函數圖像類似這樣(以二元分布函數為例):
4, 相關多元正態分布
前面也說了,我們討論多元正態分布的前提是多元變量之間是相互獨立的,實際上,有很多應用場合,變量與變量之間是有關聯的。以二元正態分布為例:
向輸入平面作投影后的平面圖:
以現在的坐標系來看,X1,X2是相關的,但是如果我們換一個角度,它們就是互不相關的了:
上述過程被稱為去相關性,更專業一點叫做歸化
假設新坐標系 $x_{1}' = \left[\begin{matrix}u_{x1}^{0}, u_{x1}^{1}\end{matrix}\right]^T$, $x_{2}' = \left[\begin{matrix}u_{x2}^{0}, u_{x2}^{1}\end{matrix}\right]^T$那么原坐標系上的任意一點 $[x_{1}, x_{2}]^T$ 投影到新坐標系上的結果為:
$\left[\begin{matrix}x_{1}'\\
x_{2}'\end{matrix}\right] = \left[ \begin{matrix} u_{x1}^{0}, u_{x1}^{1}\\
u_{x2}^{0}, u_{x2}^{1} \end{matrix} \right]\left[ \begin{matrix} x_{1}\\
x_{2} \end{matrix} \right]$
為了簡單起見,定義矩陣:
$U = \left[ \begin{matrix} u_{x1}^{0}, u_{x2}^{0}\\
u_{x1}^{1}, u_{x2}^{1} \end{matrix} \right]$
U的列空間由新坐標向量組成,坐標映射之后:
$X’ = U^{T}X$
現在我們的自變量X’是相互獨立的了,滿足維度不相關高斯分布模型,現在我們想套用公式:
$f(z) = \frac{1}{(\sqrt{2π})^nσ_{z}}e^{-\frac{z^2}{2}} = \frac{1}{(\sqrt{2π})^{n}\left|∑_{}^{}\right|^\frac{1}{2}}e^{-\frac{ (x\ -\ μ_{x})^\mathrm{T}\ (\sum_{}{})^{-1}\ (x\ -\ μ_{x})}{2}}$
$x->x'$, 這個很容易,$μ_{x} -> μ(x')$這個也不難, 但是這里還有一個 $∑_{}^{}$是未知的! 按照定義,這里的$∑_{}^{}$應該是X’的協方差,我們已知X,已知映射矩陣,如何求解X’的協方差?
從定義出發:
$μ_{x'} = E[U^TX] = U^TE[x] = U^Tμ_{x}$ $\tag{$1$}$
映射之后的協方差:
$\begin{align*}
σ(X') &= E[(X' - μ_{X'})(X' - μ_{X'})^T]\\
&=E[ (X' - μ_{X'}) (X'^T - μ_{X'}^T) ]\\
&=E[X'X'^T - μ_{X'}X'^T - X'μ_{X'}^T + μ_{X'}μ_{X'}^T]\\
&=E[U^TXX^TU-E[U^TX]X^TU - U^TXE[U^TX]^T + E[U^TX]E[U^TX]^T]\\
&=U^TE[XX^T - E(X)X^T - XE[X]^T + E[X]E[X]^T]U\\
&=U^Tσ(X)U\\
\end{align*}$
坐標映射前后的協方差矩陣滿足關系:
$(\sum_{}^{})_{x'} = U^{T}(\sum_{}^{})_{x}U$ $\tag{$2$}$
再進一步觀察,U的列向量是單位向量,而且是相互正交的,U是正交矩陣,$U^T = U^{-1}$
$(\sum_{}^{})_{x'} = U^{-1}(\sum_{}^{})_{x}U$
也就是說$(\sum_{}^{})_{x'}$ 是 $(\sum_{}^{})_{x}$的相似矩陣,相似矩陣的行列式相等
$|(\sum_{}^{})_{x'}| = |(\sum_{}^{})_{x}|$ $\tag{$3$}$
並且還有一個重要結論:
$(\sum_{}^{})_{x'}^{-1} = (U^T(\sum_{}^{})_{x}U)^{-1} = (U^{-1}(\sum_{}^{})_{x}U)^{-1}=U^{-1}(\sum_{}^{})_{x}^{-1}U = U^{T}(\sum_{}^{})_{x}^{-1}U$ $\tag{$4$}$
有了上述1、2、3、4四個結論,我們就可以放心套用標准化公式了:
$\begin{align*}
f(z) &= \frac{1}{(\sqrt{2π})^nσ_{z}}e^{-\frac{z^2}{2}} \\
&= \frac{1}{(\sqrt{2π})^{n}\left|(∑_{}^{})'_{x}\right|^\frac{1}{2}}e^{-\frac{ (x'\ -\ μ_{x'})^\mathrm{T}\ (\sum_{}{})_{x'}^{-1}\ (x'\ -\ μ_{x'})}{2}}\\
&=\frac{1}{(\sqrt{2π})^{n}\left|(∑_{}^{})_{x}\right|^\frac{1}{2}}e^{-\frac{ (U^Tx\ -\ U^Tμ_{x})^\mathrm{T}\ U^T (\sum_{}{})_{x}^{-1}\ U (U^Tx\ -\ U^Tμ_{x})}{2}}\\
&=\frac{1}{(\sqrt{2π})^{n}\left|(∑_{}^{})_{x}\right|^\frac{1}{2}}e^{-\frac{ (x\ -\ μ_{x})^\mathrm{T}\ (\sum_{}{})_{x}^{-1}\ (x\ -\ μ_{x})}{2}}
\end{align*}$
總結一下我們做了什么。
Ⅰ, 我們先定義了新的坐標系,通過矩陣 $U^{T}$ 將元素映射到新的坐標系,目的是去相關性
Ⅱ, 在新的坐標下,我們定義了新的期望、協方差、協方差的逆,他們都可以通過 $U$ 與 $U^T$計算出來,當然我們不用計算
Ⅲ, 套用標准公式,將新的期望、協方差的逆、協方差的行列式代入,發現最后的結果與$U$、$U^T$無關
為什么會這樣?我的理解是這樣:
前提條件:概率模型已經構建
假設空白平面上有一點A, 這個點A是客觀存在的,一旦A指定了,那么它的概率大小P(A)就已經確定了
現在我們添加了一個坐標系,添加坐標系的好處只是使得P(A)可以被量化 $P(A) = f(u1, u2)$
同理,使用其他坐標系,可以得到其他坐標系下的另外一種量化 $P(A) = f(v1, v2)$
不管使用哪個坐標系,A點的概率始終是不變的,所以$f(u1, u2) = f(v1, v2)$(感覺這有點像哲學問題哈)。
5, 實例分析
$\sum_{}^{} = \left[ \begin{matrix} 1&0.8\\
0.8&1
\end{matrix} \right]$
這個圖形與參數是如何對應的?
可以把那條假象的坐標軸線畫出來,轉換前后,坐標原點不變,很明顯,這是一個旋轉變換,假設坐標軸旋轉的角度為θ,新的坐標向量矩陣將變為:
$U = \left[ \begin{matrix} cosθ&-sinθ\\
sinθ&cosθ
\end{matrix}\right]$
U的列空間組成了新坐標的坐標系
$U^T = \left[ \begin{matrix} cosθ&sinθ\\
-sinθ&cosθ
\end{matrix}\right]$
新坐標系下變量是不相關的,協方差矩陣為對角陣:
$(\sum_{}^{})_{new} = U^T \sum{} U = \left[ \begin{matrix} cosθ&sinθ\\
-sinθ&cosθ
\end{matrix}\right] \left[ \begin{matrix}
1&0.8\\
0.8&1
\end{matrix} \right] \left[ \begin{matrix} cosθ&-sinθ\\
sinθ&cosθ
\end{matrix}\right] = \left[ \begin{matrix} σ_{1}^2&0\\
0&σ_{2}^2
\end{matrix} \right]$
計算可得: $θ = \frac{π}{4}$
代入計算新的協方差為:
$(\sum_{}^{})_{new} = \left[ \begin{matrix} 1.8&0\\
0&0.2 \end{matrix} \right]$
得出的結論: 新的坐標系是原坐標系經過 $θ = \frac{π}{4}$旋轉而來,在新的坐標系下,輸入元素將會變得不相關,$x_{1}$方向的方差為1.8,分布比較寬, $x_{2}$方向的方差為0.2,分布比較窄,整體表現為扁平。
同理,不難得出:
$\sum_{}^{} = \left[ \begin{matrix} 1&-0.5\\
-0.5&1
\end{matrix} \right]\qquad\qquad\qquad\qquad\sum_{}^{} = \left[ \begin{matrix} 1&-0.8\\
-0.8&1
\end{matrix} \right]\qquad\qquad\qquad\qquad\sum_{}^{} = \left[ \begin{matrix} 3&0.8\\
0.8&1
\end{matrix} \right]$
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
路漫漫其修遠兮,吾將上下而求索