入门好文:

贝叶斯推断

贝叶斯推断及其互联网应用(一):定理简介

作为一个非统计专业的人,着实是被贝叶斯思想折磨了很久,常见的公式都能倒背如流,但依旧无法理解其精神内核。

近日,有高人指点,自己再查了点资料,才对贝叶斯思想有所领悟。。。

基本框架:前面总结了常见分布的概念,这里贝叶斯也不例外,都是概率论,概率研究的核心就是随机事件发生的概率。以后遇到统计时,要习惯“某事件发生概率”这种专业说法。


例子1:

两个一模一样的碗,一号碗有30颗水果糖和10颗巧克力糖,二号碗有水果糖和巧克力糖各20颗。现在随机选择一个碗,从中摸出一颗糖,发现是水果糖。请问这颗水果糖来自一号碗的概率有多大?

作者的描述有点含糊,这里会修正一下:

我们假定,H1表示摸出的球来自一号碗,H2表示摸出的球来自二号碗。由于我们假定这两个碗是一样的(先验概率已被指定),所以P(H1)=P(H2),也就是说,在取出水果糖之前,这两个碗被选中的概率相同。因此,P(H1)=0.5,我们把这个概率就叫做"先验概率",即没有做实验之前,来自一号碗的概率是0.5。

再假定,E表示取出的是水果糖,所以问题就变成了在已知E的情况下,来自一号碗的概率有多大,即求P(H1|E)。我们把这个概率叫做"后验概率",即在E事件发生之后,对P(H1)的修正。

后面计算就不说了,老生常谈,主要是把概念规范化,不要把数学语言和日常用于混淆在一起。

例子2:

已知某种疾病的发病率是0.001,即1000人中会有1个人得病。现有一种试剂可以检验患者是否得病,它的准确率是0.99,即在患者确实得病的情况下,它有99%的可能呈现阳性。它的误报率是5%,即在患者没有得病的情况下,它有5%的可能呈现阳性。现有一个病人的检验结果为阳性,请问他确实得病的可能性有多大?

假定A事件表示得病,那么P(A)为0.001。这就是"先验概率",即没有做试验之前,我们预计的发病率。再假定B事件表示阳性,那么要计算的就是P(A|B)。这就是"后验概率",即做了试验以后,对发病率的估计。

其实在医学统计学里,99%不叫作准确率,而是sensitivity。

5%也不叫作误报率,而叫做假阳性率,与之对应的是specificity。

计算过程可以参照原文。

参考:Precision and recall


实例:垃圾邮件过滤

贝叶斯过滤器是一种统计学过滤器,建立在已有的统计结果之上。所以,我们必须预先提供两组已经识别好的邮件,一组是正常邮件,另一组是垃圾邮件。

我们用这两组邮件,对过滤器进行"训练"。这两组邮件的规模越大,训练效果就越好。Paul Graham使用的邮件规模,是正常邮件和垃圾邮件各4000封。

"训练"过程很简单。首先,解析所有邮件,提取每一个词。然后,计算每个词语在正常邮件和垃圾邮件中的出现频率。比如,我们假定"sex"这个词,在4000封垃圾邮件中,有200封包含这个词,那么它的出现频率就是5%;而在4000封正常邮件中,只有2封包含这个词,那么出现频率就是0.05%。(【注释】如果某个词只出现在垃圾邮件中,Paul Graham就假定,它在正常邮件的出现频率是1%,反之亦然。这样做是为了避免概率为0。随着邮件数量的增加,计算结果会自动调整。)

有了这个初步的统计结果,过滤器就可以投入使用了。

Github上有这个的代码,可以去跑一跑。


前面已经说了贝叶斯是一种思想,它可以被用在任何统计模型上。这也就是为什么你能听到各种贝叶斯相关的术语:贝叶斯线性回归、贝叶斯广义线性回归等等。

接下来就从最简单的贝叶斯线性回归为例,来讲解贝叶斯思想是如何与传统统计模型相结合的。

参考:贝叶斯线性回归(Bayesian Linear Regression)

如何通俗地解释贝叶斯线性回归的基本原理?

从贝叶斯的观点看线性分类和线性回归

贝叶斯推断 | 贝叶斯线性回归相关推荐

  1. 贝叶斯推断及其互联网应用(一)

    贝叶斯推断及其互联网应用(一) 投递人 itwriter 发布于 2011-08-25 14:03 评论(6) 有1981人阅读 原文链接 [收藏] « » 一年前的这个时候,我正在翻译Paul Gr ...

  2. 贝叶斯推断及其互联网应用(一):定理简介

    贝叶斯推断及其互联网应用(一):定理简介 作者: 阮一峰 日期: 2011年8月25日 一年前的这个时候,我正在翻译Paul Graham的<黑客与画家>. 那本书的第八章,写了一个非常具 ...

  3. 《贝叶斯方法:概率编程与贝叶斯推断》一导读

    前 言 贝叶斯方法:概率编程与贝叶斯推断 贝叶斯方法是一种常用的推断方法,然而对读者来说它通常隐藏在乏味的数学分析章节背后.关于贝叶斯推断的书通常包含两到三章关于概率论的内容,然后才会阐述什么是贝叶斯 ...

  4. [转]贝叶斯推断及其互联网应用

    贝叶斯推断及其互联网应用(一):定理简介 作者: 阮一峰 日期: 2011年8月25日 一年前的这个时候,我正在翻译Paul Graham的<黑客与画家>. 那本书的第八章,写了一个非常具 ...

  5. 【视频】线性回归中的贝叶斯推断与R语言预测工人工资数据|数据分享

    最近我们被客户要求撰写关于线性回归的研究报告,包括一些图形和统计输出. 在这个视频中,我们转向简单线性回归中的贝叶斯推断. 我们将使用一个参照先验分布,它提供了频率主义解决方案和贝叶斯答案之间的联系. ...

  6. 贝叶斯推断 概率编程初探

    1. 写在之前的话 0x1:贝叶斯推断的思想 我们从一个例子开始我们本文的讨论.小明是一个编程老手,但是依然坚信bug仍有可能在代码中存在.于是,在实现了一段特别难的算法之后,他开始决定先来一个简单的 ...

  7. PYTHON贝叶斯推断计算:用BETA先验分布推断概率和可视化案例

    最近我们被客户要求撰写关于贝叶斯推断的研究报告,包括一些图形和统计输出. 视频:线性回归中的贝叶斯推断与R语言预测工人工资数据案例 贝叶斯推断线性回归与R语言预测工人工资数据 ,时长09:58 在这篇 ...

  8. 为机器学习爱好者推荐一本书《贝叶斯方法:概率编程与贝叶斯推断》

    本书的内容特色: 学习贝叶斯思维方式 ·理解计算机如何进行贝叶斯推断 ·利用PyMC Python库进行编程来实现贝叶斯分析 ·利用PyMC建模以及调试 ·测试模型的拟合优度 ·打开马尔科夫链蒙特卡洛 ...

  9. 10分钟教你用睡觉这件事玩转贝叶斯推断

    编译 | AI科技大本营(ID:rgznai100) 参与 | 张建军 编辑 | 明 明 [AI科技大本营导读]贝叶斯法则和其他统计概念很难通过只用到字母的抽象公式.或者一些虚构的情景来理解.在作者W ...

最新文章

  1. jedis操作set_在Java中使用jedis操作Set类型
  2. Java实现数据库表结构导出到Excel
  3. python有什么功能-Python 3.9有什么新功能?
  4. “面试不败计划”:多线程
  5. mac 安装cmake
  6. 数组作为方法参数_传递地址
  7. hive 两个没有null指定的表左关联的结果有null_《数据仓库篇》——Hive的学习笔记3...
  8. python token 访问控制_python 产生token及token验证
  9. 一文读懂什么是P问题、NP问题和NPC问题
  10. 演示数据块整理(合并)的效果
  11. asp.net 转换人民币大小金额
  12. Android使用有道翻译API实现在线翻译功能
  13. linux中关于磁盘配额的描述,Linux中的磁盘配额
  14. Jenkins卸载方法
  15. 计算机桌面有去不掉的框,电脑右下角有个白色方框去不掉
  16. vista识别内存4g_Windows Vista中的语音识别-我在听
  17. 梅特勒电子天平维修触摸屏维修XS205
  18. php chinapay,GitHub - jakehu/chinapay-for-ecshop: 上海银联(chinapay)支付插件 for ECSHOP
  19. 投资的过程:进行高质量的研究
  20. Cadstar格式导入功能

热门文章

  1. 【数据分析】Matplotlib可视化最有价值的图表之——1、关联(Correlation)
  2. java求完数的代码
  3. 如何预防(延缓)Switch摇杆漂移?(使用十字键代替)
  4. Socket中的send函数
  5. 中兴软创“智”敬科技新时代,ZSmart uTalk智能客服惊艳巴展
  6. 手把手教会你怎么压缩JPG图片
  7. OAuth 2.0实现分布式认证授权-jwt的认证服务器和资源服务器配置(5)
  8. iOS iconfont 图标字体
  9. 2009 优秀金融软件
  10. iqtree+ggtree绘制进化树教程