一文讀懂蒙特卡羅方法和應用貝葉斯推理

貝葉斯方法與推論,本文應作為我的教程的背景,該教程使用(Py)Stan進行輕鬆的的應用貝葉斯推理,以及使用r-INLA進行(近似)貝葉斯迴歸的介紹。

在本文中,我將提供有關貝葉斯推理和蒙特卡洛方法的非常簡短,自成體系的介紹,希望可以激發您通過我所包括的一些參考文獻進行更深入的研究。

一文讀懂蒙特卡羅方法和應用貝葉斯推理

Image by imarksm from Pixabay


您可能聽說過貝葉斯推理/迴歸/建模/分析……您可能聽說過,或者您可能只是在通過之前才遇到過它,而沒有真正懷疑它的用途,或沒有任何良好的入門資源。

現實情況是,貝葉斯推論[1]比其頻頻論推論要複雜得多,並且大多數人在學術界或非常專業的工業應用中真正使用過它。 但是,它提供了一個非常豐富的框架,可以在推理過程中欣賞,並最終利用更多信息。 此外,它以一種可笑的方式提升了概率與應用統計之間的聯繫-真正的貝葉斯模型是一個生成模型。

對於本系列文章,我將採用(傳統)基於似然的建模方法。

5分鐘貝葉斯推斷

貝葉斯推理使我們可以將一些先入為主的信念(即先驗的信念)納入我們的建模中。 進行實驗後,我們可以從後驗概率分佈中採樣,以更好地瞭解目標參數的行為,而不必尋找允許我們最大化似然性的參數值(最大似然估計) 。

一文讀懂蒙特卡羅方法和應用貝葉斯推理

The primordial Bayesian identity in the context of model fitting and inference.

簡單來說,我聲明模型參數()的先驗分佈,並將其乘以觀察到的數據的可能性(D)。 為了使該數量充當概率密度函數,我必須將其除以歸一化常數。 然後獲得後驗分佈函數。

請注意,上面的歸一化常數是很棘手的,當我們使用蒙特卡洛從後驗分佈中進行這種推斷時,我們可以消除這一數量而不會失眠。

您可能會問:為什麼這樣做?

更好的科學,更嚴格的推論,正則化,數值穩定性,昂貴的數據獲取,這並不能完全考慮MLE,還有許多其他原因。

您可能會問:什麼是好的先驗?

· 可牽引性? 共軛! 例如,正常先驗x正常似然會產生正常後驗!

· 科學相關性

· 正則化。 在標準線性迴歸的情況下,您的迴歸/ beta服務器上的N(0,1)可以用作L2正則化。

理想情況下,先驗條件應該永遠不要看數據。

您可能會問:那裡有什麼樣的先驗條件?

· 沒有信息的(固定的)先驗。 在大多數情況下,更具體地說,在下面的拋硬幣問題中,原始的無先驗先驗將是均勻的分佈。

· 先驗信息薄弱。 我在下面的拋硬幣問題中聲明的beta優先級信息不足,因為我不拋棄theta參數空間中的間隔或點,而我贊成"公平"。

· 信息先驗(通常基於專家意見或紮實的科學知識。

例如,假設我在地板上找到一枚硬幣,並且想知道它是否公平。 我聲明p = 是在給定的拋硬幣中硬幣將產生"正面"(y = 1)的概率。 那麼q = 1-是硬幣產生"尾巴"(y = 0)的概率。 請注意,可以使用以下函數形式將硬幣的這種行為建模為bernoulli隨機變量:

一文讀懂蒙特卡羅方法和應用貝葉斯推理

假設我拋硬幣四次,並觀察到它總是給我"反面"。如果我採用"最大似然"框架,則我將得到以下ML估計值(樣本比例):

一文讀懂蒙特卡羅方法和應用貝葉斯推理

在我們的情況下,以上結果為0。 但這有點太極端了……具有相等表面積的兩個面意味著硬幣應該有一個非零的概率落在"正面"上(儘管很小)。 我們會立即注意到,如果一側比另一側小得多。

現在,正如貝葉斯主義者所說,我們遇到了同樣的問題。 在自己扔硬幣之前,我們需要對硬幣建立先驗的信念。 根據我的經驗,硬幣通常是公平的,因此我認為這種硬幣很可能是公平的,並且很有可能不是。 然後,我將進行實驗,以瞭解這枚硬幣是否符合我的信念。 哦,我得到了相同的結果{0,0,0,0}。

為了獲得有效(信息量有限)的先驗知識,我將使用帶有a,b個非負整數的beta(a,b)分佈。 該先驗是有道理的,因為伽馬分佈的域是[0,1],並且to在這裡對應於概率,並且不能小於0或大於1。設置a = b = u其中u是一個正整數,得出a 分佈對稱約0.5。 此外,β分佈與伯努利分佈共軛(也與二項分佈共軛,因為二項式隨機變量由伯努利隨機變量之和組成)。

一文讀懂蒙特卡羅方法和應用貝葉斯推理

Simulation of a beta(5,5) distribution

然後,我考慮以下模型:

一文讀懂蒙特卡羅方法和應用貝葉斯推理

這導致:

一文讀懂蒙特卡羅方法和應用貝葉斯推理

在此,C≥0表示歸一化常數,出於本申請的目的,不必對其進行估計。

如果我們在上面的先驗中設置a = b = 5,則Stan [2]-有關如何執行此操作的信息,請參見教程-收益率和mean的近似後均值0.36 <0.5。 因此,我們的估算表明存在偏差的硬幣,沒有立即變為0。

5分鐘蒙特卡洛方法

出於本教程的目的,蒙特卡洛方法[3]將允許我們從模型參數的後驗分佈中進行採樣。

用於估計實值可積函數f(x)的積分(I)(例如0≤x≤1)的最簡單的蒙特卡洛方法表明,我們在[0,1 ],為每個x_ {i}計算f(x}),然後求和並求平均值。 我們要求I

一文讀懂蒙特卡羅方法和應用貝葉斯推理

As K goes to infinity, this vanilla Monte Carlo estimate should converge to the value of the integra


上面的內容很容易,但是通過觀察以下內容,我們實際上可以使用更多的統計知識:

一文讀懂蒙特卡羅方法和應用貝葉斯推理

We can think of the integral I as the expected value of f(x) and the below quantity as its unbiased

我們的估計量只是一個近似值,因此我們應該量化其準確性:

一文讀懂蒙特卡羅方法和應用貝葉斯推理

Here we simply change the notation a bit and show the formula for the standard error

那麼,現在我們有了均值的無偏估計和標準誤差的估計,該怎麼辦? 讓我們調用中心極限定理,這對於足夠大的K是合理的。

一文讀懂蒙特卡羅方法和應用貝葉斯推理

使用上述方法,我們可以為積分的估計量建立95%的置信區間:

一文讀懂蒙特卡羅方法和應用貝葉斯推理

上面的方法非常幼稚且不準確,尤其是隨著目標(概率)在維數,多峰等方面的增長。然而,這為您提供了MC方法的要點:從分佈中採樣以近似於另一個分佈或感興趣的數量。

請注意,蒙特卡洛方法是一個非常活躍的研究領域,具有非常豐富的理論和應用程序,我鼓勵您閱讀有關它們的更多信息。 蒙特卡洛計算引擎(PyMC3,Stan,BUGS等)上也有幾個包,可以輕鬆地集成到Python,R和其他現代統計/機器學習軟件中。

以下是一些非常基本的入門方法:

· 重要抽樣

· 拒絕採樣

· Metropolis-Hastings算法(馬爾可夫鏈蒙特卡洛)

· 獎勵:模擬退火(優化)

LaTeX和數學交流

最後一件事。 如果您對開發簡潔,準確地傳達數學/統計思想的能力很認真,那麼我鼓勵您開始使用LaTeX [5]。 LaTeX是功能強大的排版系統,可讓您編寫漂亮的方程式並將其無縫呈現在文檔中。 我在本文檔和所有工作中的所有數學表達式中都使用LaTeX。

結論

貝葉斯推理和計算最近憑藉出色的計算硬件和軟件獲得了輝煌的復興。 此外,貝葉斯方法跨越了活躍的研究領域,涉及統計學,數學,計算機科學,人口統計學,經濟學以及許多其他領域。

以下是現代ML和統計學研究中的一些最熱門主題,這些主題依賴或大量使用貝葉斯推理框架:

· 因果推論

· 可解釋性(DL和RL)

· 貝葉斯超參數優化(AlphaGo)

· 多任務學習

· RL中的探索與開發

· 高效,計算穩定的MCMC(HMC)

參考文獻

[1] R. Neal,關於ML的貝葉斯推理教程(2004),2004 NeurIPS。

[2] B. Carpenter等人,《斯坦:一種概率編程語言》(2017年),《統計軟件》。

[3] C. Robert和G. Casella,《蒙特卡洛統計方法》(2005年),《 Springer Texts in Statistics》。

[4] D. Wackerley等人,《數學統計及其應用》(2014年),參與學習

[5] LaTeX3項目,LaTeX-文件準備系統(1985年),LaTeX項目公共許可證(

(本文翻譯自Sergio E. Betancourt的文章《15-Minute Conceptual and Painless Introduction to Monte Carlo Methods and Applied Bayesian Inference》,參考:https://towardsdatascience.com/conceptual-background-for-painless-introduction-to-applied-bayesian-regression-using-pystan-c8f744e3823f)


分享到:


相關文章: