题目
假设有一种病叫做“贝叶死”,它的发病率是万分之一,即 10000 人中会有 1 个人得病。现有一种测试可以检验一个人是否得病的准确率是 99.9%,它的误报率是 0.1%,那么现在的问题是,如果一个人被查出来患有“叶贝死”,实际上患有的可能性有多大?
你可能会想说,既然查出患有“贝叶死”的准确率是 99.9%,那是不是实际上患“贝叶死”的概率也是 99.9% 呢?实际上不是的。你自己想想,在 10000 个人中,还存在 0.1% 的误查的情况,也就是 10 个人没有患病但是被诊断成阳性。当然 10000 个人中,也确实存在一个患有贝叶死的人,他有 99.9% 的概率被检查出来。所以你可以粗算下,患病的这个人实际上是这 11 个人里面的一员,即实际患病比例是 1/11≈9%。
前置知识
边缘概率
又称先验概率,是某个事件发生的概率,而与其它事件无关。一般代表通过经验来判断事情发生的概率,比如说“贝叶死”的发病率是万分之一,就是先验概率。再比如南方的梅雨季是 6-7 月,就是通过往年的气候总结出来的经验,这个时候下雨的概率就比其他时间高出很多。
边缘概率是这样得到的:在联合概率中,把最终结果中不需要的那些事件合并成其事件的全概率而消失(对离散随机变量用求和得全概率,对连续随机变量用积分得全概率)。这称为边缘化(marginalization)。A的边缘概率表示为,B的边缘概率表示为
。
条件概率
也称为后验概率,就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为,读作“在B条件下A的概率”。
比如说某人查出来了患有“贝叶死”,那么患病的原因可能是 A、B 或 C。患有“贝叶死”是因为原因 A 的概率就是后验概率。
联合概率
表示两个事件共同发生的概率。A与B的联合概率表示为或者
,或者
。
似然函数
你可以把概率模型的训练过程理解为求参数估计的过程。举个例子,如果一个硬币在 10 次抛落中正面均朝上。那么你肯定在想,这个硬币是均匀的可能性是多少?这里硬币均匀就是个参数,似然函数就是用来衡量这个模型的参数。似然在这里就是可能性的意思,它是关于统计参数的函数。
贝叶斯定理
实际上贝叶斯原理就是求解后验概率,我们假设:A 表示事件 “测出为阳性”, 用 B1 表示“患有贝叶死”, B2 表示“没有患贝叶死”。根据上面那道题,我们可以得到下面的信息。
患有贝叶死的情况下,测出为阳性的概率为,没有患贝叶死,但测出为阳性的概率为
。另外患有贝叶死的概率为
,没有患贝叶死的概率
。
- 那么我们检测出来为阳性,而且是贝叶死的概率
- 那么我们检测出来为阳性,但不是贝叶死的概率
然后我们想求得是检查为阳性的情况下,患有贝叶死的概率,也即是。
那么我们就可以通过这样一个公式得到
下面我们根据上面的例子考虑一下这个问题:是在B发生的情况下A发生的可能性。
- 首先,事件B发生之前,我们对事件A的发生有一个基本的概率判断,称为A的先验概率,用
表示;
- 其次,事件B发生之后,我们对事件A的发生概率重新评估,称为A的后验概率,用
表示;
- 类似的,事件A发生之前,我们对事件B的发生有一个基本的概率判断,称为B的先验概率,用
表示;
- 同样,事件A发生之后,我们对事件B的发生概率重新评估,称为B的后验概率,用
表示。
贝叶斯公式的表示如下所示:
上面的贝叶斯公式就是由条件概率得到的,根据条件概率的定义,在事件B发生的条件下事件A发生的概率是
同样地,在事件A发生的条件下事件B发生的概率
整理与合并上述两个方程式,便可以得到:
接着,上式两边同除以P(B),若P(B)是非零的,我们便可以得到贝叶斯定理的公式表达式了。
当然下面的这种形式也是对的
