用于精准判断的贝叶斯定理

说起贝叶斯定理,不得不说条件概率,所谓“条件概率”(Conditional probability),指在事件B发生的情况下,事件A发生的概率,用P(A|B)来表示。条件概率计算公式为P(A|B) = P(AB)/P(B)。

    条件概率公式是一个定义公式,或者说是公理化的,不好证明和推导。只能通过逻辑来理解了,AB都发生的概率可以理解成B发生的概率乘以B发生的情况下A发生的概率,也即P(AB)=P(B)P(A|B),两边除以P(B),得到P(A|B)=P(AB)/P(B)。

       举个例子:根据大量数据统计,大熊猫活到十岁的概率是0.8,活到十五岁的概率是0.6,若现有一只大熊猫已经十岁了,则他活到十五岁的概率是多少?


    根据条件概率公式:P(15岁|10岁)=P(15岁*10岁)/P(10岁),大熊猫活到十五岁,显然就活过了十岁,所以P(15岁*10岁)=P(15岁),则P(15岁|10岁)=P(15岁)/P(10岁)=0.6/0.8=0.75。

       理解了条件概率后,我们再来看看贝叶斯定理。

 

       贝叶斯定理由英国数学家贝叶斯 ( Thomas Bayes 1702-1761 )提出,即:P(A|B)=P(B|A)P(A)/P(B)。
       有了条件概率公式,贝叶斯定理的推导和证明非常简单。
       根据条件概率定义:

P(A|B)=P(AB)/P(B),同理P(B|A)=P(BA)/P(A)

:P(AB)=P(A|B)P(B),P(BA)=P(B|A)P(A)

P(AB)表示A、B同时发生的概率,P(BA)表示B、A同时发生的概率,根据交换律,P(AB)=P(BA)

所以,P(A|B)P(B)=P(B|A)P(A)

则:P(A|B)=P(B|A)P(A)/P(B)

       贝叶斯定理本身和其证明过程都简单明了,看起来不起眼,但在实际应用中却显示出了令人吃惊的强大!

       在举实例之前,先了解下贝叶斯定理中的一些概念,把贝叶斯公式作下变形,得到如下形式:

                                                           P(A|B) = (P(B|A)/P(B))*P(A)

       其中,P(A)称为“先验概率”Prior probability),即在B事件发生之前,我们对A事件概率的一个判断。P(A|B)称为“后验概率”Posterior probability),即在B事件发生之后,我们对A事件概率的重新评估。P(B|A)/P(B)称为“调整因子”,调整因子可以大于1,也可以小于1,即B事件发生后,对A事件发生的概率是增强作用还是削弱作用。

即贝叶斯定理可表述成:

                               后验概率 = 调整因子 * 先验概率

    当然还有把P(B|A)称为“似然度”,P(B)称为“标准化常量”等。但个人认为不掺杂太多的概念,先把贝叶斯定理理解成“后验概率 = 调整因子 * 先验概率”的方式更利于对该定理的理解。

       贝叶斯定理在做判断上的应用:

1)有两个碗,1号碗里有30颗水果糖和10块巧克力糖,2号碗里有20颗水果糖和20块巧克力糖。然后把碗盖住。随机选择一个碗,从里面摸出了一颗水果糖。问题:这颗水果糖来自1号碗的概率是多少?

 

    我们希望得到概率P(1号碗|水果糖),但怎样进行计算并非显而易见。问题如果换成在1号碗中水果糖的概率则简单的多,P(水果糖|1号碗)=30颗水果糖/(30颗水果糖和10块巧克力糖)=3/4,但可惜的是条件概率并不满足交换律,P(1号碗|水果糖)和P(水果糖|1号碗)并不相同。有时,如果P(A|B)不好计算,而P(B|A)较好计算,那么可以试试贝叶斯定理,提供一种从P(B|A)得到P(A|B)的方法。

                                          P(1号碗|水果糖)=(P(水果糖|1号碗)/P(水果糖))*P(1号碗)

1).P(水果糖|1号碗)前面算过=3/4;

2).两个碗的选择是随机的,所以P(1号碗)=1/2;

3).P(水果糖),两个碗总糖果数是30颗水果糖+10块巧克力糖+20颗水果糖+20块巧克力糖=80,水果糖的数量是30+20=50,因此P(水果糖)=50/80=5/8;(注意这里是特例,因为选择两个碗的机会相等,两个碗中糖果的数量又都一样,一般情况下需要使用全概率公式计算。)

4).因此,P(1号碗|水果糖)=((3/4)/(5/8))*(1/2)=3/5。

5).这个例子我们需要关注的是信息条件:抓出的是水果糖。如果没有这个条件的存在,先验概率P(1号碗)=1/2(50%),有个这个条件后,后验概率提升到了3/5(60%)。

        看到这里,很多朋友就要问了,能解决这个例子又有什么用呢?现实世界可不是摸个水果糖这么简单。我们再看下一个例子:

(2)北京地区肝癌发病率为万分之四(0.0004),使用甲胎蛋白法检测,患者确实得病的情况下,99%呈现阳性,患者没有得病的情况下,0.1%呈现阳性。现在一个患者肝癌检测出阳性,问题:该患者患肝癌的概率是多少?

 

       我们把这两个应用对应下:

    有两个碗(一个患肝癌碗,一个不患肝癌碗),1号碗里有水果糖99个(阳性糖99个),巧克力糖1个(阴性糖1个),2号碗里有水果糖1个(阳性糖1个),巧克力糖999个(阴性糖999个),随机选择一个碗,从里面摸出了一颗水果糖(阳性糖)。问题:这颗水果糖(阳性糖)来自1号碗(患肝癌碗)的概率是多少?

       看到没,除了水果糖和巧克力糖的数量不一样,其他是不是一模一样的!

       我们来计算下:

                                         P(患肝癌|阳性)=(P(阳性|患肝癌)/P(阳性))*P(患肝癌)

1).P(阳性|患肝癌)=0.99;

2).P(患肝癌)=0.0004

3).P(阳性)的计算稍微复杂些,在这第二个例子中,患肝癌碗和不患肝癌碗的选择机会是不均等的,2个碗中糖果的数量也不一样。一般的,采用全概率公式来计算P(B)。设事件A为患肝癌,A-为不患肝癌,显然A和A-是互斥和完备的,构成全集空间,则根据全概率公式(推导过程见最后):P(B)=P(A)P(B|A)+P(A-)P(B|A-)。P(阳性)=P(患肝癌)P(阳性|患肝癌)+P(不患肝癌)P(阳性|不患肝癌)=0.0004*0.99+(1-0.0004)*(0.001)=0.001392

4).因此,P(患肝癌|阳性)=(P(阳性|患肝癌)/P(阳性))*P(患肝癌)=((0.99)/(0.001392))*(0.0004)=28.45%。

    上面疾病检测的例子在网上有很多,基本都从“假阳性”的方面说明阳性结果不足以说明病人得病。但从贝叶斯思想的角度上看,患肝癌的先验概率P(患肝癌)=0.0004(0.04%)的概率很低,在检测结果呈阳性事件发生后,患肝癌的后验概率达到了28.45%,即呈阳性的事件大大增强了患肝癌的概率,这时候需要的是引起高度重视。当然,从结果上看,检测结果呈阳性而真实患肝癌的概率不到30%,这也是为什么肝癌检测第一次呈阳性的人,还需要做第二次检测的原因。


附:全概率公式的推导

 

设红色部分A和绿色部分A-构成全集空间S。

 

B可分为2部分:白色斜线部分和黑色横线部分。这两部分分别等于P(BA)和P(BA-)。

因此,P(B)=P(BA)+P(BA-),根据条件概率公式:

P(B|A)=P(BA)/P(A),P(B|A-)=P(BA-)/P(A-),则:

P(BA)=P(B|A)P(A),P(BA-)=P(B|A-)P(A-)

所以:P(B)=P(B|A)P(A)+P(B|A-)P(A-)

 

参考文献:

(1)贝叶斯推断及其互联网应用(一):定理简介http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html

(2)精准的判断,离不开精准的概率计算:《得到App》-《卓老板聊科技》

猜你喜欢

转载自blog.csdn.net/zlp_zky/article/details/78082840