《贝叶斯方法:概率编程与贝叶斯推断》一导读
前 言
貝葉斯方法:概率編程與貝葉斯推斷
貝葉斯方法是一種常用的推斷方法,然而對讀者來說它通常隱藏在乏味的數學分析章節背后。關于貝葉斯推斷的書通常包含兩到三章關于概率論的內容,然后才會闡述什么是貝葉斯推斷。不幸的是,由于大多數貝葉斯模型在數學上難以處理,這些書只會為讀者展示簡單、人造的例子。這會導致貝葉斯推斷給讀者留下“那又如何?”的印象。實際上,這曾是我自己的先驗觀點。
最近貝葉斯方法在一些機器學習競賽上取得了成功,讓我決定再次研究這一主題。然而即便以我的數學功底,我也花了整整3天時間來閱讀范例,并試圖將它們匯總起來以便理解這一方法。那時并沒有足夠的文獻將理論和實際結合起來。而讓我產生理解偏差的正是由于沒能將貝葉斯數學理論和概率編程實踐結合起來。當然,如今讀者已經無需再遭遇我當時的情景。本書就是為了填補這一空缺而編寫的。
如果我們最終是要進行貝葉斯推斷,那么一方面我們可以采用數學分析來實現這一目的,而另一方面,隨著計算成本的下降,我們已經可以通過概率編程來完成這一任務。后一種方法更加有用,因為它避免了在每一步介入數學干預,而這也使得進行貝葉斯推斷不再以通常很棘手的數學分析為前提。簡而言之,后一種計算途徑,是從問題起點經過小幅中間步驟到達問題終點,而前一種途徑則大幅躍進,并通常最后遠離目標。此外,如果沒有深厚的數學功底,也根本無法完成前一種途徑所需要的數學分析。
本書首先從計算和理解的角度,而后從數學分析的角度對貝葉斯推斷進行了介紹。當然,作為一本入門書籍,本書將停留在入門階段。對于受過數學訓練的人來說,本書產生的疑問可通過其他偏重數學分析的書來解答。對于缺少數學背景的愛好者,或是僅對貝葉斯方法的實踐而非數學理論感興趣的讀者來說,本書足以勝任且蘊含趣味。
選擇PyMC作為概率編程語言有兩方面原因。首先,在寫本書之時,并沒有集中的關于PyMC的說明和實例等資料。官方文檔面向具有貝葉斯推斷和概率編程背景知識的人。而我們希望本書可以鼓勵各個層次的人了解PyMC。其次,隨著近來用Python實現科學計算框架的流行及其核心進展,PyMC可能很快會成為核心組件之一。
PyMC的運行需要一些依賴庫,包括NumPy以及可選的SciPy。為了不產生限制,本書的實例只依賴PyMC、NumPy、SciPy和Matplotlib。
本書內容安排如下。第1章介紹貝葉斯推斷方法以及與其他推斷方法的比較。我們會看到第一個貝葉斯模型,并對其進行建立和訓練。第2章以實例為重點,講述如何用PyMC構建模型。第3章介紹計算推斷背后的一個強大算法——馬爾科夫鏈蒙特卡洛,以及一些貝葉斯模型的調試技術。在第4章里,我們再次回到推斷的樣本量問題上,并解釋為何樣本量大小如此重要。第5章介紹強大的損失函數,它將在真實世界的問題與數學推斷之間建立連接。我們將在第6章回顧貝葉斯先驗,并通過啟發式的方法找到先驗的更優解。最后,我們在第7章探索如何將貝葉斯推斷用于A/B測試。
目 錄
第1章 貝葉斯推斷的哲學
1.1 引言
1.2 我們的貝葉斯框架
1.3 概率分布
1.4 使用計算機執行貝葉斯推斷
1.5 結論
1.6 補充說明
1.7 習題
1.8 答案
第2章 進一步了解PyMC
第3章 打開MCMC的黑盒子
第4章 從未言明的最偉大定理
第5章 失去一只手臂還是一條腿
第6章 弄清楚先驗
第7章 貝葉斯A/B測試
術語表
總結
以上是生活随笔為你收集整理的《贝叶斯方法:概率编程与贝叶斯推断》一导读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据挖掘与数据化运营实战. 3.8 用户
- 下一篇: 《移动优先与响应式Web设计》一1.2