NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

概率编程语言与贝叶斯方法实践

  • 2014-07-18
  • 本文字数:1495 字

    阅读完需:约 5 分钟

近日,机器学习爱好者 Cameron Davidson-Pilon 在 GitHub 上发布了《概率编程和贝叶斯方法实践》一书,该书以动手编程和理解为首要任务,数学原理次之的理念,以概率编程的角度为读者介绍贝叶斯方法。该书为入门书籍,主要面向数学基础较弱以及不关心其数学原理的读者,对于经过严格数学训练的读者,建议结合其他有数学分析的相关图书阅读。该书源代码构成的项目在GitHub 上获得了高达5900+ 个星标,被fork 1100 多次,目前有765 次更新以及74 位贡献者。全书使用Python 脚本语言作为示例语言,采用非常新颖的IPython Notebook 形式发布,全部代码都可以随时执行并立即得到效果。《概率编程和贝叶斯方法实践》一书之所以选择PyMC 作为概率编程语言,主要考虑到两个原因,一是PyMC 缺乏入门教材,官方文档假设读者对贝叶斯和概率编程都很了解;二是鉴于近年来Python 语言在学术界的流行程度,PyMC 可能很快就成为一个核心模块。

贝叶斯方法是进行逻辑推理的一种非常自然的方法,但是对于广大读者来说,它的出现,通常附带着大量的数学公式和推导过程,让人望而却步。现有介绍贝叶斯推理的图书,通常会用两三个章节来讲解概率论基础,然后才能告诉我们什么是贝叶斯推理。非常不幸的是,由于大多数贝叶斯模型与生俱来的数学复杂性,读者接触到的只能是一些简单的,人为构造的虚假简化示例。这很容易给读者一种贝叶斯方法没什么了不起的感觉。实际上,这些错误的感觉只是那些图书作者的一面之词。

在目睹了近年来贝叶斯方法在机器学习领域的贡献,该书作者决定亲自来撰写一本通俗易懂而且可用性非常强的贝叶斯方法入门图书。他投入了大量的时间精力,研究如何将贝叶斯方法的数学基础和实践联系在一起。最后他发现,最大的问题在于,当前的资料中,贝叶斯相关数学知识和概率编程之间缺乏紧密的联系。因此本书的目标就在于弥补这一缺失。

如果说贝叶斯推理是我们最终的目标,那么用数学工具进行分析只是通向它的一个途径。现在的计算能力如此便宜,我们完全可以从另外一个完全不同的途径——概率编程来达到推理的目的。概率编程对于我们来讲更加实用,因为它不需要每一步都去考虑那些复杂的数学公式,这样我们就把拦在贝叶斯推理前面的数学巨石轻而易举的绕过了。

全书内容分为引言和六个章节,第一章介绍贝叶斯方法的原则以及概率编程初步;第二章介绍PyMC;第三章介绍马尔科夫蒙特卡洛方法(MCMC);第四章介绍大数定律;第五章介绍损失函数;第六章也是最重要的一张,介绍先验知识。另外还有两个补充章节,介绍贝叶斯方法在机器学习领域的应用以及PyMC 的更多细节。纵观全书,作者给出了非常多的真实数据来让读者深入了解贝叶斯方法。比如第一章中的通过用户一天发送的短信息数量来推测用户行为的变化;第二章中的AB 测试、谎言测试以及航天飞机事故分析;第三章中的贝叶斯后验概率和马尔科夫蒙特卡洛,以及数据聚类;第四章中的reddit 内容分享网站评论的按质量排序;第五章中的猜商品价格和Kaggle 竞赛题;第六章中的贝叶斯老虎机问题和股票分析等等。

值得一提的地方,此书的全部内容是开源的,意味着任何感兴趣的读者都可以自己做出贡献,只要通过GitHub 提交即可。在首页的最后,作者呼吁大家参与到图书的编写当中,并提供了一些入手的线索,比如对于马尔科夫蒙特卡洛方法、最大后验概率、贝叶斯网络、概率分布等内容的介绍、相关Python 代码的编写、对例子做出更生动的解释以及文字上的纠错等等。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2014-07-18 02:4610823
用户头像

发布了 268 篇内容, 共 118.3 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

「Go框架」bind函数:gin框架中是如何绑定请求数据的?

Go学堂

golang 开源 程序员 个人成长

谷歌架构师分享gRPC与云原生应用开发Go和Java为例文档

程序知音

Java 架构 云原生 编程语言 后端

架构训练营模块九作业

现在不学习马上变垃圾

架构训练营10期

如何落地质量门禁?

老张

软件测试 质量保障 质量度量 质量门禁

《动手学深度学习--PyTorch》之学习环境搭建

IT蜗壳-Tango

架构实战营10期-模块九作业

炮仗

Dubbo Triple 异常处理

昵称不能为null

dubbo triple协议 dubbo异常处理

利用 Amazon Managed Blockchain 发展和扩大忠诚度奖励计划(第一部分)

亚马逊云科技 (Amazon Web Services)

人工智能

云原生引擎单元测试实践

京东科技开发者

云原生 单元测试 代码覆盖

"我眼中的ChatGPT"征文获奖作品合集

InfoQ写作社区官方

技术专题合集 热门活动 ChatGPT

一种基于实时大数据的图指标解决方案

京东科技开发者

大数据 运维 系统架构 开发 图指标

【云原生 • Docker】用故事给老板讲Docker核心原理

Reactor2020

云原生 ,docker linux namespace

SaaS时代下的我们需要什么样的数据库?

陈飞

AIGC导航网站推荐

kcodez

人工智能 AIGC Chat ChatGPT

App Store 新定价机制 - 2023年最全版

37手游iOS技术运营团队

ios iap In App Purchase App Store Connect API app store

运维进阶训练营 -W16H

赤色闪电

运维进阶训练营 -W17H

赤色闪电

Java并发夺命23问

程序员大彬

Java Java并发 java面试

PyTorch 深度学习实战 | 基于ResNet的花卉图片分类

TiAmo

数据集 PyTorch

阿里十年架构师总结的Java核心知识点大全,恐怖程度难以想象!

开心学Java

Java spring JVM Java工程师 多线程并发

如何构建内部开发者门户:企业参考指南

SEAL安全

企业号 3 月 PK 榜 开发者体验 内部开发者门户

运维进阶训练营 -W19H

赤色闪电

蚁人与量子停车场

脑极体

AI

可观测行之系统如何识别网站有多少文件命中了缓存?

Yestodorrow

可观测性 可观测性用观测云

GPT-4免费无限制使用教程

南城FE

人工智能 AI 前端 ChatGPT

运维进阶训练营 -W14H

赤色闪电

运维进阶训练营 -W15H

赤色闪电

设计电商秒杀系统

Geek_e5f2e5

Removing HTTP/2 Server Push from Chrome

Yestodorrow

运维进阶训练营 -W18H

赤色闪电

【程序员日记】---当“微服务”遇到了“电饼铛“

京东科技开发者

架构 微服务 系统架构 开发 企业号 3 月 PK 榜

概率编程语言与贝叶斯方法实践_语言 & 开发_张天雷_InfoQ精选文章