1.3 条件概率、联合概率以及贝叶斯公式

如果我们能够得到世界上所有事物(事件和物体)的联合概率或者条件概率,那么决策就容易多了。贝叶斯公式体现的就是这两者的关系。下面的内容主要解释这个关系是如何建立的。

1.3.1 计算条件概率和联合概率

很多人会觉得条件概率和联合概率非常初级,地球人都应该知道。但是在实际计算中,却经常算不对或者搞混掉。所以在这里通过具体的例子来说明一下,大家也可以根据例子先自己进行计算,然后看看是否和我们的理解一致。

图1-8

如图1-8所示,有4个苹果,两种口感。我们不纠结苹果的颜色的深浅,简单分成红和青两种颜色,口感也简单分成好吃和不好吃两种。把x设置为颜色,y设置为口感,那么现在就有了如下样本:

(1,0)、(1,0)、(1,1)、(2,1)

请计算Pxy)和Py|x)的值。

由于样本数据比较少,所以我们通过手工来计算这两个概率值。

先计算联合概率,也就是Pxy),其结果如表1-3所示。

表1-3

这个估计大家都不会计算错,Pxy)是计算指定xy同时出现的次数在总数据中的比例。比如取x=1,y=0来计算,会发现(1,0)在4个苹果中出现了2次,所以其结果是2/4。其他取值也如此计算即可。

下面计算条件概率Py|x),也就是在某个x值下,出现不同y的次数在x值相同的总次数中的比例。具体的计算结果如表1-4所示。

表1-4

你计算对了吗?

因为对于Py|x)来说,譬如我们取y=0,x=1,即计算Py=0|x=1),在x=1时,在所有样本中出现了3次,在这3个样本中,y=0是两个,所以Py=0|x=1)=2/3。

现在我们来看一看Pxy)和Py|x)有什么关系?

根据概率论知识,我们知道Pxy)=Py|xPx),也就是说(xy)的联合概率是在x单独出现的概率基础上,再乘以在x出现的情况下出现y的概率。可以用表1-3和表1-4的值进行验证。

同样地,Pxy)=Px|yPy),也就是说:

Pxy=Py|xPx=Px|yPy

变换一下格式:

上面的这个公式,就叫作贝叶斯公式。其推导过程非常简单,公式推导不是主要目的,而是要明白这个公式的现实含义是什么。

提示

联合概率虽然可以体现数据相对最真实的情况,但是在变量比较多时,其数量就会大幅上升,譬如m个变量,每个变量有n1n2nm种不同的值,其组合会达到n1×n2××nm种,导致计算量大幅上升,而如果用条件变量来计算的话,计算量相对就会少很多,因此有时候可以通过计算条件概率来简洁地获得联合概率的效果。

1.3.2 贝叶斯公式的历史和现实含义

18世纪英国业余数学家托马斯·贝叶斯(Thomas Bayes,1702—1761)提出过一种看上去似乎显而易见的观点:“用客观的新信息更新我们最初关于某个事物的信念后,我们就会得到一个新的、改进了的信念。”它的数学原理很容易理解,简单说就是:如果你看到一个人总是做一些好事,则会推断那个人多半会是一个好人。当你不能准确地知悉一个事物的本质时,可以依靠与事物特定本质相关的事件出现的多少去判断其本质属性的概率。用数学语言表达就是:支持某项属性的事件发生得越多,则该属性成立的可能性就越大。与其他统计学方法不同,贝叶斯方法建立在主观判断的基础上,你可以先估计一个值,然后根据客观事实不断修正。

1774年,法国数学家皮埃尔-西蒙·拉普拉斯(Pierre-Simon Laplace,1749—1827)独立地再次发现了贝叶斯公式。拉普拉斯给出了我们现在所用的贝叶斯公式的表达,如图1-9所示。

图1-9

该公式表示在x事件发生的条件下y事件发生的条件概率,等于y事件发生条件下x事件发生的条件概率乘以y事件的概率,再除以x事件发生的概率。公式中,pxpy)也叫作已有的经验(先验概率),px|y)称为可能性(似然),py|x)叫作更新的经验(后验概率)。严格地讲,贝叶斯公式至少应被称为“贝叶斯-拉普拉斯公式”。

把图1-9所示的公式换两个参数后的表示形式如下:

其中m表示数据,θ表示某个分布的参数,意思就是,我们在未获取数据之前先假设数据的概率为某一分布,之后随着数据的不断累积,先验概率的影响越来越小,数据比重则越来越大。给定先验概率的目的在于,数据比较少的情况下,统计可能会出现偏差,而先验概率可以纠正这种偏差。

长期以来,贝叶斯方法虽然没有得到主流学术界的认可,但其实经常会不自觉地应用它来进行决策,而且还非常有效。比如炮兵在射击时会使用贝叶斯方法进行瞄准。炮弹与子弹不同,它的飞行轨迹是抛物线,瞄准的难度更大,因此炮兵会先根据计算和经验把发射角调整到一个可能命中的瞄准角度(先验概率),然后再根据炮弹的实际落点进行调整(后验概率),经过2、3次射击和调整后炮弹就能够命中目标了,如图1-10所示。

在日常生活中,我们也常使用贝叶斯方法进行决策。比如在一个陌生的地方找餐馆吃饭,因为之前不了解哪家餐馆好,似乎只能随机选择,但实际上并非如此,我们会根据贝叶斯方法,利用以往积累的经验来提供判断的线索。经验告诉我们,通常那些坐满了客人的餐馆的食物要更美味些,而客人寥寥的餐馆,食物可能不怎么样还可能会被宰。这样,就常常通过观察餐厅的上座率来选择餐馆就餐。这就是根据先验知识进行的主观判断。在吃过以后对这个餐馆有了更多实际的了解,以后再选择时就更加容易了。

图1-10

所以说,在认识事物不全面的情况下或者说认知缺陷很大的情况下,贝叶斯方法是一种很好的利用经验帮助人们做出更合理判断的方法。“大胆假设,小心求证”“不断试错,快速迭代”,这些都可以看成是贝叶斯公式的不同表述。贝叶斯公式更多的是体现一种思想,至于公式中是乘号还是加号,其实并不那么重要了。

在机器学习中,我们经常用贝叶斯公式来解决分类问题,具体例子见第3部分“垃圾邮件判断”案例。

贝叶斯公式不仅在自然科学领域掀起革命,其应用范围也延伸到了关于人类行为和人类大脑活动的研究领域。