[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-朴素贝叶斯
--------------------------------------------------------------------------------------- 本系列文章为<机器 ...
随机推荐
- 亮点面试题&&实现Singleton(辛格尔顿)模式-JAVA版本
称号:设计一个类.我们只能产生这个类的一个实例.(来自<剑指Offer>) 解析:仅仅能生产一个实例的类是实现Singleton(单例)模式的类型.因为设计模式在面向对象程序设计中起着举足 ...
- [Android] Volley源代码分析(五岁以下儿童)Q \\ u0026一个
Volley源代码分析系列那里一段时间,告诉我,有许多私人留言,同时一些问题抛出.对于一些简单的问题,我们跳,这两天被连接到朋友@smali提出的问题.告诉我你不得不赞叹查看源代码时的详细程度,大家一 ...
- python基础课程_学习笔记20:标准库:有些收藏夹——os
标准库:有些收藏夹 os os模块为您提供访问多个操作系统服务特征. os和它的子模块os.path还包含一些用于检查.构造.删除文件夹和文件的函数,以及一些处理路径的函数. os模块中一些重要函数和 ...
- [译]ava 设计模式之享元
(文章翻译自Java Design Pattern: Flyweight) 享元模式用于最小化内存开销.它做的就是使用其他相似的对象尽可能多的分享数据. 1.享元模式类图 2.享元模式Java代码 / ...
- leetcode第32题--Search in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 migh ...
- codeforces #257 C称号Jzzhu and Chocolate
职务地址:http://codeforces.com/contest/450/problem/C 这次CF的时候绝壁脑残了. ..A题和C题都出现了脑残失误... 唯一一个AC的B题还是被HACK了. ...
- mysql基础之对库表操作
原文:mysql基础之对库表操作 查看一下所有的库,怎么办? Mysql>Show databases; 选库语句: Use 库名 创建一个数据库: create database 数据库名 [ ...
- 值为NULL的对象指针
相信大家对NULL不会很陌生,NULL 是一个标准规定的宏定义,用来表示空指针常量,当一个指针变量被赋值为NULL时,表示它不再指向任何有效地址,无法在访问任何数据.在VS2012库文件stdio.h ...
- MVC5入门学习系列④
添加Model且简单的使用EF 对于EF(EntityFramework)不了解的朋友可以去百度文科或者在园子里搜一些简资源看下,假如和我一样知道EF的概念,那么就知道EF有一个code first的 ...
- C#动态表达式计算(续1)
距上一帖近五天时间,让大家久等了,没想到关注这个话题的也不少人,正如有同志所说的想解决该问题其实是有太多的解决方法,比如动态构造类编译.调用vbscript或者可以采用javascript解析引擎或者 ...