使用贝叶斯定理,目前来看最重要的一点在于假设。就是未知事件已知化,同时也要注意假设的全程性,不能从中开始新的假设,这种假设往往是不全面的。
我自己找到的假设的方法有两种,一种是命名,一种是时序。全程性就体现在时序上了,假设考虑的范围要从第一条相关条件开始。
举3个原书的例子:
例子1,有两个筐,一个筐A中是:3/4的红球,1/4的黄球;另一个筐B中是:1/2的红球,1/2的黄球。
我拿到了一个红球,那么这个红球从筐A中拿到的概率是多少?
1,我们看一下能不能使用贝叶斯公式?这个事件可以分为两个子事件,先选筐,后拿球。选筐和拿球现在看是互斥的。这样,我们就完成了一部分的时序化。目前来看命名的必要不是很大,但是我可以说,我拿了球的这个筐为1号筐,另立一个为2号筐。
2,我们看一下先验分布,选A,B拿球的概率是相同的,都是1/2。
3,似然度:
假设A的为3/4;
假设B的为1/2。
4,根据全概率公式,我们得到归一化常量,这个常量是5/8。也就是我们的P(D)。这个值的实际意义是拿到红球的概率是5/8,这个好像是有一定意义的。
5,很容易得到后验概率,为3/5。
这个例子,我感受到这个时序化很重要,我们的描述就是“拿了一个球,这个球是红球”,但是实际上我们看我们是怎么拿的,是先选中一个筐,再从筐里边拿球。
我一直纠结归一化常量的含义,在有些例子中,归一化常量有实际意义,在有些例子中对于我来讲没有。
例子2,初始条件一样,但是,我分别从两个筐中各拿一个球,一个是红色的,一个是黄色的(球的数量无限多)。请问红球从筐A中拿到的概率?
1.我们还是要假设。虽然拿球的数量是2个了,但是复杂度并不一定成倍的增加。因为我们将这样假设:我先选中一个筐,这个筐命名为1号筐,从这个筐中拿出红球,从另一个筐中(2号)拿出黄球。这个会出现一个小疑问,就是我的先后顺序影响真实结果吗?目前先不讨论。
2.仍然是先验分布:
假设1:先拿筐A,1/2
假设2:先拿筐B,1/2 这里注意先拿后拿直接决定了拿出红球的筐,应为我们就是如此假设的。
3.似然度,
假设1:3/4 * 1/2 = 3/8
假设2:1/2 * 1/4 = 1/8
在我们假定先后拿出的顺序不影响真实结果的情况下,符合全概率,所以得到 P(D) = 1/4 。实际意义?等等,我们计算一下,两个球都黄和都红的概率是显而易见的1/8和3/8。也就是说,一黄一红的概率应该是1/2。为什么得到了1/4?因为我们忽略了先拿黄球,也就是说真真正正的假设应该包含先拿红或者先拿黄。但是如果不考虑先后,不会影响到上边假设1和2之间的比例。所以计算后验概率是没有问题的。
那么这里的完整建模应该是什么呢?
1,选择要先拿的框;2,拿一个球;3,拿另外一个球。
A:1/2 1/4 1/2 =1/16
3/4 1/2 =3/16
B:1/2 1/2 3/4 =3/16
1/2 1/4 =1/16
这样就是1/2 了。
4.这里看到,后验概率是3/4,也就是说,我各拿一个球,一黄一红和我只拿一个红球。最后这个红球来自A框的概率还是不一样的。
例子3:
monty hall问题。这个问题我这里就不解释了,大家自行查询一下。
很显然为什么有的人会认为换不换选择都一样,应为他们没有未知问题已知化的过程,也就是没有假设。这样导致当他们确实想要进行概率思考的时候,他们没法得到正确的概率,他们之后他们认为的概率。确实,如果让我从中间步骤考虑的话,我确实也会根据直觉,得到错误的概率。
同时,这个monty hall值得注意的一点是:必须要清晰现有事件和条件。
看看我们的前提和假设,无论车在那个门的后边,我们都先选择A门。然后monty 打开的门就是B门,而且这个门后边是没有车的。说实话,这里这样假设我是有点心虚的。不像上一个例子,我能肯定的得知先拿什么样的球是不影响实际情况的。以我的认知能力,在没有思考的情况下,我无法确认作者这样假设会不会对真实概率有没有什么影响。
思索一下,显然,我们的先验分布和选什么开什么还牵扯不到任何关系(这里有一个疑问,是我们所说的,开B门,无车,对先验概率有影响吗?这里不能这样去考虑,很重要的一点就是我们要根据实际情况的发生顺序来假设。一定要注意,是先将车放到门后,然后我们选择A门,然后再打开B门。如果你从打开B门,其后没车反着考虑的话,会使得自己感觉没有问题。但实际已经出错。)
假设1:A门后有车,1/3
假设2:B门后有车,1/3
假设3:C门后有车,1/3
假设1:选择A门,monty选择B门1/2 ,B门后没车100%
假设2:选择A门,monty选择B门1/2,B门后没车 0
假设3:选择A门,monty选择B门100%,B门后没车100%
这样我们看到:
1/6
0
1/3
得到正确的P(D) = 1/2 其含义是,我选择A门&monty打开B门&没车 的概率是 1/2 。这个好像就没什么实际意义了。
后验概率就得出了,果然我们应该换一下我们选择。
[Thinkbayes]贝叶斯思维读书笔记-1-贝叶斯定理的更多相关文章
-
[Thinkbayes]贝叶斯思维读书笔记-2-火车头问题
今天,我们继续我们的笔记. 作者在第三章继续举了一个例子.火车头问题(读者在此可能会觉得这个问题没有意义,但相信随着深入阅读,这个问题会被解答). 这个举例恰到好处,能够让我深入理解到底应该如何假设, ...
-
统计学习:《贝叶斯思维统计建模的Python学习法》中文PDF+英文PDF+代码
用数学工具解决实际问题仅有的要求可能就是懂一点概率知识和程序设计.而贝叶斯方法是一种常见的利用概率学知识去解决不确定性问题的数学方法,对于一个计算机专业的人士,应当熟悉其应用在诸如机器翻译,语音识别, ...
-
R语言︱贝叶斯网络语言实现及与朴素贝叶斯区别(笔记)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 一.贝叶斯网络与朴素贝叶斯的区别 朴素贝叶斯的 ...
-
贝叶斯推断 &;&; 概率编程初探
1. 写在之前的话 0x1:贝叶斯推断的思想 我们从一个例子开始我们本文的讨论.小明是一个编程老手,但是依然坚信bug仍有可能在代码中存在.于是,在实现了一段特别难的算法之后,他开始决定先来一个简单的 ...
-
《Machine Learning in Action》—— 白话贝叶斯,“恰瓜群众”应该恰好瓜还是恰坏瓜
<Machine Learning in Action>-- 白话贝叶斯,"恰瓜群众"应该恰好瓜还是恰坏瓜 概率论,可以说是在机器学习当中扮演了一个非常重要的角色了.T ...
-
Python深度学习读书笔记-1.什么是深度学习
人工智能 什么是人工智能.机器学习与深度学习(见图1-1)?这三者之间有什么关系?
-
Java实现基于朴素贝叶斯的情感词分析
朴素贝叶斯(Naive Bayesian)是一种基于贝叶斯定理和特征条件独立假设的分类方法,它是基于概率论的一种有监督学习方法,被广泛应用于自然语言处理,并在机器学习领域中占据了非常重要的地位.在之前 ...
-
<;机器学习实战>;读书笔记--朴素贝叶斯
1.朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法, 最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(Naive Bayesian Model, ...
-
机器学习实战笔记(Python实现)-03-朴素贝叶斯
--------------------------------------------------------------------------------------- 本系列文章为<机器 ...
随机推荐
-
noip 借教室 线段树95分做法
大致的思路是用线段树维护每个区间内部的最小值 段更新最小值 每次查某个区间的最小值是否满足租借要求 满足就借出去 update最小值 注意pushdown操作 还有一个从子区间提取答案的操作 提交地 ...
-
给VMware下的Linux扩展磁盘空间(以CentOS6.5为例)
#查看挂载点:df -h#显示: 文件系统 容量 已用 可用 已用%% 挂载点/dev/mapper/vg_dc01-lv_root47G 12G 34G 25% /tmpfs 504M 88K 50 ...
-
.net开发,html ajax开发架构之我见 bs ajax最简化法 Knock out Request,totally oo
.net开发中,无论ajax还是webform,webpage, 总免不了要和request这个静态全局,可以远程通信的对象打交道. 而对于软件来讲,按照Matin Fowler的的面向对象,可利用软 ...
-
初学HTML5系列三:事件
Window 事件属性 针对 window 对象触发的事件(应用到 <body> 标签): 属性 值 描述 onafterprint script 文档打印之后运行的脚本. onbefor ...
-
第一百零五节,JavaScript正则表达式
JavaScript正则表达式 学习要点: 1.什么是正则表达式 2.创建正则表达式 3.获取控制 4.常用的正则 假设用户需要在HTML表单中填写姓名.地址.出生日期等.那么在将表单提交到服务器进一 ...
-
MYSQL 主从服务器配置工作原理
一. 主从配置的原理: Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql instanc ...
-
ThinkPHP 2053错误
这个报错是调用存储过程的时候产生的,用的是5.1的代码是根据官方文档写的,我怀疑5.0也有这个问题.去官方查了一下发现不少人有这个问题,但是官方都没有回应过,只能自己动手一步步调了. $center ...
-
python基础之 面向对象
1.什么是面向对象? 在大学学习c#的时候接触面向对象,知道好像有什么方法,属性,人狗大战啥的.但是都忘记了,也不知道面向对象到底是个啥! 在python中一切都是对象,linux中一切都是文件(突然 ...
-
LeetCoder题解之Find All Anagrams in a String
1.题目描述 2.题目分析 直接使用 哈希表记录子串的信息,然后对比两个哈希表信息即可 3.代码 vector<int> findAnagrams(string s, string p) ...
-
几个常用的Eclipse插件
用Eclipse Neon做ROS开发需要几个常用的插件,可以大大加速开发的进度. 1.常用插件 a.CMake Editer 地址:http://cmakeed.sourceforge.net/ec ...