先看一个生活中的例子。
王宏去医院作验血实验,检查他患上了X疾病的可能性,其结果居然为阳性,把他吓了一大跳,赶忙到网上查询。网上的资料说,实验总是有误差的,这种实验有“百分之一的假阳性率和百分之一的假阴性率”。这句话的意思是说,在得病的人中做实验,有1%的人是假阳性,99%的人是真阳性。而在未得病的人中做实验,有1%的人是假阴性,99%的人是真阴性。于是,王宏根据这种解释,估计他自己得了X疾病的可能性(即概率)为99%。王宏想,既然只有百分之一的假阳性率,那么,百分之九十九都是真阳性,那我已被感染X病的概率便应该是99%。
可是,医生却告诉他,他被感染的概率只有0.09左右。这是怎么回事呢?王宏的思路误区在哪里?
医生说:“百分之九十九?哪有那么大的感染几率啊。99%是测试的准确性,不是你得病的概率。你忘了一件事:这种X疾病的正常比例是不大的,1000个人中只有一个人有X病。”
医生的计算方法是这样的:因为测试的误报率是1%,1000个人将有10个被报为“假阳性”,而根据X病在人口中的比例(1/1000=0.1%),真阳性只有1个。所以,大约11个测试为阳性的人中只有一个是真阳性(有病)的,因此,王宏被感染的几率是大约1/11,即0.09(9%)。
王宏想来想去仍感糊涂,但这件事激发了王宏去重温他之前学过的概率论。经过反复阅读,再思考琢磨医生的算法之后,他明白了自己是犯了那种叫做“基本比率谬误”的错误,即忘记使用“X病在人口中的基本比例(1/1000)这个事实。
谈到基本比率谬误,我们最好是先从概率论中著名的贝叶斯定理【1】说起。托马斯·贝叶斯(ThomasBayes ,1701年–1761年)是英国统计学家,曾经是个牧师。贝叶斯定理是他对概率论和统计学作出的最大贡献,是当今人工智能中常用的机器学习之基础框架,它的思想之深刻远出一般人所能认知,也许贝叶斯自己生前对此也认识不足。因为如此重要的成果,他生前却并未发表,是他死后的1763年,才由朋友发表的。本篇将对贝叶斯定理稍作介绍,我们在本系列的后几篇,将讨论贝叶斯学派以及贝叶斯理论在人工智能中的应用。
初略地说,贝叶斯定理涉及到两个随机变量A和B的相互影响,如果用一句话来概括,这个定理说的是:利用B带来的新信息,应如何修改B不存在时A的“先验概率”P(A),从而得到B存在时的“条件概率”P(A|B),或称后验概率,如果写成公式便是:
这儿“先验后验”的定义是一种“约定俗成”,是相对的。比如说也可以将A、B反过来叙述,即如何从B的“先验概率”P(B),得到B的“条件概率”P(B|A),见图中虚线所指。
不要害怕公式,通过例子,我们能慢慢理解它。例如,对前面王宏看病的例子,随机变量A表示“王宏得X病”;随机变量B表示“王宏检查结果”。先验概率P(A)指的是王宏没有检查结果时得X病的概率(即X病在公众的基本概率0.1%),而条件概率(或后验概率)P(A|B)指的是王宏“检查结果为阳性”的条件下得X病的概率(9%)。如何从基本概率修正到后验概率的?待会儿再解释。
贝叶斯定理是18世纪的产物,200来年用得好好的,不想在20世纪70年代遇到了挑战,该挑战来自于卡尼曼和特维尔斯基(Tversky)提出的“基础概率谬误”(Base-RateFallacy)。丹尼尔·卡尼曼(Daniel Kahneman,1934年-)是以色列裔美国心理学家,2002年诺贝尔经济学奖得主。基础概率谬误并不是否定贝叶斯定理,而是探讨一个使人困惑的问题:为什么人的直觉经常与贝叶斯公式计算的结果相违背?如同刚才的例子所示,人们在使用直觉的时候经常会忽略基础概率。卡尼曼等在他的文章《思考,快与慢》中举了一个出租车的例子来启发人们思考这个影响人们“决策”的原因。我们不想在这儿深谈基础概率谬误对“决策理论”的意义,只是借用此例来加深对贝叶斯公式的理解:
某城市有两种颜色的出租车:蓝和绿(市场比率15:85)。一辆出租车夜间肇事后逃逸,但还好当时有一位目击证人,这位目击者认定肇事的出租车是蓝色的。但是,他“目击的可信度”如何呢?公安人员经过在相同环境下对该目击者进行“蓝绿”测试而得到:80%的情况下识别正确,20%的情况不正确。也许有读者立刻就得出了结论:肇事之车是蓝色的几率应该是80%吧。如果你作此回答,你便是犯了与上面例子中王宏同样的错误,忽略了先验概率,没有考虑在这个城市中“蓝绿”车的基本比例。
那么,肇事之车是蓝色的(条件)几率到底应该是多少呢?贝叶斯公式能给出正确的答案。首先我们必须考虑蓝绿出租车的基本比例(15: 85)。也就是说,在没有目击证人的情况下,肇事之车是蓝色的几率只有15%,这是“A=蓝车肇事”的先验概率P(A)= 15%。现在,有了一位目击者,便改变了事件A出现的概率。目击者看到车是“蓝”色的。不过,他的目击能力也要打折扣,只有80%的准确率,即也是一个随机事件(记为B)。我们的问题是要求出在有该目击证人“看到蓝车”的条件下肇事车“真正是蓝色”的概率,即条件概率P(A|B)。后者应该大于先验概率15%,因为目击者看到“蓝车”。如何修正先验概率?为此需要计算P(B|A)和P(B)。
因为A=车为蓝色、B=目击蓝色,所以P(B|A)是在“车为蓝色”的条件下“目击蓝色”的概率,即P(B|A)=80%。最后还要算先验概率P(B),它的计算麻烦一点。P(B)指的是目击证人看到一辆车为蓝色的概率,等于两种情况的概率相加:一种是车为蓝,辨认也正确;另一种是车为绿,错看成蓝。所以:
P(B) = 15%×80% + 85%×20% = 29%
从贝叶斯公式:
可以算出在有目击证人情况下肇事车辆是蓝色的几率=41%,同时也可求得肇事车辆是绿车的概率为59%。被修正后的“肇事车辆为蓝色”的条件概率41%大于先验概率15%很多,但是仍然小于肇事车可能为绿的概率0.59。对王宏测试X病的例子,读者可以参考这儿的方法,不难得出正确的答案,作者就不再赘述了。