马尔可夫链蒙特卡罗法(Markov Chain Monte Carlo,MCMC)
文章目錄
- 1. 蒙特卡羅法
- 2. 馬爾可夫鏈
- 3. 馬爾可夫鏈蒙特卡羅法
- 4. Metropolis-Hastings 算法
- 5. 吉布斯抽樣
蒙特卡羅法(Monte Carlo method),也稱為統計模擬方法(statistical simulation method),是通過從概率模型的隨機抽樣進行近似數值計算的方法
馬爾可夫鏈蒙特卡羅法(Markov Chain Monte Carlo,MCMC),則是以馬爾可夫鏈(Markov chain)為概率模型的蒙特卡羅法
馬爾可夫鏈蒙特卡羅法 構建 一個馬爾可夫鏈,使其平穩分布就是要進行抽樣的分布,首先基于該馬爾可夫鏈進行隨機游走,產生樣本的序列,之后使用該平穩分布的樣本進行近似數值計算
馬爾可夫鏈蒙特卡羅法被應用于概率分布的估計、定積分的近似計算、最優化問題的近似求解等問題,特別是被應用于統計學習中概率模型的學習與推理,是重要的統計學習計算方法
1. 蒙特卡羅法
- 核心思想:隨機抽樣(直接抽樣法、接受-拒絕抽樣法、重要性抽樣法 等)
- 可用于數學期望估計、積分近似計算
- 一般的蒙特卡羅法中的抽樣樣本是獨立的,而馬爾可夫鏈蒙特卡羅法中的抽樣樣本不是獨立的,樣本序列形成馬爾科夫鏈。
2. 馬爾可夫鏈
馬爾可夫性:隨機變量 XtX_tXt? 只依賴于前一個時刻 Xt?1X_{t-1}Xt?1?,不依賴于更早的時刻
齊次性:轉移概率 P(Xt∣Xt?1)P(X_t|X_{t-1})P(Xt?∣Xt?1?) 與 ttt 無關,P(Xt+s∣Xt?1+s)=P(Xt∣Xt+1)P(X_{t+s}|X_{t-1+s}) = P(X_t|X_{t+1})P(Xt+s?∣Xt?1+s?)=P(Xt?∣Xt+1?)
馬爾可夫鏈的狀態分布由初始分布和轉移概率分布決定 π(t)=Ptπ(0)\pi(t) = P^t \pi(0)π(t)=Ptπ(0)
馬爾可夫鏈的平穩分布為 π(π1,π2,...)T\pi(\pi_1,\pi_2,...)^Tπ(π1?,π2?,...)T 的充要條件是:π\piπ 是下列方程組的解
xi=∑jpijxj,i=1,2,...xi≥0,i=1,2,...∑ixi=1x_i = \sum\limits_j p_{ij}x_j, i = 1,2,...\\ x_i \ge 0, i=1,2,...\\ \sum\limits_i x_i = 1xi?=j∑?pij?xj?,i=1,2,...xi?≥0,i=1,2,...i∑?xi?=1
馬爾可夫鏈可能存在唯一平穩分布,無窮多個平穩分布,或不存在平穩分布
性質:
不可約
P(Xt=i∣X0=j)>0P(X_t=i|X_0=j)>0P(Xt?=i∣X0?=j)>0 時刻0從狀態 j 出發,時刻 t 到達狀態 i 的概率大于 0,該鏈不可約
非周期
P(Xt=i∣X0=i)>0P(X_t=i|X_0=i)>0P(Xt?=i∣X0?=i)>0 時刻0從狀態 i 出發,時刻 t 返回狀態的所有時間長度的最大公約數是1,稱該鏈是非周期的
定理:不可約且非周期的有限狀態馬爾可夫鏈,有唯一平穩分布存在
正常返
概率 pijtp_{ij}^tpijt? 為時刻 0 從狀態 j 出發,時刻 t 首次轉移到狀態 i 的概率,若對所有狀態 i, j,都滿足 lim?t→∞pijt>0\lim\limits_{t\rightarrow \infty} p_{ij}^t >0t→∞lim?pijt?>0,稱該鏈是正常返的
定理:不可約、非周期且正常返的馬爾可夫鏈,有唯一平穩分布存在
對任意狀態 i,j,在任意時間 t 滿足:pjiπj=pijπi,i,j=1,2,...p_{ji}\pi_j = p_{ij}\pi_i, i,j=1,2,...pji?πj?=pij?πi?,i,j=1,2,...(細致平衡方程)
如果有可逆的馬爾可夫鏈,那么平穩分布作為初始分布,進行隨機狀態轉移,無論是面向未來還是面向過去,任何一個時刻的狀態分布都是該平穩分布。
定理:滿足細致平衡方程的狀態分布 π\piπ 就是該馬爾可夫鏈的平穩分布
可逆馬爾可夫鏈一定有唯一平穩分布,給出了一個馬爾可夫鏈有平穩分布的充分條件(不是必要條件)
3. 馬爾可夫鏈蒙特卡羅法
常用的馬爾可夫鏈蒙特卡羅法 有Metropolis-Hastings算法、吉布斯抽樣。
馬爾可夫鏈蒙特卡羅法的收斂性的判斷通常是經驗性的
- 比如,在馬爾可夫鏈上進行隨機游走,檢驗遍歷均值是否收斂
- 再比如,在馬爾可夫鏈上并行進行多個隨機游走,比較各個隨機游走的遍歷均值是否接近一致
4. Metropolis-Hastings 算法
5. 吉布斯抽樣
總結
以上是生活随笔為你收集整理的马尔可夫链蒙特卡罗法(Markov Chain Monte Carlo,MCMC)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 717. 1比特与2比
- 下一篇: LeetCode 1123. 最深叶节点