MLaPP Chapter 4 Gaussian models 高斯模型

4.1 Introduction 介紹

4.1.1 Notation 符號

一般矩陣用大寫加粗的字母,向量用小寫加粗字體。

4.1.2 Basics 基礎

回顧一下多元高斯概率密度函數:

N(x|μ,Σ)1(2π)D/2|Σ|1/2exp[12(xμ)TΣ1(xμ)]

首先,我們來胡扯一下。不不不,不對,首先我們來解釋一下馬氏距離(Mahalanobis Distance)的概念。和歐式距離(Euclidean distance)一樣,馬氏距離可以計算兩點之間的距離,但是在計算距離的時候,同時會考慮整體樣本的分佈情況,所以可以說馬氏距離也是衡量一個點與一個分佈之間的標準。

假設多維的高斯分佈均值爲 μ=(μ1,...,μn) ,那麼定義變量 x=(x1,...,xn) 兩點之間的歐氏距離爲

dE(x,μ)=(xμ)T(xμ)=(x1μ1)2++(xnμn)2
那麼以原點爲中心,歐氏距離 x2=c 的所有點集合爲一個正球體,
x21+x22++x2n=c2

在統計上,我們希望尋找一個這樣的距離,沿着某方向分量上的數據如果比較離散,則給一個較小的權重。假設有

u=(xisi),v=(μisi),i=1,...,p
爲新的基底,
dM(x,μ)=dE(u,v)=(uv)T(uv)=(x1μ1s1)2++(xnμnsn)2=(xμ)TΣ1(xμ)

這裏的 Σ=diag(s21,,s2n)

那麼以原點爲中心,馬氏距離 x=c 的所有點集合爲一個橢球體,

(x1s1)2+(x2s2)2++(xnsn)2=c2

好了,上面都是根據某篇博客胡編的,下面來看書裏是怎麼解讀多元高斯分佈的概率密度函數的。

首先,協方差矩陣 Σ 是一個實對稱矩陣,必然可以正交對角化。有 Σ=UTΛU ,其中 U 爲正交矩陣(orthonormal matrix),即滿足 UTU=I ,由矩陣 Σ 的特徵向量組成;Λ 爲對角矩陣(diagonal matrix),對角元素爲 Σ 的特徵值。同理:

Σ1=UTΣ1U1=UΣ1UT=i=1D1λiuiuTi
注意 λi 是矩陣 \boldsymbol{\Sigma}Σ 的特徵值,ui 是矩陣 Σ 的特徵向量,且 U=(u1,u2,,un)

上面 pdf 的 exp 指數項其實算的是數據向量 x 和均值向量 μ 之間的馬氏距離,可以這樣化簡:

(xμ)TΣ1(xμ)=(xμ)T(i=1D1λiuiuTi)(xμ)=i=1D1λi[(xμ)TuiuTi(xμ)]=i=1D1λiy2iwhere yi=uTi(xμ)

加入我們限定距離爲定值 1 ,那麼有

y21λ1+y22λ2++y2nλn=1
顯然這是個高維的橢球體。若協方差矩陣是正定的,那麼 λi 就是各半軸的長度。書裏圖 4-1 展示了 2 維的高斯密度等高線。

4.1.3 MLE for an MVN 多元高斯模型的極大似然估計

用 MLE 來估計高斯模型的參數,發現估計出來的均值和協方差是經驗均值和協方差,即樣本的均值和協方差。

Theorem 4.1.1 (MLE for a Gaussian) 若有 N 個獨立同分布的樣本 xiN(μ,Σ) ,那麼 MLE 的結果是:

μ^mleΣ^mle=1Ni=1Nxix¯¯=1Ni=1N(xix¯¯)(xix¯¯)T=1N(i=1NxixTi)x¯¯x¯¯T

4.1.3.1 Proof *

要推導多元高斯的極大似然估計過程,可能要用到很多的矩陣求導公式,這裏只列舉一個:

(aTAa)a=(A+AT)a

當然,還有 trace trick,很奇妙,

xTAx=tr(xTAx)=tr(xxTA)=tr(AxxT)

具體的推導過程略,大致就是構造似然函數 (μ,Σ) ,然後分別求偏導,化簡後得到。

4.1.4 Maximum entropy derivation of the Gaussian * 從最大熵中推導出高斯模型

對於特定的均值 μ 和協方差矩陣 Σ ,MVN 是在所有的分佈中熵最大的。

4.2 Gaussian discriminant analysis 高斯判別分析

多元高斯模型的一個很重要的應用是,在生成模型中用來定義 class conditional densities

p(x|y=c,θ)=N(x|μc,Σc)

結果就是高斯判別分析,不過仍然是生成模型而非判別模型。如果 Σc 爲可對角化(diagonal),那麼等價於 Gaussian Naive Bayes classifier.(爲什麼呢?)

生成模型會用下邊的公式來找到給定輸入對應的預測類別,即

y^(x)=argmaxc[logp(y=c|π)+logp(x|y=c,θc)]
這個還是貝葉斯公式,π 只是參數 θ 中跟 prior class 相關的的參數單獨提取出來。後面的概率 p(x|y=c,θc) ,其實就是衡量點 x 到類別 c 中心 xc 的馬氏距離。這種想法叫做 nearest controids classifier,比如 k 近鄰算法就是這一類型的。

假設連類別先驗都是均勻分佈的,即 p(y=c|π) 爲常數,那麼分類器的公式可以這樣寫,

y^(x)=argminc(xμc)TΣ1c(xμc)

4.2.1 Quadratic discriminant analysis (QDA) 二次判別分析

二次判別分析,就是直接把多元高斯概率密度函數代入到貝葉斯公式裏,不過書裏感覺寫的有點錯誤,把維度直接認爲是 1 了。之所以叫二次,是因爲畫出來的決策面是曲線,而下面要講的 LDA 卻是線性的決策面。

4.2.2 Linear discriminant analysis (LDA) 線性判別分析

線性判別分析是假設所有類的協方差全部共享(tied or shared across classes),即 Σc=Σ ,這樣子畫出的決策面是線性的。

LDA 的原理是,將帶上標籤的數據(點),投影到維度更低的空間中。使得投影后的點,相同類別距離更近,不同類別距離更遠。因此除了可以做分類器,LDA 也可以做有監督的降維工作。

書裏把 p(y=c|x,θ) 推導逐漸寫成了 Softmax 複合函數,也是很神奇,和 PRML 那本書的思路完全不一樣。其中Softmax公式如下:

S(η)c=eηcCc=1eηc
由於這個函數起源於統計物理學,倘若添加一個溫度常量 T ,那麼發現低溫下,S(η/T)c 偏向於均勻分佈;高溫時,只有最大值的變量趨近於 1 ,其他都爲零,因此和 max 函數很像。

若有 p(y|x,W)=Cat(y|Wx) ,那麼這時模型就是 multi-class logistic regression,或者叫 multinomial logistic regression,然而這個是判別模型。生成模型和判別模型的區別會在第八章提到。

4.2.3 Two-class LDA 兩類 LDA

假如考慮只有兩類的特殊情況,那麼可以推導出

p(y=1|x,θ)=sigmoid(wT(xx0))
這已經和 logistic regression 很接近了(我怎麼感覺是一樣的?)。決策規則是這樣子,先把 x 平移 x0 ,然後投影到線 w 上去,再判斷正負性。

4.2.4 MLE for discriminant analysis

直接用經驗估計的均值和方差,和前面講過的一樣。

4.2.5 Strategies for preventing overfitting

MLE 容易過擬合,且協方差矩陣一般是奇異矩陣,因此有很多緩解過擬合的方法,後面的小節會一一提到。

4.2.6 Regularized LDA * 正則化 LDA

如果用 Wishart prior 來做最大後驗估計,來估計 LDA 中的參數,那麼就叫做是 Regularized LDA,簡稱 RDA。即

Σ^=λdiag(Σ^mle)+(1λ)Σ^mle
其中,λ 是控制兩者的權重。

高斯模型公式裏有 Σ^1 ,但是如果不是方陣,特別是 D>N ,即方程組數量小於變量維數的情況,可以用奇異值分解(SVD,singular value decomposition)來解決。即對任意的矩陣 X ,必定可以分解成三個特殊的矩陣,

XN×D=UN×N SN×D VTD×D
其中,
  • UN×N列向量正交 的矩陣,即 UTU=IN ,列向量爲左奇異向量(left singular vectors);
  • SN×D 是主對角線上有 min(N,D) 個非負 奇異值(singular vaue) 的對角矩陣(其餘位置元素都是零);
  • VD×D行和列向量皆正交 的矩陣,即 VTV=VVT=ID ,由右奇異向量組成(right singular vectors);

奇異值分解有很多用途,這裏主要拿來做求矩陣的僞逆。此外,奇異值分解和特徵值分解之間的關係很近,只是約束更弱,奇異值和特徵值意義類似。具體我就不瞭解了,貌似是矩陣論的東西。

4.2.7 Diagonal LDA 對角化 LDA

當 RDA 中 λ=1 時,協方差矩陣完全爲可對角化矩陣,稱 Diagonal LDA,該模型在高維的情況下比 RDA 和 LDA 要好。

4.2.8 Nearest shrunken centroids classifier *

有時候,特別是高維的特徵下,不是所有的特徵都是有用的,因此可以用一些篩選的方法,讓某些維度失去作用。

4.3 Inference in jointly Gaussian distributions 聯合高斯分佈的推斷

這一章講述的是,已知聯合概率 p(x1,x2) ,如何求解邊緣概率 p(x1) 和條件概率 p(x1|x2) .

4.3.1 Statement of the result 結果陳述

Theorem 4.3.1 (Marginals and conditionals of an MVN). 假設 x=(x1,x2) 是聯合高斯(jointly Gaussian),且其參數如下:

μ=(μ1μ2),Σ=(Σ11Σ21Σ12Σ22),Λ=Σ1=(Λ11Λ21Λ12Λ22)
那麼邊緣概率爲,
p(x1)=N(x1|μ1,Σ11)p(x2)=N(x2|μ2,Σ22)
後驗條件概率爲,
p(x1|x2)=N(x1|μ1|2,Σ1|2)
其中,
μ1|2Σ1|2=μ1+Σ12Σ122(x2μ2)=μ1Λ111Λ112(x2μ2),=Σ1|2(Λ11μ1Λ12(x2μ2)),=Σ11Σ12Σ122Σ21=Λ111

從上面的定理可以看出,如果聯合概率分佈是高斯分佈,那麼邊緣概率和條件概率分佈也都會是高斯分佈。邊緣概率好理解,直接從行和列提取即可,條件概率就稍麻煩。條件概率的均值是 x2 的線性函數,協方差則是和 x2 無關的常數矩陣。

4.3.2 Examples 例子

下面的小結會給出上面公式的一些例子。

4.3.2.1 Marginals and conditionals 邊緣概率和條件概率

考慮兩維的高斯分佈,有協方差矩陣

Σ=(σ21ρσ1σ2ρσ1σ2σ22)

邊緣概率 p(x1) 是一維的高斯,可以通過把聯合概率投影到直線 x1 上得到,

p(x1)=N(x1|μ1,σ21)
條件概率 p(x1|x2) 就稍麻煩,
p(x1|x2)=N(x1|μ1+ρσ1σ2σ22(x2μ2), σ21(ρσ1σ2)2σ22)
如果假設協方差是共享的,即 σ1=σ2=σ 時,有
p(x1|x2)=N(x1|μ1+ρ(x2μ2), σ2(1ρ2))

舉個具體的例子,如 ρ=0.8,σ=1,μ1=μ2=0,x2=1 那麼,p(x1|x2)=N(x1|0.8,0.36) 表示沿着 x2=1 截取的曲線。

4.3.2.2 Interpolating noise-free data

給無噪聲的數據做差值,一般會假設得到的插值函數的平滑,即

xj=12(xj1+xj+1)+ϵj
即當前值是相鄰值的均值加上一個高斯噪聲。有 ϵN(0,(1/λ)I) ,參數 λ 控制了平滑的程度。較大的值偏向於平滑,較小的值會較爲抖動(wiggly).

後面跳躍性太大了,好難讀,跳過先。。。

4.3.2.3 Data imputation 數據重建

如果矩陣中確實了部分的數據,而列之間有時相互關聯的,那麼可以動過數據重建的方法猜測丟失的數據。

4.3.3 Information form

若有 xN(x|μ,Σ) ,其中的參數是均值和方差 μ,Σ 就叫做是 距參量(moment parameters),不過有時候也可以定義這樣子的參數

ΛΣ1,ξΣ1μ
這樣的參數叫做 典範參數(cononical parameters),或者叫 自然參數(natural parameters). 在計算條件概率和兩個高斯概率相乘時,典範參數表達會簡潔很多,但是距參量在邊緣概率會表述方便一些。

典範參數下的多元高斯分佈就可以寫成 Information form,即 Nc(x|ξ,Λ) .

4.3.4 Proof of the result *

證明需要用到很多的矩陣只是,比如舒爾補(Schur complements)之類的,主要是求分塊矩陣的逆矩陣,略過。

4.3.4.1 Inverse of a partitioned matrix using Schur complements

4.3.4.2 The matrix inversion lemma

4.3.4.3 Proof of Gaussian conditioning formulas

4.4 Linear Gaussian systems 線性高斯系統

假設有隱變量 xRDx ,而只能觀察到帶噪音的變量 yRDy ,那麼下面的先驗和似然

p(x)=N(x|μx,Σx)p(y|x)=N(y|Ax+b,Σy)
就可以組成一個線性高斯系統(linear Gaussian system),其中矩陣 ADx×Dy 的矩陣。

上面給出的是 xy 的信息,我們的目的得到 yx 的信息,即如果從觀察變量中推斷(infer)隱變量。

4.4.1 Statement of the result

Theorem 4.4.1 (Bayes rule for linear Gaussian systems) 給定一個上述的線性高斯系統,後驗概率 p(x|y) 推斷如下,

p(x|y)=N(x|μx|y,Σx|y)
其中,
Σ1x|y=Σ1x+ATΣ1yAμx|y=Σx|y[ATΣ1y(yb)+Σ1xμx]
此外,歸一化常量(normalization constant)p(y) 爲,
p(y)=N(y|Aμx+b, Σy+AΣxAT)

4.4.2 Examples

例子就跳過了,不太看得懂。

4.4.2.1 Inferring an unknown scalar from noisy measurements

4.4.2.2 Inferring an unknown vector from noisy measurements

4.2.2.3 Interpolating noisy data

4.4.3 Proof of the result *

證明了 Theorem 4.4.1 的公式。略

4.5 Digression: The Wishart distribution * 題外話:Wishart 分佈

Wishart 分佈可以看做是 Gamma 分佈在正定矩陣上的推廣,一般用來描述協方差矩陣 Σ ,或者其逆矩陣 Λ=Σ1 的分佈。概率密度函數定義如下:

Wi(Λ|S,ν)=1ZWi|Λ|(νD1)/2exp(12tr(ΛS1))
其中 ν 成爲自由度(degrees of freedom),S 叫做尺度矩陣(scale matrix),歸一化項爲
ZWi=2νD/2ΓD(ν/2)|S|ν/2
其中 ΓD(a) 爲多元伽馬函數(multivariate gamma function),
ΓD(x)=πD(D1)/4i=1DΓ(x+(1i)/2)
D=1 時正好是 Γ 函數。注意只有當 ν>D1 時,歸一化常數才存在。

Wishart 分佈和 Gaussian 分佈關係很密切。假設 xiN(0,Σ) ,那麼 scatter matrix S=Ni=1xixTi 是符合 Wishart 分佈的,即 SWi(Σ,1) ,所以 E(S)=NΣ

Wishart 分佈的均值和衆數如下,

mean=νS,mode=(νD1)S

D=1 時,Wishart 分佈退化成伽馬分佈,

Wi(λ|s1,ν)=Ga(λ|ν2,s2)

4.5.1 Inverse Wishart distribution 逆 Wishart 分佈

見書上公式,略~

4.5.2 Visualizing the Wishart distribution * 可視化

考慮 Wishart 分佈式對矩陣的分佈,很難畫出密度函數,所以可以考慮把矩陣的特徵值提取出來,做橢圓的半軸長度。

4.6 Inferring the parameters of an MVN 推斷 MVN 的參數

這一小節主要講解如何推斷高斯分佈的參數 θ=(μ,Σ)

假設有符合多元高斯分佈的數據集 D={xi|xiN(μ,Σ)} ,分成三個部分來推斷參數,

  • p(μ|D,Σ) 均值
  • p(Σ|D,μ) 方差
  • p(μ,Σ|D) 均值和方差

4.6.1 Posterior distribution of μ

推斷 p(μ|D,Σ)

4.6.2 Posterior distribution of Σ *

推斷 p(Σ|D,μ)

4.6.2.1 MAP estimation

4.6.2.2 Univariate posterior

4.6.3 Posterior distribution of μ and Σ *

推斷 p(μ,Σ|D)

4.6.3.1 Likelihood

4.6.3.2 Prior

4.6.3.3 Posterior

4.6.3.4 Posterior mode

4.6.3.5 Posterior marginals

4.6.3.6 Posterior predictive

4.6.3.7 Posterior for scalar data

4.6.3.8 Bayesian t-test

4.6.3.9 Connection of frequentist statistics *

4.6.4 Sensor fusion with unknown precisions * 未知精度的傳感器融合

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章