Gibbs 取樣程序 (Gibbs Sampling)

機率統計

教學錄影

數學符號

數學基礎

排列組合

機率統計簡介

機率

機率公理

隨機變數

連續測度

單一分布

條件機率

聯合分布

貝氏定理

動差生成函數

特徵函數

機率法則匯總

離散分布

二項分布

多項分布

負二項分布

幾何分布

超幾何分布

布瓦松分布

連續分布

均勻分布

常態分布

Gamma 分布

指數分布

卡方分布

柯西分布

Weibull 分布

T 分布

F 分布

Beta 分布

多維分布

統計

抽樣

敘述統計

推論統計

中央極限定理

估計方法

單組樣本估計

兩組樣本估計

檢定方法

單組樣本檢定

兩組樣本檢定

平均値的推論

變異數的推論

無母數推論

迴歸分析

變異數分析

實驗設計

因子實驗

品質管制

時間序列

數據分類

統計定理匯總

統計情況分類

計算統計

蒙地卡羅法

最大似然法則

假說與學習

EM 算法

簡單貝氏分類

貝氏網路

隨機過程

馬可夫鏈

蒙地卡羅馬可夫

資源

範例

投影片

教學錄影

練習題

考題解答

訊息

相關網站

參考文獻

最新修改

簡體版

English

簡介

Gibbs 取樣程序的使用時機是在聯合分布 P(X,Y) 未知,但是單一變數的條件機率 P(X|Y), P(Y|X), P(X), P(Y) 已知的情況。在此種情況下,我們可以利用亂數產生的樣本,統計聯合機率分布。

該程序首先取得一個分布 Y0 作為初始值,然後利用蒙地卡羅法透過 (X, Y0) 產生 X1 分布,接著再利用 (X1, Y) 產生 Y1 分布。於是我們得到下列這個疊代程序

Algorithm GibbsSampling(X, Y)
 Y[0] = random initialize a distribution
 for i = 1 to N
  generate X[i] from P(X | Y[i-1])
  generate Y[i] from P(Y | X[i]) 
 return {X[N], Y[N]}
End Algorithm

以上疊代程序是針對兩個隨機變數的情況,假如我們希望延伸到 k 個隨機變數的情況,可以修改演算法如下。

Algorithm GibbsSampling(X[1...k])
 X = random initialize a distribution
 for i = 1 to N
  generate X'[1] from X and P(X[1] | X[2], ..., X[k])
      ...
  generate X'[j] from X and P(X[i] | X[1], ..., X[j-1], X[j+1],...,X[k])
      ...
  generate X'[k] from X and P(X[k] | X[1], ..., X[k-1])
    X = X'
  end
 return X
End Algorithm

Gibbs 取樣程序是『蒙地卡羅馬可夫算法』(MCMC) 的一個案例,也是 Metropolis-Hasting 取樣程序的一個特例,我們可以利用 Gibbs 或 Metropolis-Hasting 取樣程序計算貝氏網路的聯合機率分布。

參考文獻

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License