有一枚硬币(不知道它是否公平),假如抛了三次,三次都是“花”:

能够说明它两面都是“花”吗?

1 贝叶斯推断

按照传统的算法,抛了三次得到三次“花”,那么“花”的概率应该是:

但是抛三次实在太少了,完全有可能是运气问题。我们应该怎么办?

托马斯·贝叶斯(1702-1761),18世纪英国数学家,1742年成为英国皇家学会会员。

贝叶斯认为在实验之前,应根据不同的情况对硬币有所假设。不同的假设会得到不同的推断。

比如和滑不溜手的韦小宝玩。韦小宝可能拿出各种做过手脚的硬币,让我们猜不透,只能假设对硬币一无所知。这种假设之下,我们就只能根据实验结果来猜测。

因此,实验结果是“扔三次,三次花”,倾向于认为韦小宝有可能作弊:

大侠陈近南用的可能是公平硬币:

而憨坏的多隆,真的有可能用两面“花”来和你玩:

各种假设称为先验分布,结合刚才“扔三次,三次花”的实验数据,推断出硬币的后验分布,这就是贝叶斯推断:

这里补充一下,可能大家觉得再多抛几次硬币就可以了,何必弄什么贝叶斯推断。不过现实生活中有一些事件不是能够多“抛”几次的,比如地震、彗星撞击地球等等。这里只是借着硬币来讨论问题。

 分布

那么问题来了,“先验分布”,“后验分布”用数学怎么表示:

对于扔硬币, 分布非常适合用来完成这个任务。

2.1 先验分布

 分布简记为(这一节里面的所有细节会在后面给出):

根据 参数的不同,形态各异:

这个特性非常适合用来做先验分布。比如,在韦小宝面前,我们对硬币一无所知。

贝叶斯说一无所知也就是意味着任何概率都是一样的,都是有可能的,所以选用均匀分布(所谓的无信息先验,可以参看这篇文章):

 正好就是均匀分布:

正直的陈近南,可能用的是公平硬币,也就是说概率在0、1之间(0表示“字”,1表示“花”), 可以表示这样的分布:

而憨坏的多隆,可能用了两面花,也就是说概率可能集中到1附近, 可以表示这样的分布:

也就是说可以用 分布来模拟各种先验分布:

  • 一无所知:
  • 公平硬币:
  • 两面花:

2.2 后验分布

 分布来模拟扔硬币的先验分布之后,通过贝叶斯推断,得到的后验分布依然是 分布:

具体到这里:

再具体到韦小宝的情况就是:

其中,用 来表示实验数据,意思是3次花,0次字( 就是2次花,1次字)。

图像上的变化就是:

可以看到,作弊的可能性还是比较大的。

陈近南的情况:

结合实验数据之后,图像的中心从0.5往0.6方向移动了,作弊可能性有所增加,不过总体来看应该还是公平硬币的可能性大。

多隆的情况:

更向1集中,作弊的可能性非常高。

3 代数细节

3.1 贝叶斯推断

贝叶斯推断:

的应用到二项式分布的数学细节如下。假设实验数据 服从二项分布:

上面的式子根据贝叶斯定理(离散贝叶斯可以参看怎样用非数学语言讲解贝叶斯定理(Bayes theorem)?,连续贝叶斯可以参看这里)可以表示为:

其中 为“花”的次数。分母与实验数据无关,可以视作常数:

因此,写成下面这样更容易看清楚重点(其中 表示两者之间成比例):

3.2  分布

 长成这个样子:

其中, 为 函数。

随着 的变换, 分布形态各异:

3.3 共轭先验

对于二项式分布,用 分布作为先验分布,通过贝叶斯推断之后,后验分布依然是 分布:

这种特性称为共轭先验

并且:

关于这点的证明请参看这里,需要***。

文章最新版本在(有可能会有后续更新):如何理解贝叶斯推断,beta分布?

如何通俗理解贝叶斯推断与beta分布?的更多相关文章

  1. (main)贝叶斯统计 | 贝叶斯定理 | 贝叶斯推断 | 贝叶斯线性回归 | Bayes' Theorem

    2019年08月31日更新 看了一篇发在NM上的文章才又明白了贝叶斯方法的重要性和普适性,结合目前最火的DL,会有意想不到的结果. 目前一些最直觉性的理解: 概率的核心就是可能性空间一定,三体世界不会 ...

  2. 贝叶斯推断之最大后验概率(MAP)

    贝叶斯推断之最大后验概率(MAP) 本文详细记录贝叶斯后验概率分布的数学原理,基于贝叶斯后验概率实现一个二分类问题,谈谈我对贝叶斯推断的理解. 1. 二分类问题 给定N个样本的数据集,用\(X\)来表 ...

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

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

  4. 概率编程:《贝叶斯方法概率编程与贝叶斯推断》中文PDF+英文PDF+代码

    贝叶斯推理的方法非常自然和极其强大.然而,大多数图书讨论贝叶斯推理,依赖于非常复杂的数学分析和人工的例子,使没有强大数学背景的人无法接触.<贝叶斯方法概率编程与贝叶斯推断>从编程.计算的角 ...

  5. tf-idf、朴素贝叶斯的短文本分类简述

    朴素贝叶斯分类器(Naïve Bayes classifier)是一种相当简单常见但是又相当有效的分类算法,在监督学习领域有着很重要的应用.朴素贝叶斯是建立在“全概率公式”的基础下的,由已知的尽可能多 ...

  6. LDA概率图模型之贝叶斯理解

    贝叶斯.概率分布与机器学习 转自:http://www.cnblogs.com/LeftNotEasy/archive/2010/09/27/1837163.html  本文由LeftNotEasy原 ...

  7. [机器学习] 分类 --- Naive Bayes(朴素贝叶斯)

    Naive Bayes-朴素贝叶斯 Bayes' theorem(贝叶斯法则) 在概率论和统计学中,Bayes' theorem(贝叶斯法则)根据事件的先验知识描述事件的概率.贝叶斯法则表达式如下所示 ...

  8. ML(3): 贝叶斯方法

    对于分类问题,我们每个人每天都在执行分类操作,只是我们没有意识到罢了.例如,当你看到一个陌生人,你的脑子下意识判断TA是男是女:你可能经常会走在路上对身旁的朋友说“这个人一看就很有钱.那边有个非主流” ...

  9. 基于贝叶斯网(Bayes Netword)图模型的应用实践初探

    1. 贝叶斯网理论部分 笔者在另一篇文章中对贝叶斯网的理论部分进行了总结,在本文中,我们重点关注其在具体场景里的应用. 2. 从概率预测问题说起 0x1:条件概率预测模型之困 我们知道,朴素贝叶斯分类 ...

随机推荐

  1. 两个事务 update同一张表出现的死锁问题 (转载)

    引言 近来做省一级计算机一级考试系统的时候,学生端进行大批量判分的时候,出现了这样的问题(事务(进程 ID 262)与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品.请重新运行该事务.): 这 ...

  2. C编程规范, 演示样例代码。

    /*************************************************************** *Copyright (c) 2014,TianYuan *All r ...

  3. sharepoint搜索配置问题

    配置sharepoint 爬网内容源,如我们有4台前端服务器,集群域名为eds.jd.com,2台用于爬网前端服务器,集群域名为crawl.eds.jd.com 配置内容源的时候,将地址配为: 结果一 ...

  4. SQL分页过多时, 如何优化

    问题: 我们经常会使用到分页操作,这里有个问题,在偏移量非常大的时候,它会导致MySQL扫描大量不需要的行然后再抛弃掉.如: , ; 上述这条SQL语句需要查询10020条记录然后只返回最后20条.前 ...

  5. MYSQL 5.7.25最后一个5.x版本记录

      一:下载 位 https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-win32.zip 位 https://dev.mysql.co ...

  6. 大数据学习--day15(常用类:Date--DateFormat--SimpleDateFormat--File--包装类)

    常用类:Date--DateFormat--SimpleDateFormat--File--包装类 这些常用类就不像字符串挖那么深了,只列列用法. 时间处理: /** * 时间处理类 * DateFo ...

  7. PyQt5 signal and slot

    PyQt5 的 signal 与 slot 有所改变,例如,先定义一个 ZeroSignal 类: class ZeroSignal(QObject): atzero = pyqtSignal(int ...

  8. hive错误排查一:hive中执行 drop table命令卡住,删除表不成功

    起因 公司用的AWS EMR上的hive,突然不能删除表了. 经过 分析来看,估计是元数据那块出了问题.从元数据入手,元数据存在mysql的hive数据库中 直接使用hive配置文件hive-site ...

  9. scala 求数组排序后每两个元素的差值

    求数组排序后每两个元素的差值 例如数组 1,5,8,10,2 求得结果为 1,3,3,2 一般什么样的场景会有这种需求呢? 比如 计算一堆数据在一定时间内的计算时延, 或者得到这段时间内数据的平均计算 ...

  10. Linux 下 终端 相关的命令

    1. 概述 Linux 服务器, 通常可以由多个终端连接 简单介绍一些 终端 相关的操作 最终的目的, 是定位到某个终端, 然后把它 踢下来, 甚至可以不让他再次连接 2. 环境 操作系统 CentO ...