人工智能通识

贝叶斯概率的十层理解(3)

2024-05-02  本文已影响0人  zhyuzh3d

世界是我们的,也是你们的,但归根结底,世界是贝叶斯的。
—— 胡所巴道·丹史乎由谢道里斯基

希望这篇文章能够带大家一起了解神奇的贝叶斯概念,启发更多神奇的思考。

继续上文...

第七层、公式展开:贝叶斯为什么难用?

如下图所示,先是只有B条件,然后又增加了C条件。(图上比例是瞎画的,不能当真)

我们不断增加新条件,条件增多就会导致满足条件的可能性逐渐缩小,而我们寻找的后验概率就是在这个更小范围内,目标事件发生的概率。

条件增多,范围变小,目标范围变小

如图所示,我们先研究秃子中有多少是程序员,然后又研究穿西装的秃子中有多少是程序员,总之,我们就是关注更小范围内有多少是程序员。

下图是增加了条件D戴墨镜的情况,你能找出新的后验概率的分子和分母吗?

增加D条件

显示中我们得到的条件往往不止BCD三种,可能会更多,多很多。而我们知道,每次计算都不容易,很费脑筋。有没有更有效的办法快速向下推导更多条件呢?

我们从贝叶斯公式知道,条件B下的后验概率P(A|B)等于先验概率P(A)乘以一个分数即P(B|A)/P(B)

P(A|B)=P(A)*\frac{P(B|A)}{P(B)}

贝叶斯公式中各部分的名称如下:

结合上面的图理解,可以这样思考,先验概率和边缘概率可以看做数量,所以必须有相同的分母,即相同的条件范围,即本次计算的整体。而后验概率和似然率可以看做比例,他们没有单位,同时P(A|B)=P(A且B|B) ,所以改造后公式:

P(A且B|B)=P(A|X)*\frac{P(A且B|A)}{P(B|X)}

依照上面公式,新的的先验就是上次的后验,新的后验P_n等于先验P_{n-1}乘以一个比例数a_{n-1}

P_4=P_3*a_3=(P_2*a_2)*a_3=(P_1*a_1)*a_2*a_3

这样下去似乎只要计算出a1、a2、a3...就可以一路乘下去获得P_n了。拿那个穿西装戴墨镜的秃头举例来说(注意先验和边缘都是相同条件):

(1)P(程|秃)=P(程|班)*\frac{P(秃|程且班)}{P(秃|班)}

=P(程|班)*\frac{P(秃且程|程)}{P(秃|班)}

=P(秃且程|秃)

(2) P(程|装且秃)

= P(程|秃)*\frac{P(装|程且秃)}{P(装且秃|秃)}

= P(秃且程|秃)*\frac{P(装且秃且程|秃且程)}{P(装且秃|秃)}

=P(装且秃且程|装且秃)

(3) P(程|墨且装且秃)

=P(程|装且秃)*\frac{P(墨|装且秃且程)}{P(墨且装且秃|装且秃)}

=P(装且秃且程|装且秃)*\frac{P(墨且装且秃且程|装且秃且程)}{P(墨且装且秃|装且秃)}

= P(墨且装且秃且程|墨且装且秃)

这样计算下去有点绕,其实我们只要把握一个原则,就是把事件写全,然后就可以当做除法进行约分。

P(A|B)=P(A且B|B且X)=P(A且X|X)*\frac{P(A且B|A且X)}{P(B且X|X)}

\frac{A且B}{B且X}=\frac{A且X}{X}*\frac{A且B}{A且X}*\frac{X}{B且X}

这其实还是很难记忆,尤其是很难确定似然率的写法,其实只要把握下面几点:

简化记忆就是似然是分子相除,边缘是分母相除,都是后验除先验:

似然率=P(后验分子|先验分子)

边缘概率=P(后验分母|先验分母)

带入原来的公式就变成了:

P(A|B)=P(A|X)*\frac{P(B|A)}{P(B|X)}

注意!上面公式里分子的P(B|A)和分母的P(B|X)中的两个B是不同的,展开写完整应该是P(B|A)=P(A且B|A)P(B|X)=P(B且X|X)

我们都展开写完整,再看一次转为除法约分:

P(A|B)=P(A且B|B且X)=P(A且X|X)*\frac{P(A且B|A且X)}{P(B且X|X)}

\frac{A且B}{B且X}=\frac{A且X}{X}*\frac{A且B}{A且X}*\frac{X}{B且X}

套用这个公式,先把先验和后验写上,然后把先验后验都展开,然后拼出似然和边缘,最后再根据公式的含义找到似然和边缘应该对应的值,计算出后验。

比如这个红绿车肇事问题。

某城市早晨发生一场车祸,肇事车逃逸,该城市只有绿色和红色两种汽车,红色占比20%,现有一目击证人称肇事车为红色。已知普通人在当时早晨光线不好的情况下,仅有60%可能正确分辨汽车颜色,其中红色汽车都能被正确识别出来,那么肇事车实际为红色的概率是多少?

P(真红且认为是红|认为红)=P(真是红车|所有车)*\frac{P(真红且认为是红|真是红车)}{P(认为红色|所有车)}

带入公式求解:

P(真红且认为是红|认为红)=P(真是红车|所有车)*\frac{P(真红且认为是红|真是红车)}{P(认为红色|所有车)}

=后验*\frac{似然}{边缘}=0.2*\frac{1}{0.6}\approx33\%

结论是肇事车实际仅有三分之一可能是红车,也就是说更可能是绿车。

如果没有人指认,肇事车是绿车的概率是80%,现在降到了60%,总体来说,第一个指认是红色的条件下,绿车的可能性降低了。

那么如果有第二个人B也指认是红车呢?我们来算一下。

展开公式:

P(真红且A红且B红|A红且B红)=P(真红|A红)*\frac{P(真红且A红且B红|真红)}{P(A红且B红|A红)}

带入公式求解:

后验*\frac{似然}{边缘}=0.33*\frac{1}{0.73}\approx45\%

这个45%的结论,其实就是B正确识别的真红33%占他识别为红的总数73%的比例。

如果第三个人C也指认是红车,那么会怎样?

只关注边缘概率。如上所述,B把33%的真红车和40%的真绿车都当成了红车,C以这个为整体进行识别。C仍然把真红都正确识别了,此时正确率是33/73=45%,要达到40%错误率,就要再把40%的绿车识别为红车,累计把45%+40%=85%识别为红色。即边缘概率P(A红B红C红|A红B红)=85%

带入公式求解:

后验*\frac{似然}{边缘}=0.45*\frac{1}{0.85}\approx52\%

这次增加更小了。
这个52%的结论,其实就是C正确识别的真红45%占他识别为红的总数85%的比例。

继续第四个人D,计算边缘概率。按照上面结论,C识别为红色的结果中包含52%是真红,都会被D识别出来,此外D还要再错误的识别40%绿车为红色,累计识别红色的有92%,结论就是四个人都认为是红色,那么真是红色的概率就是0.52/0.92=56%。

如果我们继续下去就会发现,为了满足40%的错误率,当某人识别的红车中有60%是真红色的时候,下一个人就只能把所有车都识别为红色了,是的,他必须把那40%的绿色车也说成是红色。因此无论多少人再继续指认是红车,后验结果都会停留在60%这个水平。

这是不合理的。一个可行的对题目的修正就是把笼统的仅有60%可能正确分辨汽车颜色,其中红色汽车都能被正确识别出来改为红色汽车都可以正确识别,但绿色汽车只有60%可能被正确识别,这样的话随着指认人数的增加,真是红车的后验概率就可以逼近100%,你可以自己动手实验一下。

再来举一个例子。

经典的三门两羊问题。有三个关闭的门,我在其中两个门后分别放了一只羊,另一个门后放了一辆汽车,你的任务是选到放汽车的门。你先选择了一个门,我并不马上打开这个门,而是打开了另外一个放羊的门,让你看到门后是羊,这时候我问你,要不要放弃原来选择的门,改为选另一个没开的门?

首先,如果不换,所选的门(A)是车的概率是1/3,无论主持人怎么开门关门都没影响,但是对接下来我开门的动作就产生了影响,因为我只能在剩下两个门(BC)中选一个门打开。

我可以打开B保留C,也可以打开C保留B,这两种情况是相同的,我们只考虑其中一种,最后概率乘以2即可。如果我们开B留C,那么换C拿到车的概率就是:

P(C是车B是羊|全部)=P(C是车B是羊|B是羊)*\frac{P(C是车B是羊|C是车B是羊)}{P(全部|B是羊)}

这个其实是在求先验,但从形式上没区别,一样可以使用,请注意P(全部|B是羊)这种写法,在条件概率中是不合规则的,因为概率不能超过1,在这里我们必须把它理解成比例或者除法。整体是1,P(B是羊)占整体的2/3,所以1比2/3就等于3/2。

其中,P(C是车B是羊|B是羊)似乎并不明显;P(C是车B是羊|C是车B是羊)明显绝对100%满足,C是车的话B肯定是羊;P(无条件|B是羊)是3/2。所以:

P(C是车B是羊|全部)=P(C是车|B是羊)*\frac{1}{3/2}=P(C是车|B是羊)*2/3

我们用公式求P(C是车|B是羊)即B是羊的情况中有多少比例C是车:

P(C是车|B是羊)=P(C是车|全部)*\frac{P(C是车且B是羊|C是车)}{P(B是羊|全部)}

其中,P(C是车|全部)是1/3,P(B是羊|全部)是2/3;而P(C是车且B是羊|C是车)明显是100%必然发生:

P(C是车|B是羊)=1/3*\frac{1}{2/3}=1/2

注意这不是真正获得车的概率,它的分母是B是羊,而我们要的是P(C是车B是羊)即整体中的比例。

带回到上面公式,得出开B留C情况下C门是车的概率:

P(C是车B是羊|全部)=P(C是车|B是羊)*2/3=1/2*2/3=1/3

同理:

P(B是车C是羊|全部)=1/3

累加得到最终结论,换门得到车的概率是2/3:

P(开门是羊且闭门是车|全部)=P(C是车B是羊|全部)+P(B是车C是羊|全部)=2/3

以上故意使用了繁琐的贝叶斯来推理计算,并且引入了奇怪的大于1的概率写法...其实最简单的解答就是:你只有换或者不换两种选择,既然不换是1/3,那么换肯定是2/3。


这节有点乱,有待检查和改进
<未完待续>
下篇我们将关注更多有趣的相关算法和知识,敬请关注。

上一篇 下一篇

猜你喜欢

热点阅读