从贝叶斯公式推导开始

你知道么:人人都会贝叶斯。

来到一个陌生的城市,肚子咕咕作响,面对眼前的众多饭店,你会如何选择?看看这几家店哪一家最火吧,去那一家;打开大众点评,看看大家的评价?恭喜你,已经利用贝叶斯定理帮助自己做判断了。朴素的基本判断之外,贝叶斯定理在计算时代里有着更加广泛的应用,无论是在输入法的猜词、反垃圾邮件还是Google或者百度帮你做的翻译。贝叶斯定理还是机器学习重要的理论基础之一。从贝叶斯定理入手,开启机器学习、数据科学的学习吧。

基本概念

开始贝叶斯定理前,先做一些最基本的概率论知识回顾。

  • 概率的简单定义:$P(A)=\dfrac{发生事件A的可能数目}{所有可能结果的数目}=\dfrac{n(A)}{n(S)}$

  • 条件概率(conditional probability):$P(A\mid B)$:在已知B发生的情况下A的概率

  • 概率树(Probability Tree Diagrams)是非常直观的展示条件概率计算过程的工具,如何使用见下图左侧。

    从O节点开始,$P(A)$是否发生产生两个分支,每一个分支发生的概率分别是P(A)、P(A’)。在第二层级,考虑$P(B)$是否发生,在每一个新增的节点在此产生两个分支。这时候分支的概率是基于先验概率$P(A)$是否发生的基础上的$P(B)$是否发生的概率,所以会得到四个条件概率:$$P(B\mid A)、P(B\mid A’)、P(B’\mid A)、P(B’\mid A’)$$经过前面的计算,最后的结果是:$$P(A\cap B)、P(A’\cap B)、 P(A’\cap B)、P(A’\cap B’)$$概率树直观的表达了基础公式:$$P(A\cap B)=P(A)*P(B\mid A)$$

全概率公式

上图的基本概率树形式化,从A事件发生到不发生的两种可能性扩展到N种可能性后考虑后验事件B是否发生的可能性,作图如下:

求$P(B)$,通过图中观察可知$P(B)=P(A\cap B)+P(A’\cap B)$,带入公式$P(A\cap B)=P(A)*P(B\mid A)$得到:$$P(B)=P(B\mid A)P(A)+P(B\mid A’)P(A’)$$
结合图二,形式化之后得到全概率公式的一般形式:
$$P(B)=\sum_{i=1}^nP(B\mid A_i)P(A_i)$$

贝叶斯公式

有了概率树和全概率公式的基础,推出贝叶斯公式就简单了很多。重新确认一下问题:
已知$P(A\mid B)、P(B)$,求$P(B\mid A)$的过程。
$$P(B\mid A)=\dfrac{P(B\cap A)}{P(A)}=\dfrac{P(A\cap B)}{P(A)}$$
把$P(A\cap B)$和$P(A)$分别替换得到:
$$P(B\mid A)=\dfrac{P(A\mid B)P(B)}{P(A)}=\dfrac{P(A\mid B)P(B)}{P(A\mid B)P(B)+P(A\mid B’)P(B’)}$$

将公式形式化之后得到
$$P(B_i \mid A)=\dfrac{P(A\mid B_i)P(B_i)}{\sum_{i=1}^n P(A\mid B_i)P(B_i)}$$

简单应用

已知某种疾病的发病率是0.001,即1000人中会有一个人得病。现有一种试剂可以检验患者是否得病,它的准确率是0.99,即在患者确实得病的情况下,它有99%的可能呈现阳性。它的误报率是5%,即在患者没有得病的情况下,它有5%的可能呈现阳性。现有一个病人的检验结果为阳性,请问他确实得病的可能性有多大?


这是一道典型的贝叶斯定理问题,梳理一下已知的条件初步建模为:

  • 发病率为:$P(A)=0.001$
  • 检验结果为阳性:$P(B)$
  • 试剂的准确率是指在患者已经发病的前提下,检验结果呈现阳性的可能性:$P(B\mid A)=0.99$
  • 误报率是指在已知检测者没有得病的前提下,检验结果为阳性的可能性:$P(B\mid A’)=0.05$
  • 求解问题:患者检验结果为阳性的前提下,发病的可能性:$P(A\mid B)$

根据贝叶斯公式带入数据可直接得到结果:
$$P(A\mid B)= \dfrac {P(A)P(B\mid A)}{P(A)P(B\mid A)+P(A’)P(B\mid A’)}= \dfrac {0.001*0.99}{0.001*0.99+0.999*0.05} =\dfrac{0.00099}{0.05094}\approx0.0194$$

其中$P(B)=P(A)P(B\mid A)+P(A’)P(B\mid A’)=0.001*0.99+0.999*0.05=0.05094$,
所以还可以理解为:$$P(A\mid B)=\dfrac{P(A)*P(B\mid A)}{P(B)}$$

彩蛋

一个错误

第一张概率树的图片中有一个错误,大家发现了么?在推导红字底下第一行是不相等的,第二行是正确的。

这就结束了?

如果是在学生时代,做到这一步我会习惯性的合上所有的资料,题目算完,大功告成。是时候和自己的坏习惯说再见了。
贝叶斯定理的推导过程借助概率树还是很顺利的,但是自己心中始终有几个疑虑:

  • $P(A\cap B)=P(A)P(B\mid A)$是如何得到的?其他所有的内容不借助概率树也可以推导出来,但是这个公式是一开始就给出的。
  • 基于贝叶斯定理,形成了“贝叶斯学派”,这个定理到底有哪些具体的应用,为什么有那么大的影响力?瞎扯·贝叶斯学派

嗯,卖个关子,我们下一篇博文再来讨论。

声明: 本文转载需标明出处,禁止用于商业目的。

ChangeLog

161125 新建