[Thinkbayes]贝叶斯思维读书笔记-1-贝叶斯定理
使用贝叶斯定理,目前来看最重要的一点在于假设。就是未知事件已知化,同时也要注意假设的全程性,不能从中开始新的假设,这种假设往往是不全面的。
我自己找到的假设的方法有两种,一种是命名,一种是时序。全程性就体现在时序上了,假设考虑的范围要从第一条相关条件开始。
举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-朴素贝叶斯
--------------------------------------------------------------------------------------- 本系列文章为<机器 ...
随机推荐
- C++ ofstream和ifstream具体的方法和C语言file说明
ofstream是从内存到硬盘,ifstream是从硬盘到内存,事实上所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,全部的I/O都以这个"流"类为基础的,包含我 ...
- selenium2入门 断言失败自动截图 (四)
一般web应用程序出错过后,会抛出异常.这个时候能截个图下来,当然是极好的. selenium自带了截图功能. //获取截图file File scrFile= ((TakesScreenshot)d ...
- SQL点滴27—性能分析之执行计划
原文:SQL点滴27-性能分析之执行计划 一直想找一些关于SQL语句性能调试的权威参考,但是有参考未必就能够做好调试的工作.我深信实践中得到的经验是最珍贵的,书本知识只是一个引导.本篇来源于<I ...
- C#编程实践—EventBroker简单实现
前言 话说EventBroker这玩意已经不是什么新鲜货了,记得第一次接触这玩意是在进第二家公司的时候,公司产品基础架构层中集成了分布式消息中间件,在.net基础服务层中使用EventBroker的模 ...
- Memcache存储大量数据的问题
Memcache存储大数据的问题 huangguisu Memcached存储单个item最大数据是在1MB内,假设数据超过1M,存取set和get是都是返回false,并且引起性能的问题. 我们之 ...
- Linux环境下搭建php开发环境的操作步骤
本文主要记载了通过编译方式进行软件/开发环境的安装过程,其他安装方式忽略! 文章背景: 因为php和Apache等采用编译安装方式进行安装,然而编译安装方式,需要c,c++编译环境, 通过apt方式安 ...
- AngularJs ng-repeat 必须注意的性能问题
AngularJs 的 ng-repeat 让我们非常方便的遍历数组生成 Dom 元素,但是使用不当也会有性能问题. 在项目中我们使用 ng-repeat 加载完一个列表后,如果再次请求数据,然后过滤 ...
- ASP.NET MVC Model绑定
ASP.NET MVC Model绑定(一) 前言 ModelMetadata系列的结束了,从本篇开始就进入Model绑定部分了,这个系列阅读过后你会对Model绑定有个比较清楚的了解, 本篇对于Mo ...
- Yeoman入门之安装及环境配置
Yeoman入门之安装及环境配置 http://blog.csdn.net/panlingfan/article/details/27345037 http://www.nodejs.orgYEOMA ...
- Eclipse编辑器样式修改
很多的开发工具都可以更改主题样式,但eclipse作为一款影响力巨大的开源开发工具,却没有自带更改样式的功能,这多少令人有点小遗憾.Eclipse 4之后,Eclipse使用者呼声高涨,就有人开始做起 ...