从贝叶斯定理到贝叶斯网络

贝叶斯网络之父judea pearl说:我是AI社区的叛徒。

人工智能领域的先驱、贝叶斯网络之父 Judea Pearl 认为 AI 深陷于概率关联的泥潭,而忽视了因果。Pearl 认为研究者应该研究因果(Cause and Effect),这可能是实现真正智能的机器的可能路径。

一、贝叶斯定理

贝叶斯定理也称贝叶斯推理,一开始提出该理论是为了解决“逆向概率”的问题。

正向概率:工厂里有一台正常运行的机器,运行一段时间后生产了M个好灯泡,N个坏灯泡,问随便取一个灯泡,取到坏灯泡的概率是多大?
逆向概率:事先并不知道机器是否损坏,随机取好几次灯泡,根据灯泡的好坏,推断机器损坏的概率。

贝叶斯定理公式:
P(A|B) = \frac{P(B|A)P(A)}{P(B)}

(1) 逆推案例

根据历史经验,已知完好的机器生产出好灯泡的概率为0.99,损坏的机器生产出好灯泡的概率为0.6。
现在突然检查到一个坏灯泡,请问机器正常运行的概率?检验员继续检查机器生产的下一个灯泡,发现依旧是坏灯泡,请问机器正常运行的概率?

这是一个典型的逆向推导问题,已知
P(L=good|M=workding)=0.99,P(L=bad|M=workding)=0.01
P(L=good|M=broken)=0.60,P(L=bad|M=broken)=0.40
现在已发现一个坏灯泡L=bad,求机器正常运行的概率P(M=workding|L=bad)
P(M=workding|L=bad) = \frac{P(L=bad|M=workding)P(M=workding)}{P(L=bad|M=workding)P(M=workding)+P(L=bad|M=broken)P(M=broken)}
=\frac{0.01*P(M=workding)}{0.01*P(M=workding) + 0.40*P(M=broken)}
这里出现两个值P(M=workding)、P(M=broken)
先随便编一个,假设P(M=workding)=0.99,P(M=broken)=0.01
=\frac{0.01*0.99}{0.01*0.99+0.40*0.01}=0.71
运算完以后输出两个值P(M=workding)=0.71、P(M=broken)=0.29

(2) 先验概率与边缘概率

这里需要提两个概念“先验概率”、“边缘概率”,有的地方把先验概率和边缘概率定义为同一个东西,都理解为“某个事情发生的概率”。我认为可以这样理解:

先验概率:是指根据以往经验和分析得到的概率。
边缘概率:推断得到的

上面的推导中,我们一开始随便设置P(M=workding)=0.99,P(M=broken)=0.01,这个值是根据历史经验中机器运行的表现判断的,我们把它称作先验概率。
已知检测到一个坏灯泡,经过贝叶斯计算以后得到P(M=workding)=0.71、P(M=broken)=0.29,这个值是计算得到的,和历史经验没直接关系,我们把它称为边缘概率。

(3) 贝叶斯推断

贝叶斯推断案例一

继续检查,发现第二个检查的灯泡仍是坏的

P(M=workding|L2=bad) = \frac{P(L2=bad|M=workding)P(M=workding)}{P(L2=bad|M=workding)P(M=workding)+P(L2=bad|M=broken)P(M=broken)}
=\frac{0.01*P(M=workding)}{0.01*P(M=workding) + 0.40*P(M=broken)}
第一个灯泡是坏的,更新了机器正常运行的概率,此时输入的P(M=workding)=0.71、P(M=broken)=0.29
=\frac{0.01*0.71}{0.01*0.71+0.40*0.29}=0.057

所以连续第二个还是检查到坏灯泡,大概率上机器是坏掉了。

贝叶斯推断案例二

著名的三门问题,现场有三扇关闭了的门,其中一扇的后面有辆跑车,而另外两扇门后面则各藏有一只山羊。一直C门后面是山羊,请问你选择的门后有概率是多少?
事件A代表你第一次选择的门后是跑车,B代表主持人翻开的门后是山羊,现在B已发生。

P(A|B) = \frac{P(B|A)P(A)}{P(B)}
先验概率,根据历史经验有1/3的概率选中跑车,P{A}=1/3
P(B)主持人翻开的门后是山羊的概率,按照节目关心,主持人会打开山羊的门,P(B)=1
主持人一定选择山羊,事件B一定发生:P{B|A} = 1
=1/3

所以不换的胜率是1/3,因此一定要换。

贝叶斯推断案例三

最经典的一个例子就是疾病检测,假设某种疾病在所有人群中的感染率是0.1%,医院现有的技术对于该疾病检测准确率为 99%。
如果从人群中随机抽一个人去检测,医院给出的检测结果为阳性,那么这个人实际得病的概率是多少?

P(患病|检测为阳性) = \frac{P(检测为阳性|患病)P(患病)}{P(检测为测为阳性)}
先验概率:根据历史经验判断。P(患病)=0.001
如果已经患病,被检测出来的概率 P(检测为阳性|患病)=0.99
=\frac{P(检测为阳性|患病)P(患病)}{P(检测为阳性|患病)P(患病)+P(检测为阳性|健康)P(健康)}
=\frac{0.999*0.001}{0.999*0.001+0.01*0.999}=0.09

由于疾病的患病概率实在很小,导致该疾病哪怕检测出来为阳性,实际患病的概率依旧很小(四舍五入等于没可能患病,别担心)
于是,不死心又去检查了。

如果第二次检查为阳性
P(患病|检测为阳性) = \frac{P(检测为阳性|患病)P(患病)}{P(检测为测为阳性)}
因为第一次为阳性修正了患病概率,此时P(患病)=0.09
如果已经患病,被检测出来的概率 P(检测为阳性|患病)=0.99
=\frac{P(检测为阳性|患病)P(患病)}{P(检测为阳性|患病)P(患病)+P(检测为阳性|健康)P(健康)}
=\frac{0.999*0.09}{0.999*0.09+0.01*0.91}=0.908

如果第二次检查为阴性
P(患病|检测为阴性) = \frac{P(检测为阴性|患病)P(患病)}{P(检测为测为阴性)}
因为第一次为阳性修正了患病概率,此时P(患病)=0.09
如果已经患病,被误检的概率 P(检测为阴性|患病)=0.01
=\frac{P(检测为阴性|患病)P(患病)}{P(检测为阴性|患病)P(患病)+P(检测为阴性|健康)P(健康)}
=\frac{0.01*0.09}{0.01*0.09+0.99*0.999}=0.0009

如果第二次检测为阴性,就完全可以放心了,复检结果大大提高了检测的可信度。

以上推论案例,都是贝叶斯算法解决“逆向概率”的问题。在实际生活中,贝叶斯推论应很广泛。

二、贝叶斯网络

有向图模型,也称为贝叶斯网(BayesianNetwork,BN),其网络结构使用有向无环图。

(1) 联合概率与边缘概率

首先梳理贝叶斯网络的两个重要概念及其计算。

联合概率定义:表示XXX个事件共同发生的概率。
边缘概率:某个事件发生的概率。

已知天空是多云的,没打开过洒水器,之前下过雨,所以早晨起来看见地面是湿的有多大的概率?
联合概率 可以理解为P(多云,没打开洒水器,下过雨,早上地湿)四件事一起发生的概率。
边缘概率 就是早上起来P(早上地湿)的概率。看上去好像很简答,但P(早上地湿)要考虑多种情况。

联合概率

假如我们在照看花园,草地是湿的。我们想知道草地为什么是湿的。有两种
可能:之前下过雨或者我们忘记关掉洒水器。而且,我们可以观察天空。如果是多云天气,就有可能之前下过雨。但是,如果是多云天气,我们很有可能不会打开洒水器。

观察下图,每个结点旁边都有一个表格,表示T发生与F不发生的概率,我们把这个概率叫做条件概率。根据父节点的发生/不发生定义自身发生/不发生的概率。例如P(rain=F|cloudy=F)=0.8

左侧栏为这幅图可能发生的所有联合概率,例如不是多云,没有下雨,也没有打开洒水器,早上地也不湿这样的情况发生的概率为:P(Cloudy=0,Spring=0,Rain=0,Wet=0)=0.200

让我们来看看联合概率是怎么计算的。
由于图的特殊性,贝叶斯网络的联合概率公式为:
p(x_1,x_2,...,x_n) = \prod_{i=1}^n p(x_i|parents(x_i))
即该结点发生的条件概率之和夫结点有关系,不考虑没有连接关系的几点。

例如:
计算c=0,s=0,r=0,w=0同时发生的概率(联合概率)
p(c=0,s=0,r=0,w=0)
= p(c=0)p(s=0|c=0)p(r=0|c=0)p(w=0|s=0,r=0)
= 0.5*0.5*0.8*1 = 0.200
计算c=0,s=0,r=0,w=1同时发生的概率(联合概率)
p(c=0,s=0,r=0,w=1)
= p(c=0)p(s=0|c=0)p(r=0|c=0)p(w=1|s=0,r=0)
= 0.5*0.5*0.8*0.0 = 0.000
其他组合的联合概率参见上图左侧。

边缘概率

边缘概率 Marginal Probability 是某个事件发生的概率。

方法一
边缘概率是这样得到的:在联合概率表中把那个事件相关的概率求和。
例如求p(s=1) 就是把上面联合分布表中s=1的概率求和
p(s=1) = 0.020+0.180+0.001+ 0.050 + 0.001 + 0.009 + 0.000+ 0.040 = 0.3
p(c=1) = 0.090+0.000+0.036+ 0.324 + 0.001 + 0.009 + 0.000+ 0.040 = 0.5

方法二
边缘概率公式为:p(A) = \sum p(A|B)p(B)
p(s=1)= p(s=1|c=0)p(c=0) + p(s=1|c=1)p(c=1)
= 0.5 * 0.5 + 0.1 * 0.5 = 0.3
所以s=1发生的概率为0.3

对于洒水器的打开与否,我们之前只知道如果不是阴天,有0.5的概率打开洒水器,如果是阴天只有0.1的概率打开洒水器。这个概率我们可以根据历史数据统计出来。

C P(S=F) P(S=T)
F 0.5 0.5
T 0.9 0.1

还记得我们上面将先验概率和边缘概率的差别,两者都是描述一个事前发生的概率,但边缘概率是需要推断得到。

(2) 贝叶斯网络

已知结点和结点之间的连接关系,同时还知道了子节点和父节点间的条件概率,此时我们就可以求联合概率和边缘概率了。联合概率解答了一串事情共同发生的可能,边缘概率解答了某个结点发生的概率(例如,早晨起来地是湿的概率)。

在实际应用中,求解联合概率和边缘概率倒是其次,如果结点很多,关联关系复杂些,困难的是条件概率的构建。以Wetgrass为例,有两个父结点,构建的条件概率表为2^2行;如果有三个父节点,则条件概率表为2^3行;如果有n个父节点,则条件概率表为2^n行。
考虑计算机性能一般32个父结点,2^{32}行的条件概率会超出内存限制导致无法计算。

S R P(S=F) P(S=T)
F F 1.0 0
T F 0.1 0.9
F T 0.1 0.9
T T 0.01 0.99

参考资料

[1] 专访贝叶斯网络之父Judea Pearl:我是AI社区的叛徒https://baijiahao.baidu.com/s?id=1600692668193032477&wfr=spider&for=pc
[2] 《白板推导概率图》
https://www.bilibili.com/video/av33545406?from=search&seid=13894407203892398291
[3]什么是联合分布概率
https://wenku.baidu.com/view/7192db6d66ec102de2bd960590c69ec3d4bbdb76.html
[4] 贝叶斯算法及应用:https://www.bilibili.com/video/av39800693?from=search&seid=7055609900300366029
[5] 三门问题:http://baijiahao.baidu.com/s?id=1604863307926406800&wfr=spider&for=pc

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容