- 可以用於比較復雜的分布的采樣,並且在高維空間中也能使用
- 馬爾可夫蒙特卡洛法
- 蒙特卡洛法:基於采樣的數值型近似求解方法
- 馬爾可夫鏈:用於采樣
- MCMC基本思想
- 針對目標分布,構造一個馬爾可夫鏈,使得該馬爾可夫鏈的平穩分布就是目標分布
- 從任何一個初始狀態出發,沿着馬爾可夫鏈進行轉移
- 最終的狀態轉移序列會收斂到目標分布,得到一系列樣本
- 核心點:構造馬爾可夫鏈、確定狀態轉移序列
Metropolis-Hastings采樣法
對於目標分布\(p(x)\),選擇一個易采樣的參考條件分布\(q(x^*|x)\),並令
\[A(x, x^*) = \mathop{\min} \{1, \frac{p(x^*)q(x|x^*)}{p(x)q(x^*|x)} \} \]
然后根據如下過程進行采樣
- 隨機選一個初始樣本\(x^{(0)}\)
- For t = 1, 2, 3,,,,,,
- 根據參考條件分布\(q(x^{*}|x^{(t-1)})\)抽取一個樣本\(x^{*}\)
- 根據均勻分布\(U(0,1)\)產生隨機數\(u\)
- 若\(u < A(x^{(t-1)}, x^*)\),則令\(x^{(t)} = x^*\),否則令\(x^{(t)} = x^{(t-1)}\)
- 樣本序列\(\{ \dots, x^{(t-1)}, x^{(t)} \}\)最終會收斂到目標分布\(p(x)\)
- \(A\)就是轉移概率,\(x\)之間構成馬爾可夫鏈
吉布斯采樣法
- Metropolis-Hastings算法的特例
- 核心思想:每次只對樣本的一個維度進行采樣和更新
- 對於目標分布\(p(x)\),其中\(x=(x_1, \cdots, x_d)\)是多維向量,按如下過程采樣:
- 隨機選擇初始狀態\(x^{(0)}=(x_1^{(0)}, \cdots, x_d^{(0)})\)
- \(For t = 1, 2, 3, \cdots\):
- 對於前一步產生的樣本\(x^{(t-1)} = (x_1^{(t-1)},\cdots, x_d^{(t-1)})\),依次采樣和更新每個維度的值,即依次隨機抽取分量\(x_1^{(t)} \sim p(x_1|x_2^{(t-1)}, x_3^{(t-1)},\dots,x_d^{(t-1)}),\dots,p(x_d|x_1^{(t)}, x_2^{(t)},\dots,x_{d-1}^{(t)})\)
- 形成新的樣本\(x^{(t)} = (x_1^{(t)}, \cdots, x_d^{(t)})\)
- 每個維度的采樣都是從以其他維度為條件的條件概率中采樣的。該條件分布包含本輪已經采樣的維度或者上輪采樣的維度
- 每個維度的抽樣和更新,可以是隨機順序
特點
- 與拒絕采樣不同,MCMC采樣法每一步都會產生一個新的樣本,只是有時候這個樣本與之前的樣本一樣而已
- “burn-in"處理:截除掉序列中最開始的一部分樣本
得到相互獨立樣本
- MCMC采樣法得到的樣本序列中相鄰樣本不獨立(馬爾可夫鏈)
- 僅僅是采樣的話,不需要樣本之間相互獨立
- 產生獨立同分布的樣本:
- 同時運行多條馬爾可夫鏈
- 同一條馬爾可夫鏈上每隔若干個樣本取一次,近似獨立