MCMC(Markov Chain Monte Carlo) 方法學習筆記
阿新 • • 發佈:2019-02-14
Gibbs取樣
- 用途
什麼是sampling?
sampling就是以一定的概率分佈,看發生什麼事件。舉一個例子。甲只能E:吃飯、學習、打球,時間T:上午、下午、晚上,天氣W:晴朗、颳風、下雨。現在要一個sample,這個sample可以是:打球+下午+晴朗。
吉布斯取樣的通俗解釋?
問題是我們不知道p(E,T,W),或者說,不知道三件事的聯合分佈joint distribution。當然,如果知道的話,就沒有必要用gibbs sampling了。但是,我們知道三件事的conditional distribution。也就是說,p(E|T,W),p(T|E,W),p(W|E,T)。現在要做的就是通過這三個已知的條件分佈,再用gibbs sampling的方法,得到聯合分佈。
具體方法。首先隨便初始化一個組合,i.e. 學習+晚上+颳風,然後依條件概率改變其中的一個變數。具體說,假設我們知道晚上+颳風,我們給E生成一個變數,比如,學習-》吃飯。我們再依條件概率改下一個變數,根據學習+颳風,把晚上變成上午。類似地,把颳風變成颳風(當然可以變成相同的變數)。這樣學習+晚上+颳風-》吃飯+上午+颳風。同樣的方法,得到一個序列,每個單元包含三個變數,也就是一個馬爾可夫鏈。然後跳過初始的一定數量的單元(比如100個),然後隔一定的數量取一個單元(比如隔20個取1個)。這樣sample到的單元,是逼近聯合分佈的。