贝叶斯推理原理

贝叶斯推理是一种精确的数据预测方法。当没有足够多的数据,而又想准确的获取预测信息时,它特别有用。

提起贝叶斯,人们总是对它充满了敬仰之情,但是贝叶斯并不是传说中的那么神秘。它的概念很容易理解,并不是那么深不可测。贝叶斯推理可以让我们从已知数据的综合判断中得出更有力的结论。

贝叶斯推理源自托马斯贝叶斯的观点,托马斯贝叶斯是300年前住在伦敦的一位思想开放从不墨守成规的长老会牧师。他写过两本书,一本是关于神学的,一本是关于概率的。他的工作就包括现在著名的并且已经被应用到推理问题以及基于经验的推测问题中的贝叶斯定理的原始形式。贝叶斯推理能够快速的被人们熟知得益于另外一位牧师理查德普莱斯的大力推崇,他看到了贝叶斯的重要性,对贝叶斯推理进行了总结和提炼,因此贝叶斯定理也被人们称为Bayes-Price定理。

影院中的贝叶斯推理

想象下面一个场景,你正在影院中看电影,突然前面一个人掉了一张电影票。上图就是这个人的背影。此时,你想引起那位朋友的主意,但是你只看到了那个人的背影,一头飘逸的长发……你不知道这个人是男生还是女生,是说:“先生,你票掉了”还是“美女,你票掉了”呢?鉴于对当地男生和女生发型的了解,我们可能会认为这是个女生。这个例子很简单,只有两种发型长度和两种性别。

接下来,考虑一下情况的变化,假如发现这个人在男士休息室排队,那么有了这个额外的信息,我们可能会认为这个人是位男生。此例依据常识和背景知识就能做出判断,无需思考。而贝叶斯推理就是这种方式的数学形式,我们借助贝叶斯推理可以对事物做出更准确的预测。

现在我们将上面的情况加上数字,假定影院中一半是男生一半是女生,假定观影的人一共100个人,那么有50个女生,50个男生。
在这些女生中有一半(25人)留长发,一半(25人)留短发;在男生中,有48人留短发,2个人留长发。因此就有25个留长发的女生和2个留长发的男生。由此可推断,那位掉票的人很大几率上是女生。

假定100个人在男士休息室外面排队,其中98个男士,另外还有2个女士陪伴着他们自己的伴侣。一半的女士仍然留着长发,另一半留着短发,即2个女士中一个留着长发一个留着短发。长发男士和短发男士的比例依旧保持不变,那么98个男士中94个是长发,4个是短发。那么就有1个女士和4个男士留有长发,据此可以推断,持票者是男士的几率更大一些。这是贝叶斯推理原理的实际例子,事先知道一个关键信息-门票持有者在男士休息室外排队,可以帮助我们更好的做出预测。

为了更清楚的讨论贝叶斯推理,我们有必要花一些时间明确的定义一些理念。在深入理解贝叶斯推理的原理之前需要了解一些数学概念,包括概率、条件概率、联合概率以及边际概率。

概率

一件事发生的概率等于改时间发生的数目除以所有事件发生的数目。观影者中为女士的概率为50除以所有观影者100,即50%,那么观影者中为男士的概率也是50%。

而在男士休息室外排队这种情况下,排队者中为女士的概率变为2%,而为男士的概率变为98%。

条件概率

条件概率回答了类似这样的问题:“假如我知道一个人是女士,那么她留长发的概率是多少?”条件概率的计算方法和直接概率的计算方法是一样的,但它们更像所有例子中满足特定条件的一个子集。在我们的例子中,P(long hair | woman)为拥有长发女士的数目除以女士的总数,这个结果是50%,不管是在男士休息室外排队的女士还是整个影院观影的女士。

同样P(long hair | man)为留长发的男士的概率,这个结果为4%,不管他是在观影还是在男士休息室外排队。

很重要的一点,条件概率P(A|B)并不等于P(B|A)。比如,P(cute | puppy) 是不一样的 P(puppy | cute)。如果我抱着是小狗,那么它可爱的概率就很高,如果我抱着的东西很可爱,那么它是小狗的概率就可能很低,因为它可能是小猫、兔子、刺猬或者是一个小宝宝。

联合概率

联合概率适合回答类似这样的问题:“一个人是短发女人的概率是多少?”找出这个问题的答案需要两个步骤,首先我们关注的是某个人是女人的概率P(woman),然后我们引入某人是短发的概率,假设她是女士, P(short hair | woman),通过乘法将他们结合起来得到联合概率,P(woman with short hair) = P(woman) P(short hair | woman),通过这个方法,我么可以计算出P(woman with long hair)=0.50.5=0.25,而男士休息室中 P(woman with long hair)为0.01,因为P(woman)是不同的,

同样,在所有观影者中P(man with long hair) 为0.02, 但是在男士休息室外排队的P(man with long hair)为0.04。

与条件概率不同,联合概率和顺序无关,P(A and B) 等同于P(B and A)。比如,我们同时吃牛奶和油炸圈的概率和同时吃油炸圈和牛奶的概率是一样的。

边际概率

这些基础的概念中,最后我们了解一下边际概率。边际概率特别适合回答类似这样的问题:“某人留有长发的概率是多少?” 为了找出答案,我们需要累加所有可能发生的情况,男人留有长发的概率加上女人留有长发的概率,P( long hair)=P(man with long hair)+P(woman with long hair),有上面计算的结果可以得出,某人留有长发的概率在所有观影者中为0.27,在男士休息室这个概率为0.05。

贝叶斯定理

现在来看一下我们真正关心的地方,我们想找出这个问题的答案:“如果我们指导某个人有长头发,那么他是女人或男人的概率是多少?”这是一个条件概率, P(man | long hair),与前面我们得到的P(long hair | man)恰好相反,但是条件概率不可逆,因此我们对P(man | long hair)一无所知,值得一提的是,托马斯贝叶斯观察到一些很酷的东西可以帮到我们

我们应该还记得上面联合概率的计算方法,我们可以写出P(man with long hair) 和 P(long hair and man)的求解方程,因为联合概率是可逆的,因此这两个方程是相等的。

借助一点代数知识我们就能求解出P(man | long hair)

用A和B代替man和long hair,我们可以得出贝叶斯定理

回到前面开始的部分,我们借助贝叶斯定理解决电影票的问题

首先我们需要扩大我们的边际概率P(long hair)

代入数字,计算出某人是男士且留长发的概率。对于在男士休息室外排队的人当中留长发且为男士P(man | long hair)为0.8,这个数字也证实了我们的直觉,那位丢票的人很大概率上是位男士。贝叶斯定理抓住了此情形下我们的直觉,更重要的是它整合了人们先验知识,即在男士休息室外排队的人中,男士远多于女士。利用这一先验知识,它更新了我们在此情形下的认识。

概率分布

以上的例子很好的解释了贝叶斯推理的由来,并展示了其运作机理。然而,在数据科学应用中它长应用于数据解释。通过对所测量东西的先验知识的提取,我们可以通过小数据集得出更有力的结论。在详细展示贝叶斯是如何工作之前我们徐亚先弄清楚所谓的概率分布。

现在可以想象有一壶咖啡正好可以装满一个杯子,如果我们有不止一个杯子,那么我们就必须考虑如何分配这一壶咖啡。当然,我们可以任意分,只要将所有咖啡倒入杯子中。放到电影院的例子中,一个杯子可能代表男士或代表女士。

或者我们可以用四个杯子来表示性别和长短发的所有组合分布,在这两种情况下,总咖啡量加起来为一杯。

通常我们将这些杯子挨个放到一起,每个杯子里的咖啡量看做一个柱状图,将咖啡看做我们的信仰,然后他们的分布展示了我们相信某种事物的强烈程度。

假如我们扔出一枚硬币,并盖住它,你会认为正面或反面的概率是一样的。


同样我们掷一个骰子,并盖住它,你会认为六个面朝上的概率是一样的。

假如我们买了一期彩票,我们会认为中奖的概率几乎为零,抛硬币、掷骰子以及购买彩票等这些都可以视为测量和数据收集的例子。

毫不奇怪,我们也可以对其它收集的数据持有某种观点,比如美国人的身高,如果我告诉你我见过并测量过某人的身高,那么你对他们身高的看法就类似上图,这表明人们相信美国人的身高在150-200cm之间,而且最有可能在180-190cm之间。

也可以将这个分布区间细化,可以看做将一壶咖啡装在更多更小的杯子上,以获得更小的细粒度。

最终虚拟的杯子数量越来越多,以至于这个比喻可能不那么恰当了,此时这个分布是连续的。使用它的数学方法可能有一些变化,但是底层的基本思想还是一致的,此图展示了我们对某一事物认知的概率分布。

至此,我们了解了概率分布,我们可以使用贝叶斯定理去解释一些数据了,为了说明这个问题,我们以狗的称重为例。

兽医领域的贝叶斯推理

当去看兽医时,需要给小狗称重,但是小狗总是喜欢在秤上晃来晃去,这样就很难得到准确的体重,但是这个体重是否准确还是很关键的。如果体重增加了,我们必须减少它的食物摄入量,狗狗爱吃胜过爱自己。就这样,在狗狗的来回晃动中,我们测得了三组数据,分别是13.9磅、17.5磅、14.1磅。通过计算这组数据的均值、标准差和标准误差就可以得到小狗的体重分布图

这个图就是狗的称重分布图,它是一个均值为15.2标准差为1.2的正态分布,三条白线是我们三次实际测量的结果,从这条曲线可以看出,尽管峰值为15.2但在13处很容易达到一个很低的值,在17处很容易达到一个很高的值,过于宽泛,我们很难做出一个合理的预测,当遇到这种情况时,我们可以进行更多次的测量,但是在某些情况下多次测量是不可行的,我们的例子中在狗狗失去耐心前也只能进行这几次的测量。

这个时候贝叶斯定理就派上用场了。

为了更清楚的描述贝叶斯的使用,我们用w(weight)和m(measurements)替换A和B,先验P(w)表示我们对已有事物的认知,在这里为在狗狗称重前我们认为的它的体重w,似然值P(m | w)表示测量某一特定重量的概率。后验P(w | m)表示测量后体重为w的概率,当然这也是我们最关心的。

P(m)表示任何数据点被测到的概率,本例中我们假设它为一常量,且测量本身是无偏的。

假定狗狗的体重是 13磅或者15磅或者1磅或者1000000磅的概率是一样的,因此我们假设一个统一的先验,这意味着它的概率分布对于所有的值都是一个常数,因此可以将贝叶斯定理简化为P(w | m) = P(m | w)

借助狗狗的每个可能体重我们可以得到三个测量值的似然值,比如,如果体重是1000磅,那么我们的测量结果是极不可能的。如果体重实际上是14磅或16磅,那么我们的测量值是很有可能的。我们可以遍历体重的每一个假设值计算我们的测量结果的似然值,这就是P(m | w)。得益于这个均一的先验,它等同于后验分布P(w | m)

这并非偶然,通过均值、标准偏差、标准差计算得来的结果,很像答案。实际上他们是一样的,都是采用一个统一的先验给出一个传统的统计结果的估计,曲线的峰值即均值,15.2也被称为最大似然估计MLE

虽然使用了贝叶斯定理,但离有用的估计还差一些距离。为此,我们需要均一的先验概率,先验概率表示我们在进行测量之前对某一事物的信任程度。均一的先验概率说明我们相信每一个可能的结果都具有相同的概率,这通常很少见。我们通常知道我们测量的量年龄总是大于零,温度总是高于-276摄氏度,成年人的身高很少超过8英尺。有时候我们有额外的领域知识,有些值很有可能出现在其他值中。

在狗狗的称重案例中,还有一些其他的信息,比如,上次去看兽医时它的体重是14.2磅,而且这段时间并没有感觉到它有明显的变重和减轻。虽然手臂并不能准确的感觉到这个重量的变化。鉴于此,我们粗略的估计它大概有14.2磅,可能有上下一两磅的偏差,为了方便,我们使用一个最大值14.2,标准差为0.5的正态分布表示

有了先验概率,我们就可以重复计算后验概率。为此,我们考虑一种可能性,假设狗狗的重量为一特定值,比如说17磅,然后17磅这一似然值乘以测量值为17的条件概率,接着对于其他的体重,重复这一过程。先验的作用是降低某些概率,扩大其他概率。本例中,增加更多的测量值在13-15磅之间,之外的区间减少测量值,这与均一先验概率是不同的。它给出了一个狗狗体重是17磅的合理的可能性,在非均一先验概率下,17磅落在正太分布的尾部,乘以该处的概率使17磅体重的似然值降的很低。

通过计算狗狗每一个可能的体重的概率,我们得到一个新的后验概率。后验概率分布的峰值也叫作最大后验概率(MAP),在本例中为14.1磅。这与之前使用均一先验概率计算的结果明显不同,此峰值更窄,有助于我们做出更可信的估计。现在看,狗狗的体重变化不大,它的体型依旧如前。

通过整合我们的认知以及测量值,我们能够更有信心的做出一个更准确的估计。有助于我们使用更小的数据集。先验概率赋予17.5磅一个很低的概率值,这几乎等同于反对此偏离正常值的测量值。不同于直觉和常识的异常检测方式,贝叶斯定理有助于我们使用数学的方式进行异常检测。

另外,我们假设P(m)是均一的,碰巧我们知道我们的测量存在某种程度上的偏差,这将反映在P(m)中,如果测量仅仅输出一些偶数或者10%的时间内返回一个2.0或者每三次测量产生一个随机数,那么必须手动修改P(m)以提高后验概率的准确性

规避贝叶斯陷阱

求解狗狗的体重体现了贝叶斯推理的优势,但这也存在一定的陷阱。通过对答案做一些假设我们提高了我们的估计,测量某个事物的目的就是了解它,假设我们已经知道答案,那么我们可能会删减一些数据。马克吐温简明扼要的指出了强先验的危害:“让你陷入困境的不是你所不知道的事情,而是你知道的那些看似正确的东西”

假如采用强先验假设,一开始假设它的体重在13磅到15磅之间,那么如果真实体重为12.5磅,那么我们将无法探测到。我们的先验会为这个结果赋零概率值,无论做多少次测量,低于13磅的值都将视作无效。

幸运的是有一种方法可对冲我们的赌注,避免盲目的排除可能性。对于每一个结果至少赋予一个小的概率,假如借助物理学上的某种巧合,狗狗的体重真的有1000磅,那么我们的测量数据也能反映在后验概率后果。这就是正态分布常被用作先验概率的原因之一。正太分布集中了我们对于某种事物的大多数认识,但是他们的尾部很长,无论延伸多远,尾部永远不会是零。

红桃皇后在这方面是一个很好的榜样:

爱丽丝笑道:“试了也没用的,没有人相信那些不可能的事情”
皇后说:“我敢说,你练得不多。当我年轻的时候,我通常每天花半个小时都在闭上眼睛做深呼吸,为什么,因为在早饭前我就已经意识到六种不可能了”

刘易斯·卡罗尔(《爱丽丝漫游奇境记》)

本文翻译自:https://brohrer.github.io/how_bayesian_inference_works.html

您的支持是我原创的动力