MCMC:Markov Chain&Monte Carlo(二)MH采样和Gibbs采样,MCMC局限性
MCMC全稱(chēng)是Markov Chain & Monte Carlo。
在概率圖的框架中屬于近似推斷中的不確定性推斷,與之相對(duì)的有近似推斷中的變分推斷(variational Inference)。
MCMC本質(zhì)是基于“采樣”的“隨機(jī)”“近似”。有三個(gè)關(guān)鍵詞。
①采樣是說(shuō)MCMC本質(zhì)就是一種引入Markov Chain模型實(shí)現(xiàn)采樣任務(wù)的一種方法,本質(zhì)是一種采樣方法(Method)。
②隨機(jī)是說(shuō)MCMC的主要實(shí)現(xiàn)方法是找到一個(gè)隨機(jī)矩陣(stochastic matrix),也就是狀態(tài)轉(zhuǎn)移矩陣(也可以是狀態(tài)轉(zhuǎn)移概率密度函數(shù)),使得
該Markov Chain最終達(dá)到一個(gè)平穩(wěn)分布q(x)。
t=1到t=2相鄰狀態(tài)的隨機(jī)矩陣
③近似是說(shuō)q(x)與目標(biāo)概率p(x)非常接近。
所以這里引入幾個(gè)概念:分別是平穩(wěn)分布,細(xì)致平衡(Detailed Balance),燃燒期(burn-in),混合時(shí)間(mixing time)。
①平穩(wěn)分布指的是每個(gè)時(shí)刻的狀態(tài)變量X都滿足一個(gè)概率分布p(X),比如X1~p1(X),X2~p2(X),X3~p3(X)...XN~pN(X),如果p1(X)=p2(X)=p3(X)=...=pN(X)=p(X),則稱(chēng)p(X)為該Markov Chain的一個(gè)平穩(wěn)分布。
平穩(wěn)分布的表達(dá)式
其中X是t時(shí)刻的隨機(jī)變量,X*是t+1時(shí)刻的隨機(jī)變量,p(X)是X服從的概率分布,p(X*)是X*服從的概率分布。p(X→X*) <=> p(X*|X),相當(dāng)于一個(gè)條件概率,代表given X,X*的概率分布。
②細(xì)致平衡是平穩(wěn)分布的充分不必要條件,由細(xì)致平衡可以推出平穩(wěn)分布。
細(xì)致平衡簡(jiǎn)單示意
其中z是t時(shí)刻的隨機(jī)變量,z*是t+1時(shí)刻的隨機(jī)變量,p(z)是z服從的概率分布,p(z*)是z*服從的概率分布。p(z→z*) <=> p(z*|z),相當(dāng)于一個(gè)條件概率,代表given z,z*的概率分布。(和上文的X是一個(gè)含義,只不過(guò)用了不同的符號(hào),湊合看吧...)。
③燃燒期和混合時(shí)間:若一個(gè)Markov Chain經(jīng)過(guò)t=1~m時(shí)間段的狀態(tài)變換,在t=m+1時(shí)刻往后的隨機(jī)變量就收斂到平穩(wěn)分布,那么將t=[1,m]稱(chēng)為燃燒器,m稱(chēng)為mixing time。
MCMC方法相關(guān)概念簡(jiǎn)單小結(jié):
MH采樣方法:
由于一個(gè)普通的Markov Chain每個(gè)時(shí)刻對(duì)應(yīng)的隨機(jī)變量Xt和每組相鄰時(shí)刻間的{Pt,t+1}是不一樣的,所以需要引入一個(gè)接受率α,使得每組相鄰時(shí)刻的概率分布和隨機(jī)矩陣滿足Detail Balance條件,α的公式如下:
最終得到MH算法流程如下:
MH算法引出小結(jié):
MH采樣全稱(chēng)是Metropolis Hastings,MH算法的主要思想是引入接受率α=min{1,p(x*)Q(x|x*)/(p(x)Q(x*|x)},使得相鄰時(shí)刻間的狀態(tài)轉(zhuǎn)移矩陣Q(x,x*)和原始概率分布p(x),p(x*)滿足Detail Balance條件,從而在經(jīng)過(guò)mixing time長(zhǎng)度的時(shí)間過(guò)后,得到平穩(wěn)分布q(x),其中q(x)與原始概率分布p(x)很相近,然后通過(guò)Markov Chain若干個(gè)時(shí)刻的狀態(tài)變量值Xm,Xm+99,...等等得到基于MCMC方法的采樣值。
Gibbs采樣方法:
Gibbs采樣是接受率α=1的MH采樣,可以看作MH采樣的特殊形式。適用于隨機(jī)變量X維度非常高的情況,從t到t+1時(shí)刻,只改變一個(gè)維度的值。狀態(tài)轉(zhuǎn)移矩陣取得就是目標(biāo)概率p(X)。
由于接受率α=1,所以采樣效率高。
MCMC局限性
要了解MCMC的局限性,首先要了解為什么要采樣,什么是好的采樣,以及采樣為什么困難。
①為什么要采樣:
(i)一種情況是給定一些樣本{Xi},i=1:N,這些樣本滿足一定的概率分布p(X),現(xiàn)在要求增加樣本數(shù)量,這個(gè)時(shí)候就需要對(duì)p(X)進(jìn)行采樣。
(ii)另一中情況是求解的問(wèn)題的變量X是隨機(jī)變量,問(wèn)題可以抽象為f(X),因?yàn)閄是隨機(jī)變量,所以需要對(duì)X服從的概率分布求期望,即求解Ep(X)[f(X)]。
②好的采樣
需要滿足X(1),X(2),...,X(i)等采樣點(diǎn)相互獨(dú)立。
③采樣為什么困難
由于隨機(jī)變量X維度太高,導(dǎo)致p(X)太復(fù)雜,所以無(wú)法求出p(x)對(duì)應(yīng)的cdf,就沒(méi)有辦法通過(guò)cdf基本采樣方法進(jìn)行采樣。由于X維度很高,導(dǎo)致很難知道p(X)長(zhǎng)什么樣子,也就很難找到一個(gè)跟它很像的proposal distribution q(X),然后通過(guò)或者 Importance Sampling的方法進(jìn)行采樣。所以會(huì)提出MCMC的方法。
④MCMC的局限性:
1)采樣點(diǎn)之間不獨(dú)立(硬傷),解決方法,比如隔N個(gè)點(diǎn)采一個(gè)X(i)。
2)mixing time可能會(huì)很長(zhǎng),(單峰vs 多峰),即模型可能就在初始狀態(tài)在的某個(gè)分布內(nèi)來(lái)回打轉(zhuǎn),由于兩個(gè)分布的峰谷太低,采樣點(diǎn)到達(dá)峰谷的概率非常低(特別是X是高維隨機(jī)變量的情況下),這就導(dǎo)致MCMC沒(méi)法采樣到能夠很好地表征p(X)概率分布的采樣點(diǎn),也就是mixing time會(huì)無(wú)限長(zhǎng),造成采樣失敗的情況。
3)就算采樣成功了,也不能夠確切的知道什么時(shí)刻已經(jīng)達(dá)到了平穩(wěn)分布,只能通過(guò)每隔一段時(shí)間就針對(duì)當(dāng)前時(shí)刻的分布Xt采用,得到其采樣的概率分布q1(X),與目標(biāo)概率分布p(X)對(duì)比,確定兩者相似程度,從而判斷是否達(dá)到平穩(wěn)分布。
參考資料:
1.https://www.bilibili.com/video/BV1dW411z7qs?p=8,B站up主,作者shuhuai008。
總結(jié)
以上是生活随笔為你收集整理的MCMC:Markov Chain&Monte Carlo(二)MH采样和Gibbs采样,MCMC局限性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 借钱不还,法院可以单方拍卖房产吗?
- 下一篇: Oracle 使用Nid 修改数据库的D