本書基于PyMC語言以及一系列常用的Python數(shù)據(jù)分析框架,如NumPy、SciPy和Matplotlib,通過概率編程的方式,講解了貝葉斯推斷的原理和實現(xiàn)方法。該方法常常可以在避免引入大量數(shù)學分析的前提下,有效地解決問題。書中使用的案例往往是工作中遇到的實際問題,有趣并且實用。作者的闡述也盡量避免冗長的數(shù)學分析,而讓讀者可以動手解決一個個的具體問題。通過對本書的學習,讀者可以對貝葉斯思維、概率編程有較為深入的了解,為將來從事機器學習、數(shù)據(jù)分析相關的工作打下基礎。本書適用于機器學習、貝葉斯推斷、概率編程等相關領域的從業(yè)者和愛好者,也適合普通開發(fā)人員了解貝葉斯統(tǒng)計而使用。
Cameron Davidson-Pilon,接觸過數(shù)學在多個領域的應用——從基因和疾病的動態(tài)演化,到金融價格的隨機模型。他對于開源社區(qū)主要的貢獻包括這本書以及l(fā)ifelines項目。Cameron成長于加拿大的安大略省圭爾夫市,而就讀于滑鐵盧大學以及莫斯科獨立大學。如今他住在安大略省渥太華市,并在電商領軍者Shopify工作。
辛愿,浙江大學碩士畢業(yè),騰訊公司基礎研究高級工程師,輿情系統(tǒng)開發(fā)經(jīng)理。曾在百度從事推薦系統(tǒng)、用戶畫像、數(shù)據(jù)采集等相關研究工作,擁有多項專利,組織過上海大數(shù)據(jù)技術沙龍。目前專注于文本挖掘、輿情分析、智能聊天機器人等相關領域。
鐘黎,騰訊公司研究員。曾在中國科學院、微軟亞洲研究院、IBM研究院(新加坡)從事圖像處理、語音處理、機器學習等相關研究工作,擁有多項專利,目前聚焦在自然語言處理、深度學習和人工智能等相關領域。
歐陽婷,華南理工大學碩士畢業(yè),騰訊公司后臺策略工程師。在電信、互聯(lián)網(wǎng)行業(yè)參與過推薦系統(tǒng)、資源優(yōu)化、KPI預測、用戶畫像等相關項目,擁有多項專利,目前聚焦在欺詐檢測、時序分析、業(yè)務安全等相關領域。
余凱博士,地平線機器人技術創(chuàng)始人、CEO,國際杰出機器學習專家,中組部國家“千人計劃”專家,中國人工智能學會副秘書長。余博士是前百度研究院執(zhí)行院長,創(chuàng)建了百度深度學習研究院。他在百度所領導的團隊在廣告變現(xiàn)、搜索排序、語音識別、計算機視覺等領域做出杰出貢獻,創(chuàng)紀錄地連續(xù)三次獲得公司高榮譽——“百度獎”。他還創(chuàng)建了中國公司自動駕駛項目,后發(fā)展為百度自動駕駛事業(yè)部。
岳亞丁博士,騰訊公司專家研究員,騰訊技術職級評委會基礎研究崗位的負責委員。岳博士擁有19年在金融、電信、互聯(lián)網(wǎng)行業(yè)的數(shù)據(jù)挖掘經(jīng)驗,主導或參與過用戶畫像、在線廣告、推薦系統(tǒng)、CRM、欺詐檢測、KPI預測等多種項目。他曾在微軟(加拿大)從事行為定向廣告的模型研發(fā),另有11年的工程結構、海洋水文氣象的力學研究及應用的工作經(jīng)歷。
第1章 貝葉斯推斷的哲學 1
1.1 引言 1
1.1.1 貝葉斯思維 1
1.1.2 貝葉斯推斷在實踐中的運用 3
1.1.3 頻率派的模型是錯誤的嗎? 4
1.1.4 關于大數(shù)據(jù) 4
1.2 我們的貝葉斯框架 5
1.2.1 不得不講的實例:拋硬幣 5
1.2.2 實例:圖書管理員還是農(nóng)民 6
1.3 概率分布 8
1.3.1 離散情況 9
1.3.2 連續(xù)情況 10
1.3.3 什么是 12
1.4 使用計算機執(zhí)行貝葉斯推斷 12
1.4.1 實例:從短信數(shù)據(jù)推斷行為 12
1.4.2 介紹我們的第一板斧:PyMC 14
1.4.3 說明 18
1.4.4 后驗樣本到底有什么用? 18
1.5 結論 20
1.6 補充說明 20
1.6.1 從統(tǒng)計學上確定兩個l值是否真的不一樣 20
1.6.2 擴充至兩個轉(zhuǎn)折點 22
1.7 習題 24
1.8 答案 24
第2章 進一步了解PyMC 27
2.1 引言 27
2.1.1 父變量與子變量的關系 27
2.1.2 PyMC變量 28
2.1.3 在模型中加入觀測值 31
2.1.4 最后…… 33
2.2 建模方法 33
2.2.1 同樣的故事,不同的結局 35
2.2.2 實例:貝葉斯A/B測試 38
2.2.3 一個簡單的場景 38
2.2.4 A和B一起 41
2.2.5 實例:一種人類謊言的算法 45
2.2.6 二項分布 45
2.2.7 實例:學生作弊 46
2.2.8 另一種PyMC模型 50
2.2.9 更多的PyMC技巧 51
2.2.10 實例:挑戰(zhàn)者號事故 52
2.2.11 正態(tài)分布 55
2.2.12 挑戰(zhàn)者號事故當天發(fā)生了什么? 61
2.3 我們的模型適用嗎? 61
2.4 結論 68
2.5 補充說明 68
2.6 習題 69
2.7 答案 69
第3章 打開MCMC的黑盒子 71
3.1 貝葉斯景象圖 71
3.1.1 使用MCMC來探索景象圖 77
3.1.2 MCMC算法的實現(xiàn) 78
3.1.3 后驗的其他近似解法 79
3.1.4 實例:使用混合模型進行無監(jiān)督聚類 79
3.1.5 不要混淆不同的后驗樣本 88
3.1.6 使用MAP來改進收斂性 91
3.2 收斂的判斷 92
3.2.1 自相關 92
3.2.2 稀釋 95
3.2.3 pymc.Matplot.plot() 97
3.3 MCMC的一些秘訣 98
3.3.1 聰明的初始值 98
3.3.2 先驗 99
3.3.3 統(tǒng)計計算的無名定理 99
3.4 結論 99
第4章 從未言明的最偉大定理 101
4.1 引言 101
4.2 大數(shù)定律 101
4.2.1 直覺 101
4.2.2 實例:泊松隨機變量的收斂 102
4.2.3 如何計算Var(Z) 106
4.2.4 期望和概率 106
4.2.5 所有這些與貝葉斯統(tǒng)計有什么關系呢 107
4.3 小數(shù)據(jù)的無序性 107
4.3.1 實例:地理數(shù)據(jù)聚合 107
4.3.2 實例:Kaggle的美國人口普查反饋比例預測比賽 109
4.3.3 實例:如何對Reddit網(wǎng)站上的評論進行排序 111
4.3.4 排序! 115
4.3.5 但是這樣做的實時性太差了 117
4.3.6 推廣到評星系統(tǒng) 122
4.4 結論 122
4.5 補充說明 122
4.6 習題 123
4.7 答案 124
第5章 失去一只手臂還是一條腿 127
5.1 引言 127
5.2 損失函數(shù) 127
5.2.1 現(xiàn)實世界中的損失函數(shù) 129
5.2.2 實例:優(yōu)化“價格競猜”游戲的展品出價 130
5.3 機器學習中的貝葉斯方法 138
5.3.1 實例:金融預測 139
5.3.2 實例:Kaggle觀測暗世界 大賽 144
5.3.3 數(shù)據(jù) 145
5.3.4 先驗 146
5.3.5 訓練和PyMC實現(xiàn) 147
5.4 結論 156
第6章 弄清楚先驗 157
6.1 引言 157
6.2 主觀與客觀先驗 157
6.2.1 客觀先驗 157
6.2.2 主觀先驗 158
6.2.3 決策,決策…… 159
6.2.4 經(jīng)驗貝葉斯 160
6.3 需要知道的有用的先驗 161
6.3.1 Gamma分布 161
6.3.2 威沙特分布 162
6.3.3 Beta分布 163
6.4 實例:貝葉斯多臂老虎機 164
6.4.1 應用 165
6.4.2 一個解決方案 165
6.4.3 好壞衡量標準 169
6.4.4 擴展算法 173
6.5 從領域?qū)<姨帿@得先驗分布 176
6.5.1 試驗輪盤賭法 176
6.5.2 實例:股票收益 177
6.5.3 對于威沙特分布的專業(yè)提示 184
6.6 共軛先驗 185
6.7 杰弗里斯先驗 185
6.8 當N增加時對先驗的影響 187
6.9 結論 189
6.10 補充說明 190
6.10.1 帶懲罰的線性回歸的貝葉斯視角 190
6.10.2 選擇退化的先驗 192
第7章 貝葉斯A/B測試 195
7.1 引言 195
7.2 轉(zhuǎn)化率測試的簡單重述 195
7.3 增加一個線性損失函數(shù) 198
7.3.1 收入期望的分析 198
7.3.2 延伸到A/B測試 202
7.4 超越轉(zhuǎn)化率:t檢驗 204
7.4.1 t檢驗的設定 204
7.5 增幅的估計 207
7.5.1 創(chuàng)建點估計 210
7.6 結論 211
術語表 213