小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

無需數(shù)學知識:快速了解馬爾可夫鏈蒙特卡洛方法

 科技行者 2020-10-12

科技行者報道

來源:towardsdatascience.com

編譯:科技行者

對于大多數(shù)朋友而言,貝葉斯(Bayesian)統(tǒng)計就像是一種魔法甚至是巫術,當然也有人將其視為一種完全主觀的廢話。而在貝葉斯方法家族當中,馬爾可夫鏈蒙特卡洛方法(Markov chain Monte Carlo methods)顯得尤為神秘。雖然其中確實涉及大量數(shù)學知識且需要昂貴的計算資源,但與數(shù)據(jù)科學領域的眾多其它方法一樣,其中的基本推理過程同樣可以通過非常直觀的方式進行歸納。而這正是本文的核心主旨所在。

那么,馬爾可夫鏈蒙特卡洛方法(Markov chain Monte Carlo,簡稱MCMC)究竟是什么?簡而言之:

MCMC.方法用于通過在概率空間中進行隨機采樣以近似地得出某一感興趣參數(shù)的后驗分布。

在本文當中,我將對這句簡單的答案進行深入分析——而且不用擔心,不涉及任何數(shù)學知識。

首先需要講解一些術語。其中提到的感興趣參數(shù)為用于總結我們所關注的某些現(xiàn)象的相關數(shù)字。一般來說,我們會利用統(tǒng)計方法估計此類參數(shù)。舉例來說,如果我們希望了解成年人的身高水平,那么感興趣參數(shù)很可能是以英寸為單位的平均身高數(shù)字。分布代表的則是該參數(shù)每個可能值的數(shù)學表達以及我們觀察到各個數(shù)值的具體概率。其中最著名的當數(shù)貝爾(鐘形)曲線:

在貝葉斯統(tǒng)計方法當中,分布概念還擁有另一項額外解釋。貝葉斯不僅僅代表參數(shù)的數(shù)值,同時亦用于表現(xiàn)每項參數(shù)的真實值大小——更具體地講,貝葉斯可以被理解為我們對于某一參數(shù)的確定度。因此,以上貝爾曲線表明我們能夠基本確定參數(shù)的實際值非常接近于零,但我們認為其真實值高于或者低于此值的可能是相等的。

事實上,人體身高確實遵循一條正常曲線,因此假設我們認定人體平均身高的真實值遵循以下貝爾曲線:

很明顯,以上圖表所示的結果只可能來源于“巨人族群”——因為可以看到,大多數(shù)平均成年人身高為6英尺2英寸(不過其對結果并不是非常確定)。

下面讓我們假想這位統(tǒng)計者收集到一批新的數(shù)據(jù),其中出現(xiàn)了一部分身高在5英尺到6英尺之間的成年人。我們可以使用以下數(shù)據(jù)表達這種情況,由此得出的正常曲線能夠對這一平均身高數(shù)據(jù)作出最佳解釋:

在貝葉斯統(tǒng)計當中,對于參數(shù)的確定度分布被稱為先驗分布,因為其會在獲取任何實際數(shù)據(jù)之前首先捕捉到我們的確定度水平。似然分布則總結了觀測數(shù)據(jù)所提供的結論,即通過將參數(shù)值范圍同單項參數(shù)相結合以解釋我們當前所觀察數(shù)據(jù)的概率。對似然分布的參數(shù)值進行最大化估計,能夠回答這樣一個問題:哪些參數(shù)值決定了我們觀察到當前數(shù)據(jù)的概率。如果缺少這種先驗概率,我們將無法進一步作出分析。

不過貝葉斯分析的核心,在于將先驗分布與似然分布相結合以確定后驗分布。配合先驗概率,后驗分布能夠告訴我們哪些參數(shù)值能夠最大程度提升我們觀察到特定數(shù)據(jù)的概率。在我們的示例中,得出的后驗分布結果如下所示:

如上圖所示,紅色曲線表示后驗分布。大家可以將其視為一種先驗與可能性的分布平均值。由于先驗分布較短且更為分散,因此其代表著一種關于平均人體身高真實值的“不太確定”的預判。與此同時,概率會在相對較窄的范圍內進行數(shù)據(jù)匯總,因此其代表著對真實參數(shù)值的“更加確定”的猜測。

當先驗概率被合并進來后,該數(shù)據(jù)(表達為概率)成為假設個體在巨人族群內成長這一弱先驗分布結論的主體。盡管統(tǒng)計者仍然認為人類的平均身高比其實際獲得的數(shù)據(jù)略高一些,但其仍更相信實際數(shù)據(jù)所表達出的結果。

在擁有兩條貝爾曲線的情況下,我們能夠輕松解出后驗分布——使用一條簡單的方程式即可輕松將二者結合起來。但如果我們的先驗分布與概率分布結果不夠理想,又該如何?有時候,利用形狀不規(guī)律的分布進行數(shù)據(jù)或者先驗概率建模能夠帶來更準確的結果。如果我們的概率結果需要使用一項包含兩個峰值的分布才能確切表達,而且出于某種原因我們需要解釋一些非常古怪的先驗分布結論,又該如何處理?下面,我以手工方式繪制了一條粗糙的先驗分布曲線:

如前所述,存在某些后驗分布能夠給出每項參數(shù)值的具體概率。但單純從圖形上來看,我們很難理解其具體表達的含義,而且這種情況無法通過分析進行解決。這時,我們就需要使用MCMC方法。

MCMC方法允許我們對后驗分布的形狀進行估計,從而解決這類無法直接計算的問題。這里再次強調,MCMC的全稱即為馬爾可夫鏈蒙特卡洛方法。為了理解其工作原理,我將首先介紹蒙特卡洛模擬,而后再討論馬爾可夫鏈概念。

所謂蒙特卡洛模擬(Monte Carlo simulations),是指一種通過重復生成隨機數(shù)來估計固定參數(shù)的方法。通過生成隨機數(shù)并對其進行一些計算,蒙特卡洛模擬能夠為某一無法直接計算(或者直接計算成本過于高昂)的參數(shù)提供近似值。

假設我們需要估算下圖中圓圈的面積:

由于圓形處于邊長為10英寸的正方形之內,因此可以輕松計算出其面積為78.5平方英寸。不過在這里我們不使用簡單的面積公式,而是在正方形內隨機抽取20個點,而后計算處于圓內的點的比例,并乘以正方形的面積。由此得出的數(shù)字即為相當趨近于圓形面積的近似值。

由于20個點中有15個處于圓形之內,因此圓形的大概面積為75平方英寸。雖然結果仍有誤差,但考慮到僅使用了20個隨機點,可以看到蒙特卡洛模擬的效果確實值得肯定。

現(xiàn)在,我們設想需要計算蝙蝠俠標志的面積:

對于這樣的形狀,顯然沒有任何現(xiàn)成的面積求取公式可以使用!不過,我們可以在矩形區(qū)域內隨機取點,并利用蒙特卡洛模擬輕松獲得該標志面積的近似值。

蒙特卡洛模擬不僅適用于各種異形面積的求取。事實上,通過生成大量隨機數(shù),其亦可用于模擬其它非常復雜的流程——例如實踐當中的天氣預測或者候選人在選舉中勝出的可能性等。

理解MCMC方法的第二大關鍵在于馬爾可夫鏈。其代表的是事件概率之間相互關聯(lián)的序列。每個事件來自一組結果,而每項結果都由上一組結果配合固定概率確定而來。

馬爾可夫鏈的一大重要特征在于其無記憶屬性:在預測下一個事件時,我們只需要考慮當前狀態(tài),而以往的歷史狀態(tài)皆與此無關。雖然現(xiàn)實世界中很少有運作方式如此規(guī)則的場景,但馬爾可夫鏈仍是我們理解種種現(xiàn)實問題的有力手段。

在十九世紀,貝爾曲線被視為一種常規(guī)性模式(舉例來說,我們已經(jīng)注意到人類身高分布即遵循一條貝爾曲線)。高爾頓釘板則通過在裝有木質隔板的平面上撒下大理石球的方式模擬重復隨機事件的平均值情況,旨在重現(xiàn)大理石球分布的正態(tài)曲線:

俄羅斯數(shù)學家兼神學家帕維爾·涅克拉索夫(Pavel Nekrasov)認為,貝爾曲線以及更為常規(guī)的大數(shù)定律只不過是兒童游戲與瑣碎拼圖中的產(chǎn)物,事實上其中的每個事件都以完全獨立的形式存在。在他看來,現(xiàn)實世界中相互依存的事物——例如人類行為——不會恰好符合數(shù)學模式或者分布。

但作為馬爾可夫鏈的命名來源安德烈-馬爾可夫(AndreyMarkov)則試圖證明非獨立事件也可能符合這種模式。他提出的最為著名的實例就是從一本俄羅斯詩歌作品中提出數(shù)以千計的雙字符對。利用這些字符對,他計算出各個字符的條件概率。具體來講,給定前一字母或者空格,即可判斷接下來的字符為A、T或者空格的概率。利用這些概率,馬爾可夫即可模擬出任意長度的字符序列。這就是一條馬爾可夫鏈。盡管最初的幾個字母在很大程度上取決于起始字符的選擇,但從研究結果表明,從長期角度來看字符分布同樣遵循一種模式。因此,即使是存在相互關聯(lián)的事件,如果其受到固定概率的影響,那么仍然擁有一致的平均值表現(xiàn)。

下面我們舉個距離生活更近的例子。假設您生活在一棟擁有五個房間的房子里,這些房間分別為臥室、衛(wèi)生間、客廳、餐廳與廚房。我們將收集一些數(shù)據(jù),并嘗試判斷在任意時間點身處某一房間時,進入另一特定房間的概率。假設您身在廚房,那么可能有30%的概率繼續(xù)留在廚房中、30%概率進入餐廳、20%概率進入客廳、10%的概率進入衛(wèi)生間,最后10%概率進入臥室。利用這組概率數(shù)據(jù),我們就能夠構建起一條用于預測接下來前往目的地的馬爾可夫鏈(Markov chains)。

但這種方法可能只適用于預測少數(shù)特殊情況——更具體地講,由于我們的預測結論僅基于單一對象在家中的活動,因此結果可能并不足以反映真實情況。舉例來說,如果有人從臥室前往衛(wèi)生間,那么接下來其很可能直接返回臥室而非前往我們預設的起始位置——廚房。正因為如此,馬爾可夫鏈往往并不適用于現(xiàn)實場景。

然而,如果對馬爾可夫鏈進行數(shù)千次迭代,則完全可以立足長期角度預測人物對象的活動趨勢。更重要的是,這一預測將不會受到具體起始房間的影響!更直觀地講,這一點非常重要:某人某個時間點處于家中的具體哪個位置其實并不重要,更重要的是對其長期或者一般性駐留情況進行模擬與描述。因此,只要我們能夠理解控制其具體行為的概率,即可將馬爾可夫鏈由一種在短期內進行隨機變量建模的非合理性方法轉化為計算變量長期趨勢的有效手段。

擁有了上述蒙特卡洛模擬與馬爾可夫鏈相關知識,相信大家將能夠更為直觀地理解以下關于MCMC方法的數(shù)學解釋。

各位應該還記得,我們的目標是估算感興趣參數(shù)的后驗分布,即人均身高:

我本人不是可視化專家,而且作為示例這里使用的數(shù)據(jù)也沒有刻意追求真實性:我的后驗分布示例顯然嚴重高估了人類的平均身高。

我們都知道,后驗分布存在于我們的先驗分布范圍與似然分布范圍之內。但無論如何,我們都無法直接計算出結果。利用MCMC方法,我們將能夠有效從后驗分布中提取樣本,而后計算這批樣本的平均值。

首先,MCMC方法會選擇一個隨機參數(shù)值作為起點。模擬流程會繼續(xù)生成隨機值(即蒙特卡洛模擬),并根據(jù)相關規(guī)則以確定更為準確的參數(shù)值。其中的訣竅在于,對于兩個參數(shù)值,我們可以計算每個值在解釋數(shù)據(jù)時的具體概率,借此計算哪個參數(shù)值更加準確。如果隨機生成的參數(shù)值比上一個參數(shù)值更準確,則將其添加到參數(shù)值鏈當中,并以一定概率(即馬爾可夫鏈方法)確定其改進程度。

為了直觀地作出解釋,我們這里再次強調,某一值的分布高度代表著觀察到該值的概率。因此,我們可以想象自己的參數(shù)值(x軸)將在y軸上呈現(xiàn)出高低概率區(qū)域。對于單一參數(shù),MCMC方法會沿x軸進行隨機采樣:

圖:紅點代表隨機參數(shù)樣本

由于隨機樣本受到固定概率的影響,因此預計其會在一段時間后在感興趣度參數(shù)出現(xiàn)概率最高的區(qū)域發(fā)生收斂:

圖:藍點代表任意時間點之后的隨機樣本,此時預計收斂已經(jīng)開始發(fā)生。請注意:為了易于理解,這里我單純將各點進行垂直堆疊。

在收斂發(fā)生之后,MCMC會從后驗分布內抽取一組樣本點。在這些點周圍繪制直方圖,并借此計算您感興趣的任何統(tǒng)計結果:

由MCMC模擬所生成的樣本集所計算出的統(tǒng)計結果,即為我們對于該真實后驗分布統(tǒng)計結果的最佳猜測。

MCMC方法亦可用于估算多面參數(shù)的后驗分布(例如人的身高與體重)。對于n個參數(shù),其會在n維空間中存在高概率區(qū)域,且其中某些參數(shù)值集合能夠更好地解釋觀察到的數(shù)據(jù)。因此,我認為MCMC方法實際上是在概率空間內進行隨機采樣以求取后驗分布的近似值。

在文章的最后,我想幫助大家再次簡要回顧一下“馬爾可夫鏈蒙特卡洛方法是什么?”

MCMC方法用于通過在概率空間中進行隨機采樣以近似地得出某一感興趣參數(shù)的后驗分布。

希望我作出的上述簡短答案能夠幫助大家理解MCMC方法、為何要使用這種方法及其工作原理。這篇文章的靈感源自我在華盛頓特區(qū)召開的全體會議上參加的數(shù)據(jù)科學沉浸式課程。該項課程的目的是向無技術背景的觀眾解釋馬爾可夫鏈蒙特卡洛方法,而本篇文章的意義也同樣在于此。

    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多