【图解贝叶斯】用最简单的方法教会你用贝叶斯推理分辨“买东西的人”和“随便逛逛的人”...

点击上方 蓝字 关注我们

引言

贝叶斯推理是用先验概率推测后验概率的一种方法,也是笔试面试当中最常见的题型之一。首先,我们先来假设一个场景,假如你是商店售货员,你知道80%顾客只是进店随便逛逛,而只有20%的人真正是要购买商品。并且,你知道真正要购买商品向你询问商品信息的概率90%,而随便逛逛的人向你询问商品信息的概率只有10%。那么当有人向你询问商品信息时,你如何去估算这位顾客购买商品的概率呢?

补充知识介绍-手推贝叶斯公式

看了前面的情景假设,你不禁会想这就是贝叶斯推理啊,用先验概率推测后验概率,说到贝叶斯推理,我们不得不说一下条件概率。在事件 B 发生的情况下,事件 A 发生的概率,通常记为 ,也就是条件概率。而根据条件概率的公式可知:

对上述的条件概率公式变形得到:


 因此,上述的公式可以替换为:

 

对上面公式进行移项处理,由此,推导出了大名鼎鼎的贝叶斯公式:

 

上面是贝叶斯公式的推理过程,但是今天小编想要用最简单的方法,仅用几幅图,教会大家如何运用贝叶斯公式去计算出顾客询问商品时,会购买商品的概率。

01

通过经验设定“先验概率”

在贝叶斯统计学中,“某种类别的比率”有一个专有名词,叫做“先验概率”。通常“先验概率”是可以通过经验来判断,在特殊情况下,即使没有类似的经验也可以进行判断。之后,我们会详细讲解这种特殊情况。

根据场景假设,我们将整体分为了两种不同的情况,如图一所示,A情况下的顾客是“来买东西的人”,概率为20%;B情况下顾客为“随便逛逛的人,概率为80%”,但是我们不知道究竟是 A还是B,只需要在大脑中构建这样的一个大致印象,我们称之为“可能世界”。

02

设置发生“向店员询问”事件的条件概率

条件概率表示“某一特定类别采取各种行动的概率”,如果用“原因”的概念来解释的话,就是在原因明确的情况下,某一类别采取各项行动的结果概率。

如下图所示,如果我们将A,B两类顾客,按照询问和不询问进行细分,那么这些顾客会被分为四类,每一类都有其出现的概率,各个区域的概率就是该区域的面积大小。

下面我们来确定一下四个“可能世界”发生的概率,如下图所示:

P(A)=0.2*0.9=0.18

P(B)=0.2*0.1=0.02

P(C)=0.8*0.3=0.24

P(D)=0.8*0.7=0.56

P(A)+P(B)+P(C)+P(D)=1

03

通过观察到的行为,排除“不可能的情况”

作为一名店员,现在你面临的情况是:顾客上前来打招呼。这又意味着,你观察到了顾客的某一种行为。这为可能世界又增加了一条信息。这条信息的内容是:“不询问店员”的可能性消失了。

上一节我们提到,将顾客分为两类,“来买东西”和“随便逛逛”,其中这两类人有包括了“询问”和“不询问”两种行为。在现实世界中,因为已经观察到“询问”这种行为,就意味着不会出现“不询问”这种行为,表现形式如下图所示。

04

寻求“来买东西的人”的贝叶斯逆概率

由于观察到“询问”这一行为,使得可能世界被限定在两个以内。换句话说,面前的顾客所属的世界,要么是“来买东西的人询问店员”,要么是“随便逛逛的人询问店员”。显示其可能性的数值如下图所示。

根据观察行为,可能性被限定为两种时,此时所有情况的概率(长方形面积)之和已经不为1,因此我们需要保持比例,恢复标准化条件,从而使概率发生变化。

(左边长方形的面积):(右边长方形的面积)=0.18:0.24

简化比值,合计3+4=7,如果按照除法计算,就会得出“相加得1”的结果。也就是说,

(左边长方形的面积):(右边长方形的面积)=3:4=3/7:4/7

从下图中,我们可以看出,上前询问的顾客为购买者的概率,可以以推定为3/7,我们称之为“贝叶斯逆概率”或者“后验概率”。

05

总结

用图表对上述提到的后验概率的计算方式进行总结,如下图所示。

那么要求后验概率的话,我们只需要抽象出图表的开头中间和结尾部分,并填入数值,结果就很明确了。

从这个图表可以看出,在没有观察到任何行为时,面前的顾客“是来买东西的人”的概率是0.2(先验概率),但是观察到“上前询问”这一行为时,数值更新约为0.43(后验概率)。也就是说,虽然并不能断定这位顾客就是“来买东西的人”,但是这一结果的可能性提高到了以前的两倍,这边是“贝叶斯更新”。

贝叶斯推理可以总结为:通过观察行动(信息),将先验概率通过贝叶斯更新,转换为后验概率。

参考书籍:《统计学关我什么事》

统计学系列文章持续更新中,欢迎加入数据人专属交流群

往期推荐

Python入门教程(一):初识Numpy

Python入门教程(二):Numpy数组基础

SQL知识大全(六):SQL中的开窗函数

刷爆全网的动态条形图,原来5行Python代码就能实现!

 

分享数据知识,成就数据理想

点个在看 你最好看

全部评论

相关推荐

ProMonkey2024:5个oc?厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了(别的帖子偷来的,现学现卖😋)
点赞 评论 收藏
分享
11-30 11:07
河南大学 Java
宇宙厂 测开 n*15
丘丘给个offer:有后选后
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务