簡潔清晰解釋馬爾可夫鏈蒙特卡洛方法

2020-12-05 AI火箭營

有三種解釋MCMC的方法:

初級:MCMC允許我們利用計算機進行貝葉斯統計。 中級:MCMC是一種可以找到我們感興趣的參數的後驗分布的方法。具體來說,這種類型的算法以依賴Markov屬性的方式生成蒙特卡羅模擬,然後以一定的速率接受這些模擬以獲得後驗分布。 高級:完整的統計思想。本文,讓你達到中級水平。

讓我們從初級水平開始。

什麼是MCMC?要回答這個問題,我們首先需要重新審視貝葉斯統計。貝葉斯統計建立在這樣一種觀點的基礎上,即事物發生的概率受先驗概率假設和事件發生的可能性的影響,如數據所示。對於貝葉斯統計,概率由分布表示

如果先驗和似然概率分布是正態分布的,我們能夠用函數描述後驗分布。這稱為封閉形式的解決方案。這種類型的貝葉斯如下所示。正如您所看到的,後驗分布由先驗分布和可能分布兩者組成,最終在中間某處。

但是當概率不是那麼漂亮時呢?當概率看起來更像這樣時會發生什麼?

在這種情況下,可能性沒有正態分布,因此我們最終得到了右傾的後驗分布。由於我們無法用公式表達,我們必須使用馬爾可夫鏈蒙特卡羅。

馬爾可夫鏈蒙特卡羅的三個部分

第一:蒙特卡洛

蒙特卡羅模擬通過生成隨機數來模擬複雜系統。

在下面動圖中,蒙特卡羅生成一個參數為(0-1,0-1)的隨機點,通過識別最終在曲線 下面的點數我們能夠近似於該區域,形成一個整圓並獲得π。

第二:馬爾可夫鏈

馬爾可夫鏈本質上是變量如何圍繞圖形"走動",或隨機變量隨時間從一種狀態變為另一種狀態的表示。

上圖是馬爾可夫情緒狀態鏈的表示。在這個鏈條中,如果你是開朗的,你有20%的機率將情緒狀態改變到馬馬虎虎,20%的機率你會變得悲傷,60%的機率你會保持開朗。

馬爾可夫的不追溯當前之前

F(Xt + 1 | Xt)= f(Xt + 1 | Xt,Xt-1,Xt-2,...,X1)

用英語:如果我現在知道發生了什麼,知道發生什麼事情讓我們走到這一步或之前的步驟等等,並不能為我提供更多的信息。

舉一個類似這樣的例子:

孟德爾遺傳學。在下面的示例中,子bean的顏色完全受父bean的bean顏色的影響。第一代豆的顏色受到之前一代顏色的影響,但在確定第二代顏色時不需要考慮。

棋盤遊戲:當玩Monopoly並試圖確定玩家進入某個空間的概率時,您需要的唯一信息是當前玩家的位置。之前轉牌圈的位置並不會影響下一個位置,除非它確定了本回合的位置。第三:驗收 - 拒絕抽樣

MCMC的第三部分是驗收拒絕抽樣。當我們對新的觀察結果進行抽樣時,我們會確定它是否在正確的方向,然後決定是保留它還是丟棄它。

兩種常見的接受拒絕算法是Metropolis-Hasting算法和No-U-Turn採樣器。

對Metropolis-Hasting的更加高級的解釋:

假設我們在x點。 我們猜測下一步。我們稱之為x * 然後我們計算x * / x概率的比率。這是使用似然和先驗分布的乘積計算。 如果p(x *)/ p(x)的比率(也稱為接受概率)大於1,則我們接受x *作為新位置。 即使接受概率小於1,我們也不會自動拒絕x *。我們通過從Uniform(0,1)分布中選擇一個隨機數來翻轉硬幣。如果數字小於接受概率,我們接受x *如果它更高,我們拒絕x *並重新開始該過程。總結

我們隨機生成數字:這是蒙特卡羅部分 我們允許我們生成的數字影響下一個生成的數字:這是馬爾可夫鏈 然後我們決定生成的新數字是否"向正確的方向移動":接受拒絕算法 然後我們檢查收斂:我們確定我們的數據何時收斂到合理的分布。收斂點後隨機生成的值成為我們的後驗分布

相關焦點

  • 無需數學知識:快速了解馬爾可夫鏈蒙特卡洛方法
    而在貝葉斯方法家族當中,馬爾可夫鏈蒙特卡洛方法(Markov chain Monte Carlo methods)顯得尤為神秘。雖然其中確實涉及大量數學知識且需要昂貴的計算資源,但與數據科學領域的眾多其它方法一樣,其中的基本推理過程同樣可以通過非常直觀的方式進行歸納。而這正是本文的核心主旨所在。
  • 一份數學小白也能讀懂的「馬爾可夫鏈蒙特卡洛方法」入門指南
    選自Medium 作者:Ben Shaver 機器之心編譯 參與:黃小天、劉曉坤 在眾多經典的貝葉斯方法中,馬爾可夫鏈蒙特卡洛(MCMC)由於包含大量數學知識,且計算量很大,而顯得格外特別。在貝葉斯經典方法中,馬爾可夫鏈蒙特卡洛(Markov chain Monte Carlo/MCMC)尤其神秘,其中數學很多,計算量很大,但其背後原理與數據科學有諸多相似之處,並可闡釋清楚,使得毫無數學基礎的人搞明白 MCMC。這正是本文的目標。那麼,到底什麼是 MCMC 方法?
  • 用Python入門不明覺厲的馬爾可夫鏈蒙特卡羅(附案例代碼)
    由於時間是個連續變量,我們無法知道後驗分布的具體表達式,因此我們轉向能夠近似後驗分布的算法,比如馬爾可夫鏈蒙特卡洛(MCMC)。創建這個模型,我們通過數據和馬爾可夫鏈蒙特卡洛去尋找最優的alpha和beta係數估計。
  • 機器學習之統計採樣方法和馬爾可夫過程(馬爾可夫鏈蒙特卡羅方法)匯總
    蒙特卡洛採樣    在上述的例子中演示了蒙特卡洛發的基本思想,其中的核心思想就是使用隨機數,當所求解的問題可以轉化為某種隨機分布的特徵數(例如隨機事件出現的概率或者隨機變量的期望值等,但是知道CDF(累積分布函數),此時就可以直接使用CDF的反函數(以及分位數函數)的方法進行採樣,此種方法又被稱為逆變換採樣方法(Inverse Transform Sampling)    逆採樣方法概述:假設已經得到了CDF的反函數F^-1(u),如果想得到m個觀察值,則重複下列步驟m次即可:    (1).從最簡單常見易採樣的均勻分布Uniform
  • MCMC、蒙特卡洛近似和Metropolis算法簡介
    所以MCMC的目的就是運用蒙特卡洛模擬出一個馬可鏈(Markov chain)。如今,概率建模風靡一時,但是當我第一次了解它時,總有一件事情困擾我。 許多貝葉斯建模方法都需要計算積分,而我看到的任何工作示例似乎都使用高斯或伯努利分布,原因很簡單如果您嘗試使用比這更複雜的方法,它將成為分析的噩夢。
  • 形象透徹理解馬爾可夫鏈
    讓我們再次強調馬爾可夫鏈在處理隨機動力學時對問題建模的強大作用,被用於各種領域,例如排隊理論,優化電信網絡的性能;統計信息,眾所周知的"馬爾可夫鏈蒙特卡羅";生物學,生物種群進化的建模;計算機科學,隱馬爾可夫模型是資訊理論和語音識別等領域的重要工具。
  • 入門| 貝葉斯線性回歸方法的解釋和優點
    出於這種考慮,最近我努力學習和應用貝葉斯推斷方法,補充學校課程所學的頻率統計方法。貝葉斯線性模型是我最早對應用貝葉斯推斷的關注點之一。在我們學習的過程中,最重要的部分也許就是將一個概念介紹給別人。本文是我介紹貝葉斯線性回歸的一次嘗試。
  • 蒙特卡洛方法到底有什麼用?
    蒙特卡洛方法(Monte Carlo method,也有翻譯成「蒙特卡羅方法」)是以概率和統計的理論、方法為基礎的一種數值計算方法,將所求解的問題同一定的概率模型相聯繫,用計算機實現統計模擬或抽樣,以獲得問題的近似解,故又稱隨機抽樣法或統計試驗法。上述就是蒙特卡洛方法的基本概念,比較抽象,下面結合實際工作中的理解,談一談對蒙特卡洛方法的一些認識。
  • 蒙特卡洛方法在美式期權定價中的應用
    蒙特卡洛方法是以概率和統計理論方法為基礎的一種計算方法,利用隨機數(實際應用中通常為偽隨機數)來產生隨機的基於一定分布假設的數字序列,進而解決各種計算問題。通過對問題的結果分布進行假設和擬合,利用電子計算機實現統計模擬或抽樣,以獲得問題的近似解。為象徵性地表明這一方法的概率統計特徵,故借用賭城蒙特卡洛命名。
  • 一文讀懂:什麼是馬爾可夫鏈?可以做什麼? - 讀芯術
    從理論角度來看,有趣的是,PageRank算法的一個常見解釋依賴於簡單但基本的馬爾可夫鏈數學概念。我們將在本文中看到,馬爾可夫鏈是隨機建模的強大工具,對任何數據科學家都有用。更特別的是,我們將回答一些基本的問題,例如:什麼是馬爾可夫鏈,它們有什麼好的性質,以及可以用它們做什麼?
  • 蒙特卡洛模擬方法
    在本文中您可以學習到以下幾點知識蒙特卡洛定積分算法原理講解(公式篇)python實現算法(代碼篇)蒙特卡洛算法起源       蒙特卡羅方法於20世紀40年代美國在第二次世界大戰中研製原子彈的「曼哈頓計劃」計劃的成員S.M.烏拉姆和J.馮·諾伊曼首先提出。
  • 一文了解AlphaGo中蒙特卡洛方法的由來與發展
    AlphaGo想必大家都相當熟悉了,除了卷積神經網絡技術的應用,蒙特卡洛搜索方法也是起到關鍵性作用的技術手段。接下來就簡單介紹蒙特卡洛方法的由來與發展過程。,主要是為核武器的研發和製作而工作,蒙特卡洛方法以概率統計為理論指導,由於一個簡單的隨機數發生器一輪盤賭,外加烏拉姆的叔叔十分嗜好賭博且經常在蒙特卡洛賭場輸錢,方法便以摩納哥的馳名世界的賭城-蒙特卡洛來命名,蒙特卡洛方法的名稱和系統開發由此開始。
  • 鮮為人知ISO 13849數學基石:馬爾可夫鏈
    馬爾可夫鏈:「時間、狀態都是離散的馬爾可夫過程。」對於我們熟知的安全標準EN ISO 13849-1,馬爾可夫鏈模型是用於評估元件失效概率、系統可靠性、安全有效性的數學理論基礎。用數學的方法表達這樣的狀態分布,就是一個2x2的矩陣,它被稱為轉移概率矩陣:
  • 馬爾可夫鏈告訴你
    馬爾可夫鏈是一個相當常見、相當簡單的對隨機過程進行統計建模的方式。它們被應用在很多領域,從文本生成到金融建模。一個比較流行的例子是 SubredditSimulator,它使用馬爾可夫鏈自動創建整個 subreddit 的內容。
  • 學界| 斯坦福論文:馬爾可夫鏈的生成對抗式學習 - 機器之心Pro
    id=S1L-hCNtl摘要:我們研究了生成對抗的訓練方法來對馬爾可夫鏈(Markov chain)的轉移算子(transition operator)進行學習,目的是將其靜態分布(stationary distribution)和目標數據分布相匹配。我們提出了一種新型的訓練流程,以避免從靜態分布中直接採樣,但是仍然有能力逐漸達到目標分布。
  • 詳解蒙特卡洛方法:這些數學你搞懂了嗎?
    該系列文章現已介紹了賭博機問題、馬爾可夫決策過程和蒙特卡洛方法。本文是對其中蒙特卡洛方法文章的編譯。那麼,我認為你會很樂意了解蒙特卡洛方法。這是一種可近似困難的概率分布的經典方法,可以解決你對動態編程解決方案的所有擔憂!同樣,我們會按照 Richard Sutton 的強化學習教材《Reinforcement Learning: An Introduction》進行講解,並會給出一些該書中沒有的額外解釋和示例。
  • 蒙特卡洛模擬方法及應用案例
    是把概率現象作為研究對象的數值模擬方法。是按抽樣調查法求取統計值來推定未知特性量的計算方法。蒙特卡羅法作為一種計算方法,是由美國數學家烏拉姆與美籍匈牙利數學家馮·諾伊曼在20世紀40年代中葉,為研製核武器的需要而首先提出來的。蒙特卡羅是摩納哥的著名賭城,該法為表明其隨機抽樣的本質而命名,故適用於對離散系統進行計算仿真試驗。
  • 蒙特卡洛梯度估計方法(MCGE)簡述
    其中,對於函數期望類目標問題,最常見的是基於蒙特卡洛採樣的方法。背景知識要了解基於蒙特卡洛採樣的梯度估計方法,首先先了解蒙特卡洛採樣方法和隨機優化方法。MCS 是一種經典的求解積分方法,公式(1)中的問題通常可以用 MCS 近似求解如下:
  • 蒙特卡洛方法-概率密度函數
    簡介為了更加清楚的讓同學們深刻的理解PBR裡面那些公式背後的東西,同學們務必先來擼一遍光線追蹤,畢竟我們這裡舉例的這些蒙特卡洛方法都是光線追蹤第三卷裡
  • 什麼是蒙特卡洛模擬?
    蒙特卡洛方法正是以概率為基礎的方法,因為偶然性和隨機結果是建模技術的核心,就像輪盤賭,骰子和老虎機等遊戲一樣。蒙特卡洛方法(Monte Carlo method),也稱統計模擬方法,是二十世紀40年代中期由於科學技術的發展和電子計算機的發明,而提出的一種以概率統計理論為指導的數值計算方法。其使用隨機數(或更常見的偽隨機數)來解決很多計算問題的方法。