【ML-17-2】MCMC--馬爾可夫蒙特卡羅方法(MH和Gibbs)


目錄

  1. MCMC概述
  2. 馬爾科夫鏈
  3. MCMC采樣和M-H采樣
  4. 其它說明

一、MCMC概述

從名字我們可以看出,MCMC由兩個MC組成,即蒙特卡羅方法(Monte Carlo Simulation,簡稱MC)和馬爾科夫鏈(Markov Chain ,也簡稱MC)。

需要的背景:P(Z|X)概率推斷inference分兩種(精確推斷和近似推斷),精確推斷很難求解時,需要使用近似求解(也分精確性(VI)和隨機性的),其中隨機性的則是本文介紹的MCMC。

案例如受限玻爾茲曼機(RBM)中需要應用,所以先學習下其原理。本文先講解蒙特卡洛方法。

二、馬爾科夫鏈

2.1 馬爾可夫性質

設{X(t), t ∈ T}是一個隨機過程,E為其狀態空間,若對於任意的t1<t2< ...<tn<t,任意的x1,x2,...,xn,x∈E,隨機變量X(t)在已知變量X(t1)=x1,...,X(tn)=xn之下的條件分布函數只與X(tn)=xn有關,而與X(t1)=x1,...,X(tn-1)=xn-1無關,即條件分布函數滿足下列等式,此性質稱為馬爾可夫性;如果隨機過程滿足馬爾可夫性,則該過程稱為馬爾可夫過程。

2.2 馬爾可夫鏈

  • 馬爾可夫鏈是指具有馬爾可夫性質的隨機過程。在過程中,在給定當前信息的情況下,過去的信息狀態對於預測將來狀態是無關的
  • 馬爾可夫鏈在馬爾可夫鏈的每一步,系統根據概率分布,可以從一個狀態變成另外一個狀態,也可以保持當前狀態不變。狀態的改變叫做轉移,狀態改變的相關概率叫做轉移概率
  • 馬爾可夫鏈中的三元素是:狀態空間S、轉移概率矩陣P、初始概率分布π。

2.3 馬爾可夫鏈案例

設將天氣狀態分為晴、陰、雨三種狀態,假定某天的天氣狀態只和上一天的天氣狀態有關,狀態使用1(晴)、2(陰)、3(雨)表示,轉移概率矩陣P如下:

第n+1天天氣狀態為 j 的概率為:

因此,矩陣P即為條件概率轉移矩陣。

矩陣P的第i行元素表示,在上一個狀態為i的時候的分布概率,即每行元的和必須為1

最終狀態和轉移矩陣相關,和初始值無關。

此時,我們給定一個初始狀態,然后經過該狀態轉移矩陣的轉換,最終會收斂到一個穩定的狀態,具體如馬爾科夫鏈定理所示

由於馬爾科夫鏈能收斂到平穩分布, 於是有了一個想法:如果我們能構造一個轉移矩陣為P的馬氏鏈,使得該馬氏鏈的平穩分布恰好是p(x), 那么我們從任何一個初始狀態x0出發沿着馬氏鏈轉移, 得到一個轉移序列 x0, x1, x2,xn, xn+1, 如果馬氏鏈在第n步已經收斂了,於是我們就得到了 π(x) 的樣本xn, xn+1(也就是從第n步收斂時開始,之后的x都服從同一個平穩分布,我們可以將這個分布設定為我們的目標采樣分布)。

從上面可以看出馬爾科夫鏈的平穩分布收斂主要依賴於狀態轉移矩陣,所以關鍵是如何構建狀態轉移矩陣,使得最終的平穩分布是我們所要的分布。想做到這一點主要依賴於細致平穩定理

 所以通過細致平穩條件(detailed balance condition)能推導出平穩分布。

三、MCMC采樣和M-H采樣

在MCMC采樣中先隨機一個狀態轉移矩陣Q,然而該矩陣不一定能滿足細致平穩定理,一次會做一些改進,具體過程如下

MCMC采樣算法的具體流程如下

然而關於MCMC采樣有收斂太慢的問題,所以在MCMC的基礎上進行改進,引出M-H采樣算法

α是接受率,M-H算法的具體流程如下

M-H算法在高維時同樣適用

一般來說M-H采樣算法較MCMC算法應用更廣泛,然而在大數據時代,M-H算法面臨着兩個問題:

1)在高維時的計算量很大,由於接受率較低,存在拒絕轉移的問題,算法效率很低,也會加大計算量

2)由於特征維度大,很多時候我們甚至很難求出目標的各特征維度聯合分布,但是可以方便求出各個特征之間的條件概率分布(因此就思考是否能只知道條件概率分布的情況下進行采樣)。

四、Gibbs采樣

Gibbs其實是特殊的MH采樣,它的α恆等於1。下面從特殊到一般進行推演,首先看二維的情形:

   

因此可以得出在二維的情況下Gibbs采樣算法的流程如下

而在多維的情況下,比如一個n維的概率分布π(x1, x2, ...xn),我們可以通過在n個坐標軸上輪換采樣,來得到新的樣本。對於輪換到的任意一個坐標軸xi上的轉移,馬爾科夫鏈的狀態轉移概率為P(xi|x1, x2, ..., xi−1, xi+1, ..., xn),即固定n−1個坐標軸,在某一個坐標軸上移動。而在多維的情況下Gibbs采樣算法的流程如下

由於Gibbs采樣在高維特征時的優勢,目前我們通常意義上的MCMC采樣都是用的Gibbs采樣。當然Gibbs采樣是從M-H采樣的基礎上的進化而來的,同時Gibbs采樣要求數據至少有兩個維度,一維概率分布的采樣是沒法用Gibbs采樣的,這時M-H采樣仍然成立。

有了Gibbs采樣來獲取概率分布的樣本集,再用蒙特卡羅方法來用樣本集模擬求和,他們一起就奠定了MCMC算法在大數據時代高維數據模擬求和時的作用。

四、其它說明

采樣的動機:

  • 采樣本身就是常見的任務;
  • 求和和求積分需要;

什么是好的樣本:

  • 樣本是趨向於高概率區域
  • 樣本之間相互獨立(之間沒有什么相關性,就是要求盡量分散,具有代表性)

簡單采樣方法:拒絕采樣和重要性采樣

MCMC:M-H和Gibbs采樣。

MCMC的問題:

  1. 理論上只保證收斂性,但無法知道何時收斂;
  2. Mixing time(也就是達到穩定分布前的時間)過長--這是由於P(x)復雜,且維度較高
  3. 樣本之間有一定的相似性(因為MCMC是假設獨立)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM