具体描述
贝叶斯推理的方法非常自然和极其强大。然而,大多数图书讨论贝叶斯推理,依赖于非常复杂的数学分析和人工的例子,使没有强大数学背景的人无法接触。不过,现在好了,卡梅伦的这本书从编程、计算的角度来介绍贝叶斯推理,把贝叶斯理论和编程实践结合起来,使大多数程序员都可以入门并掌握。
本书通过强大的Python语言库PyMC,以及相关的Python工具,包括NumPySciPyMatplotlib讲解了概率编程。通过本书介绍的方法,读者只需付出很少的努力,就能掌握有效的贝叶斯分析方法。
作者简介
作者
Cameron Davidson-Pilon,接触过数学在多个领域的应用——从基因和疾病的动态演化,到金融价格的随机模型。他对于开源社区主要的贡献包括这本书以及lifelines项目。Cameron成长于加拿大的安大略省圭尔夫市,而就读于滑铁卢大学以及莫斯科独立大 学。如今他住在安大略省渥太华市,并在电商领军者Shopify工作。
译者
辛愿,浙江大学硕士毕业,腾讯公司基础研究高级工程师,舆情系统开发经理。曾在百度从事推荐系统、用户画像、数据采集等相关研究工作,拥有多项专利,组织过上海大数据技术沙龙。目前专注于文本挖掘、舆情分析、智能聊天机器人等相关领域。
钟黎,腾讯公司研究员。曾在中国科学院、微软亚洲研究院、IBM研究院(新加坡)从事图像处理、语音处理、机器学习等相关研究工作,拥有多项专利,目前聚焦在自然语言处理、深度学习和人工智能等相关领域。
欧阳婷,华南理工大学硕士毕业,腾讯公司后台策略工程师。在电信、互联网行业参与过推荐系统、资源优化、KPI预测、用户画像等相关项目,拥有多项专利,目前聚焦在欺诈检测、时序分析、业务安全等相关领域。
审校者
余凯博士,地平线机器人技术创始人、CEO,国际杰出机器学习专家,中国人工智能学会副秘书长。余博士是前百度研究院执行院长,创建了百度深度学习研究院。他在百度所领导的团队在广告变现、搜索排序、语音识别、计算机视觉等领域做出杰出贡献,创纪录地连续三次获得公司高荣誉——“百度奖”。他还创建了中国公司自动驾驶项目,后发展为百度自动驾驶事业部。
岳亚丁博士,腾讯公司专家研究员,腾讯技术职级评委会基础研究岗位的负责委员。岳博士拥有19年在金融、电信、互联网行业的数据挖掘经验,主导或参与过用户画像、在线广告、推荐系统、CRM、欺诈检测、KPI预测等多种项目。他曾在微软(加拿大)从事行为定向广告的模型研发,另有11年的工程结构、海洋水文气象的力学研究及应用的工作经历。
目录信息
第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
· · · · · · (收起)
读后感
只有六章 [https://download.csdn.net/download/wizardforcel/10307474] ==========================================================================================================================================================
Jupyter http://nbviewer.jupyter.org/github/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/tree/master/ GitHub https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
只有六章 [https://download.csdn.net/download/wizardforcel/10307474] ==========================================================================================================================================================
Jupyter http://nbviewer.jupyter.org/github/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/tree/master/ GitHub https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
Jupyter http://nbviewer.jupyter.org/github/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers/tree/master/ GitHub https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
用户评价
这本书的参考价值令人赞叹,它不仅仅是知识的载体,更像是未来研究的索引。在每一章的末尾,作者都附带了详尽的延伸阅读和前沿研究的简要介绍,这对于希望将理论应用于实际工程或继续深造的读者来说,无疑是宝贵的指引。我注意到作者在讨论动态系统建模时,引用了许多近年来在机器学习领域非常热门的文献,这表明作者紧跟学术前沿,这本书的内容绝非陈旧的理论堆砌。比如,书中关于因果推断的章节,虽然篇幅不长,但清晰地区分了潜在结果框架(Potential Outcomes Framework)和结构方程模型(Structural Equation Modeling)在处理干预效应时的不同侧重点,并且巧妙地引入了贝叶斯网络作为统一的建模工具来阐述这些概念。这种跨学科的整合能力,让这本书的适用范围大大拓宽,它不仅适用于传统的统计学家,对于正在从事人工智能、生物信息学以及计量经济学的研究人员也具有极强的参考价值。我甚至发现,书中的某些算法描述,比我正在使用的某个商业软件的文档还要清晰易懂,这让我开始尝试用书中的方法去复现和验证一些外部工具的结果。
这本书的语言风格非常独特,它拥有一种古典学者的严谨,但又透露着一种现代工程师的务实。在讲解参数估计时,作者十分强调“信息守恒”的理念,即我们应该尽可能地利用所有已知信息,而不是凭空假设。这种哲学观贯穿了全书,使得整套理论体系显得无比自洽和有力。我最喜欢的部分是关于层次化模型(Hierarchical Models)的论述。作者通过一个国家间教育水平差异的例子,生动地展示了如何利用层次结构来共享信息,从而在数据稀疏的子群体上获得更稳健的估计,这完美诠释了“局部信息与全局信息如何协同工作”这一核心思想。在讨论计算复杂性时,作者也表现得非常坦诚,他没有回避那些在实践中难以处理的“病态”模型,而是直接指出了它们的困难所在,并提供了近似解法的局限性分析,这体现了作者极高的学术诚实度。整体阅读体验下来,这本书给我留下的印象是:它是一部经过深思熟虑的、结构完整的心血之作,它要求读者投入时间,但回报给读者的,是对不确定性世界更深层次的理解和更强大的分析工具箱。
这本书的内容深度远超我的预期,它不仅仅是一本入门读物,更像是一份详尽的工具箱,里面装满了解决实际问题的利器。我特别欣赏作者在处理模型选择和模型比较时的那份审慎态度。他没有急于推崇某一种“完美”的模型,而是花了大量篇幅去探讨不同假设条件下的模型适用性,并清晰地对比了最大似然估计(MLE)和贝叶斯估计(BE)在小样本和大数据集下的性能差异。当我尝试用它来分析我过去工作中遇到的一个金融时间序列数据时,书中关于“共轭先验”的章节简直就是及时雨。它详细解释了如何选择一个计算上友好、同时又能反映我对初始信息看法的先验分布,这在很多简化模型计算的实际操作中至关重要。更让我受益匪浅的是关于模型诊断的部分,作者强调了“检验模型是否合理”的重要性,远远高于“找到最好的参数估计值”。他介绍了几种后验预测检验(Posterior Predictive Checks)的方法,通过模拟数据与真实数据的对比,让我清晰地看到了自己建立的模型在哪些方面存在偏差和不足。这种强调批判性思维和模型验证的写作风格,使得这本书不仅教会了我如何“做”统计推断,更教会了我如何“思考”统计推断。
这本书的阅读过程,与其说是学习知识,不如说是一次严谨的智力训练。它的行文风格极其凝练,几乎没有一句废话,每一个定义、每一个定理的提出,都像是经过了千锤百炼的打磨。对于那些对数理统计有一定基础的读者来说,这本书的价值在于它系统地梳理了贝叶斯学派的核心哲学和数学框架。比如,在讲解变分推断(Variational Inference, VI)那一章节时,作者没有停留在简单的KL散度最小化,而是深入剖析了VI与期望最大化(EM)算法之间的内在联系,这让我对VI的局限性——即倾向于低估真实后验分布的方差——有了更深刻的理解。他用精确的数学语言,构建了一座从概率论到统计推断的坚实桥梁,每一步推导都力求无懈可击。我尤其欣赏作者在引入复杂概念时所展现出的耐心,他会先建立一个简化的、二维或三维的模型,让读者在直观上把握住核心矛盾和解决方法,然后再将结论推广到更高维度的复杂情况。这种由浅入深的叙事结构,确保了即便是面对复杂的变分推断或高斯过程回归时,读者的心绪也不会彻底迷失在符号的海洋中。读完这些章节,我感觉自己对概率的理解都升华到了一个新的层次,不再是简单的“可能性”,而是对不确定性的度量和管理。
这本书的封面设计得十分沉稳,墨绿色的背景搭配烫金的字体,散发着一种老派的学术气息,让我一拿到手就感觉这绝对是一本值得细细品味的著作。翻开内页,首先映入眼帘的是清晰的目录结构,章节划分逻辑严谨,从最基础的概率论回顾开始,逐步深入到复杂的概率模型构建与推断。作者在行文上非常注重理论与直觉的结合,不像有些教科书那样,堆砌着抽象的数学符号,让人望而生畏。相反,他似乎总能在关键时刻插入一些生动的比喻或者现实生活中的例子,比如用掷硬币的频率来解释先验概率的设定,或者用医疗诊断的准确率来阐述后验概率的更新过程。这种讲解方式极大地降低了初学者的入门门槛,让我感到原来看似高深莫测的统计推断,其核心思想是可以如此直观地被理解。尤其是关于马尔可夫链蒙特卡洛(MCMC)方法的介绍部分,作者并没有直接抛出复杂的算法流程,而是先用一个“寻找宝藏”的寻宝者故事来铺垫,阐述为什么我们需要这种随机抽样的方法来解决高维积分问题。读完这部分,我仿佛不再是面对一堆代码和公式,而是在参与一场智慧的探险,对这种强大的计算工具产生了由衷的敬佩之情。这本书的排版也做得很好,公式居中,重点内容加粗,阅读体验非常流畅,长时间阅读也不会感到视觉疲劳。
理论讲的不够清晰
用概率面拉扯解释贝叶斯很明白;翻译错误不少,译者显然在细节上功夫不够
给的代码很齐全,几乎不介绍理论,对于只是想使用概率编程的同学倒是省了不少麻烦事。可惜我现在在用PyMC3,还是多少有些区别,思想是一样的。
缺相关理论知识
幼稚的内容蹩脚的翻译。我又被豆瓣骗了 还我50元