周末了,看一些违反直觉的小问题们。
你打算去西雅图旅游,但不确定是否会下雨。你打电话给三个在西雅图居住但彼此不认识的朋友询问。你的每个朋友都有2/3的可能告诉你真实情况,也有1/3的可能他们会搞砸。询问后所有的朋友都告诉你会下雨。
那么是不是第一反应西雅图会下雨呢?
而实际西雅图下雨的概率有多大呢?
是直接相信直觉还是计算下?
P(A|D) ∝ P(A)*P(D|A) = X * 2/3 * 2/3 * 2/3 = 8X/9
P(B|D) ∝ P(B)*P(D|B) = (1-X) * 1/3 * 1/3 * 1/3 = (1-X)/9
假如X为0.5,则西雅图下雨的概率
P(A|D) = 8/9
。
注意:不是直接带入X做计算
根据1965-99年记录的气象资料显示,西雅图一年有822个小时在下雨,约占全年的10%。即西雅图会下雨的先验概率是10%
。
以此计算的后验概率P(A|D)=8/17
。
三人都可成虎,而算出的概率确不足十分之五~~
是不是觉得不可思议???!
有个游戏,暂且叫“开门大吉”。主持人向你展示3个关着的门, 每个门后面都有一个奖品,其中一个是汽车
,另外两个是不值钱的物品, 参与人选中一个门,如果门后面是车,则车子归参与人所有。假设你选中了一个门A
,还剩下两个门B
和C
。在打开你选中的门A
之前,主持人会随机打开另外两个门中的一个,比如B
,发现门后面没有车。这时主持人会问你要不要坚持之前的选择A
还是选择C
?
换还是不换是一个问题?
你觉得呢?
B
,且门B
后面没有车。我们称之为D
。P(A|D)
,P(C|D)
,并且P(B|D)
=0。
P(A|D) ∝ P(A)*P(D|A) = 1/3 * 1/2 = 1/6 P(B|D) ∝ P(B)*P(D|B) = 0 P(C|D) ∝ P(C)*P(D|C) = 1/3 * 1 = 1/3
表格表示 (想一下最后一列怎么来的)Prior | Likelihood | Posterior | ||
---|---|---|---|---|
P(H) | P(D|H) | P(H)*P(D|H) | P(H|D) | |
A | 1/3 | 1/2 * 1 | 1/6 | 1/3 |
B | 1/3 | 0 | 0 | 0 |
C | 1/3 | 1 | 1/3 | 2/3 |
注:
凶杀案现场留有两个人的血迹,一种为常见的O型血(人群中出现概率60%), 另一种为AB型血(人群中出现概率为1%)。一位叫Oliver的人被认定为嫌疑人, 经检测其位O型血,则请判断现场中血迹有一个来源于Oliver的概率多大?
P(A|D) ∝ P(A)*P(D|A) = P(A) * 1% = 0.01
P(B|D) ∝ P(B)*P(D|B) = P(B) * 2 * 60% * 1% = 0.012
假设人群中每个人患癌的概率为1%。老年人(65岁)占人群比例的0.2%。患有癌症的老年人占人群比例的0.5%。那么给定一位65岁老人,推测其患癌症的 概率是多少?
P(H|D) = P(H)*P(D|H)/P(D)
= 0.5 * 1 / 0.2 / 100 = 2.5%。说了这么多,都是贝叶斯定律的问题,下面看看到底是怎么回事?
测试下看完理论,是否可以处理后面的案例?
P(A)
, 事件B发生的概率写作 P(B)
, 给定事件A后事件B发生的概率 P(B|A)
, 事件A和B同时发生的概率P(A and B)
。P(B|A) = P(B)
, P(A|B) = P(A)
A事件是否发生对B事件的发生没有影响,反之亦然, 即表明A事件与B事件独立。P(A and B) = P(A) * P(B)
当事件A和B独立时,即 P(B|A) = P(B), P(A|B) = P(A) 时。
若事件A和事件B不一定相互独立呢?更通用的法则是:
P(A and B) = P(A) * P(B|A) P(A and B) = P(B) * P(A|B)黑球
和罐1
.
假如我们知道取得黑球的概率P(黑球)
和给定黑球后球是从罐1取得的概率P(罐1|黑球)
(这个是我们要计算的,假设个变量标记下就好), 我们可以计算出联合概率:P(黑球 and 罐1) = P(黑球)*P(罐1|黑球)
。
另外我们也可以先选择罐1,然后再取出黑球,这样联合概率就是:
P(黑球 and 罐1) = P(罐1)*P(黑球|罐1)
综合以上2个公式,我们就可以得到:
P(黑球)*P(罐1|黑球) = P(罐1)*P(黑球|罐1) P(罐1|黑球) = P(罐1)*P(黑球|罐1) / P(黑球) = P(罐1)*P(黑球|罐1) / (P(罐1)*P(黑球|罐1)+P(罐2)*P(黑球|罐2)) = 0.5 * 0.75 / (0.5 * 0.75 + 0.5 * 0.5) = 0.6
注:这是一个简单的例子作为引子,是一个非常规解法。例子中的P(黑球)可以比较容易计算,所 以我们只需要一步就可以算出黑球从罐1中取出的概率有多大。贝叶斯方法来源于托马斯·贝叶斯生前为解决一个“逆概”问题而写的文章。在贝叶斯之前,“正向概率”已经能够计算,如“假设封闭袋子里有N个白球, M个黑球,随机摸一个出来是黑球的概率有多大”。而一个自然而然的反向思考是:如果事先不知道袋子里面黑白球的比例, 随机取出一个(或多个)球,观察取出的球的颜色, 是否就可以推测袋子里黑白球的比例?
这正如我们日常所观察到的都是表面的结果,很难看到事务后面的本质, 如上述例子中封闭袋子里黑白球的比例。因此我们需要根据我们的观察, 提出一个猜测或假设,然后评估这个假设发生的概率。如算出不同猜测的可能性 大小,即后验概率。对于连续的猜测空间,则是计算猜测的概率密度函数;最后得到最靠谱的猜测。
概括来讲,贝叶斯方法是一个分而治之的思想,把难以计算的概率用先验知识和 似然值估算出来。也反映了我们随着观察的不管深入,对之前的认识的不断更新。
P(H|D) = P(H)*P(D|H)/P(D)
贝叶斯推理分为两个过程;第一步是根据观测数据穷举出全部独立的模型,也叫假设;第二步是使用模型推测未知现象发生的概率。这时我们不是选择最靠谱的模型, 而是把全部模型对未知的预测加权平均起来(权重值就是模型相应的概率)。
一所学校,男生60%,女生40%。男生总是穿长裤,女生则一半穿长裤, 一半穿裙子。假设高度近视的你未带眼镜走在校园中, 发现迎面走来一个穿长裤的学生,但未分辨出男女, 那么推断这个是男生的概率多大?
D是:穿长裤的学生。
H是:A:这个学生是男生;B:这个学生是女生
待求:P(A|D) = P(男生|长裤)
表格表示
Prior | Likelihood | Posterior | ||
---|---|---|---|---|
P(H) | P(D|H) | P(H)*P(D|H) | P(H|D) | |
A | 0.6 | 1 | 0.6 | 3/4 |
B | 0.4 | 0.5 | 0.2 | 1/4 |
公司在不同年份生产的M&M豆包含的不同颜色的豆的比例不同, 1994年产的M&M豆包装中,棕色30%,黄色20%,红色20%,绿色10%,橙色10%, 茶色10%;1996年产的M&M豆包装中,棕色13%,黄色14%,红色13%,绿色20%, 橙色16%,蓝色24%。假设手中有两粒M&M豆,分别是橙色和绿色, 一个来自1994年包装,一个来自1996年包装,求算橙色来源于1994年包装的概率?
解题思路:
P(橙色|94)*P(绿色|96) = 0.1 * 0.2 * 100 = 20
P(橙色|96)*P(绿色|94) = 0.16 * 0.1 * 100 = 16
P(橙色|94)*P(绿色|96)
= 0.1 * 0.2 = 0.02P(橙色|96)*P(绿色|94)
= 0.16 * 0.1 = 0.016P(A|D) ∝ 0.05 * 20 = 10
P(B|D) ∝ 0.05 * 16 = 8
Prior | Likelihood | Posterior | ||
---|---|---|---|---|
P(H) | P(D|H) | P(H)*P(D|H) | P(H|D) | |
A | 0.5 | 10 * 20 | 100 | 5/9 |
B | 0.5 | 16 * 10 | 80 | 4/9 |
假设人群中每个人患癌的概率为1%。老年人(65岁)占人群比例的0.2%。患有癌症的老年人占人群比例的0.5%。那么给定一位65岁老人,推测其患癌症的 概率是多少?
P(H|D) = P(H)*P(D|H)/P(D)
= 0.5 * 1 / 0.2 / 100 = 2.5%。在利用贝叶斯定理处理问题时,要注意先验概率的获取。少数情况可以随便假设 ,多数情况需要对先验概率有个模型或者好的统计资料来计算。只有在有足够多 的观察或者合适的似然值模型下,先验概率的影响才会变小。
据CDC统计,与不抽烟者相比,抽烟的男人患肺癌的几率高23倍,抽烟的女性患 肺癌的几率高13倍。现有一名女性,诊断为肺癌,请判断她抽烟的概率多大?
P(A|D) ∝ P(A)*P(D|A) = X * 13Y
P(B|D) ∝ P(B)*P(D|B) = (1-X) * Y
(A|D)=13X/(1+12X)
注:
假设一项药物测试的假阳性率(非特异性)和假阴性率(不敏感性)都是1%。已知人群中服用过该药物的个体约占0.5%。如果随机选择一个个体检测为阳性, 那么他服药的概率是多少?
P(H1|D) ∝ P(H1) * P(D|H1) = 0.5% * 99% = 0.495%
P(H2|D) ∝ P(H2) * P(D|H2) = (1-0.5%) * 1% = 0.995%
0.01* 995 ≈10
个会出现检测结果阳性。5个嗑药个体中有0.99 * 5 ≈5
个检测结果阳性。所以在15个阳性检测结果中,只有约33%为真阳性。P(H1|D) ∝ P(H1) * P(D|H1) = 0.5% * 100% = 0.5%
P(H2|D) ∝ P(H2) * P(D|H2) = (1-0.5%) * 1% = 0.995%
P(H1|D) = 5 / (5+9.95) = 33.4%
P(H1|D) ∝ P(H1) * P(D|H1) = 0.5% * 99% = 0.495%
P(H2|D) ∝ P(H2) * P(D|H2) = (1-0.5%) * 0.5% = 0.4975%
P(H1|D) = 4.95 / (4.95+4.975) = 49.87%
在概率论应用中,贝叶斯法则指事件A1相对于事件A2在给定另一事件之前和之后 的比值比(odds ratio)。先验比值比(prior odds ratio)是事件之间先验概率的比值。后验比值比(posterior odds ratio)是在给定条件事件之后的后验概率的比值。后验比值比正相关于先验比值比乘以似然值(likelihood ratio, 又称Bayes factor)。
# O: odds ratio
# ^: likelihood
# P: probability
O(A1:A2|B) = ^(A1:A2|B) * O(A1:A2)
^(A1:A2|B) = P(B|A1) / P(B|A2)
O(A1:A2) = P(A1) / P(A2)
O(A1:A2|B) = P(A1|B) / P(A2|B)
假设一项药物测试的假阳性率(非特异性)和假阴性率(不敏感性)都是1%。已知人群中服用过该药物的个体约占0.5%。如果随机选择一个个体检测为阳性, 那么他服药的概率是多少?
如果用贝叶斯法则的比值比来表示:
1* 99 : 199 * 1
Here lists all code for bayes learning in ipython notbook
format.