·国际杰出机器学习专家、地平线机器人技术创始人和CEO、前百度研究院执行院长余凯博士,腾讯专家研究员岳亚丁博士推荐、审校
·内容涉及Python语言库PyMC,以及相关的工具,包括NumPy\SciPy\Matplotlib,无需复杂的数学分析,通过实例、从编程的角度介绍贝叶斯分析方法,大多数程序员都可以入门并掌握。
本书的内容特色:
·学习贝叶斯思维方式
·理解计算机如何进行贝叶斯推断
·利用PyMC Python库进行编程来实现贝叶斯分析
·利用PyMC建模以及调试
·测试模型的拟合优度
·打开马尔科夫链蒙特卡洛算法的黑盒子,看看它如何工作
·利用大数定律的力量
·掌握聚类、收敛、自相关、细化等关键概念
·根据目标和预期的结果,利用损失函数来推断缺陷
·选择合理的先验,并理解其如何随着样本量的大小而变化
·克服“研发与开发”的困境:判断是否已经足够好了
·利用贝叶斯推断改良A/B测试
·在可用数据量小的情况下,解决数据科学的问题
本书基于PyMC语言以及一系列常用的Python数据分析框架,如NumPy、SciPy和Matplotlib,通过概率编程的方式,讲解了贝叶斯推断的原理和实现方法。该方法常常可以在避免引入大量数学分析的前提下,有效地解决问题。书中使用的案例往往是工作中遇到的实际问题,有趣并且实用。作者的阐述也尽量避免冗长的数学分析,而让读者可以动手解决一个个的具体问题。通过对本书的学习,读者可以对贝叶斯思维、概率编程有较为深入的了解,为将来从事机器学习、数据分析相关的工作打下基础。本书适用于机器学习、贝叶斯推断、概率编程等相关领域的从业者和爱好者,也适合普通开发人员了解贝叶斯统计而使用。
第1章 贝叶斯推断的哲学 1
1.1 引言 1
1.1.1 贝叶斯思维 1
1.1.2 贝叶斯推断在实践中的运用 3
1.1.3 频率派的模型是错误的吗? 4
1.1.4 关于大数据 4
1.2 我们的贝叶斯框架 5
1.2.1 不得不讲的实例:抛硬币 5
1.2.2 实例:图书管理员还是农民 6
1.3 概率分布 8
1.3.1 离散情况 9
1.3.2 连续情况 10
1.3.3 什么是 12
1.4 使用计算机执行贝叶斯推断 12
1.4.1 实例:从短信数据推断行为 12
1.4.2 介绍我们的第一板斧:PyMC 14
1.4.3 说明 18
1.4.4 后验样本到底有什么用? 18
1.5 结论 20
1.6 补充说明 20
1.6.1 从统计学上确定两个l值是否真的不一样 20
1.6.2 扩充至两个转折点 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 实例:挑战者号事故 52
2.2.11 正态分布 55
2.2.12 挑战者号事故当天发生了什么? 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算法的实现 78
3.1.3 后验的其他近似解法 79
3.1.4 实例:使用混合模型进行无监督聚类 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 统计计算的无名定理 99
3.4 结论 99
第4章 从未言明的最伟大定理 101
4.1 引言 101
4.2 大数定律 101
4.2.1 直觉 101
4.2.2 实例:泊松随机变量的收敛 102
4.2.3 如何计算Var(Z) 106
4.2.4 期望和概率 106
4.2.5 所有这些与贝叶斯统计有什么关系呢 107
4.3 小数据的无序性 107
4.3.1 实例:地理数据聚合 107
4.3.2 实例:Kaggle的美国人口普查反馈比例预测比赛 109
4.3.3 实例:如何对Reddit网站上的评论进行排序 111
4.3.4 排序! 115
4.3.5 但是这样做的实时性太差了 117
4.3.6 推广到评星系统 122
4.4 结论 122
4.5 补充说明 122
4.6 习题 123
4.7 答案 124
第5章 失去一只手臂还是一条腿 127
5.1 引言 127
5.2 损失函数 127
5.2.1 现实世界中的损失函数 129
5.2.2 实例:优化“价格竞猜”游戏的展品出价 130
5.3 机器学习中的贝叶斯方法 138
5.3.1 实例:金融预测 139
5.3.2 实例:Kaggle观测暗世界 大赛 144
5.3.3 数据 145
5.3.4 先验 146
5.3.5 训练和PyMC实现 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 经验贝叶斯 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 从领域专家处获得先验分布 176
6.5.1 试验轮盘赌法 176
6.5.2 实例:股票收益 177
6.5.3 对于威沙特分布的专业提示 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 转化率测试的简单重述 195
7.3 增加一个线性损失函数 198
7.3.1 收入期望的分析 198
7.3.2 延伸到A/B测试 202
7.4 超越转化率:t检验 204
7.4.1 t检验的设定 204
7.5 增幅的估计 207
7.5.1 创建点估计 210
7.6 结论 211
术语表 213