直觀理解概率圖模型中的取樣(sampling)技術
我們都知道,在概率圖模型的推斷中,精確推斷方法通常需要很大的計算開銷。因此,在現實應用中近似推斷方法更為常用。這類方法一般分為2類:通過使用隨機化方法完成近似,比如MCMC(Markov Chain Monte Carlo);使用確定性近似完成近似推斷,比如變分推斷。本文主要討論取樣技術,基本思想是直接計算或逼近某個變數的期望往往比推斷概率分佈更加容易。西瓜書裡舉了一個非常直觀的例子,假定我們的目標是計算函式在概率密度函式下的期望:
為了有效的計算期望,我們可根據抽取一組樣本,然後計算在這些樣本上的均值
來逼近目標期望。若樣本獨立,基於大數定律,這種通過大量取樣的方法就能獲得較高的近似精度。
講到這裡,我們對取樣技術有了一個直觀的理解。目前有許對的關於取樣的教程,來完整的講述MCMC(構造一條馬爾科夫鏈,收斂至平穩分佈),MH(Metropolis-Hastings, 基於拒絕取樣來逼近平穩分佈),吉布斯取樣(Gibbs sampling, 馬爾科夫鏈的平穩分佈也是取樣的目標分佈)。但是這些教程大多都是介紹其理論或者簡單的羅列各個取樣的步驟,並沒有展示如何實現它們,如何運用到概率圖模型的推斷中;閱讀後讀者然後感到困惑,不知從何入手。本文的目標就是解決這些困惑,以一個實際中的視覺問題進行展開,直觀的理解整個建模過程和近似推斷。
我們考慮影象去噪,假設噪聲影象為
從該模型可知,影象中兩兩相鄰畫素間構成最大團。的定義為:
為歸一化因子,為勢函式或能量函式。為了定義勢函式,我們一方面期望相鄰畫素間的值比較接近,另一方面期望還原的畫素值與原噪聲畫素值比較接近。另外,我們考慮兩種情況,當為離散變數時,即影象為二值影象(取值0/1);當為連續變數時,即影象為灰度影象。勢函式分別定義為:
上式中,當相鄰畫素間的值比較接近,且還原的畫素值與原噪聲畫素值比較接近時,勢函式最小。對的求解,我們可以採用很多演算法,比如基於貪心策略的 Iterated Conditional Modes(ICM)。這裡我們採用Gibbs sampling,步驟如下:
- 隨機或以某個次序選取變數
- 根據中除外的變數的現有取值,計算條件概率
- 根據概率分佈對變數