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