浅谈贝叶斯公式

 


感觉这玩意儿挺好玩的,顺便填一下以前留下的坑。

有些内容是抄袭的以前的文章,有些是自己瞎编的。

warning:博主并不知道什么叫深度学习/机器学习/AI,只是一个数学爱好者/oier

独立

独立:对于事件AB,如果P(AB)=P(A)P(B),那么称AB是独立的。

所谓独立,最直观的理解即两事件的结果不会相互影响。

条件概率

如果P(B)>0,那么AB下的条件概率为

P(A|B)=P(AB)P(B)

特别的,如果AB独立,那么P(A|B)=P(A)

同时移项之后我们也会得到一个显然的公式:P(AB)=P(A|B)P(B),那么同时P(AB)=P(B|A)P(A)

关于条件概率一种不错的理解方式(引自这里)

条件概率P(A|B)=P(AB)P(B)就是紫色部分的面积占右边整个圆圈的比例

贝叶斯公式

对于事件AB,如果P(A)>0P(B)>0,那么

P(A|B)=P(BA)P(A)P(B)

这个公式的证明是显然的,我们直接把推导的第二个公式带入条件概率公式即可

观察一下这个公式,我们实际上有四个未知量(左13),而在题目中往往会告诉我们P(AB)P(B|A)P(A),此时我们还需要求解P(B)

但是P(B)的决定因素可能不止与一个事件有关(这里可能有些抽象,等下会有例子。)

这里我们会用到全概率公式

全概率公式

如果样本空间可以被划分为两两互斥的若干部分A1,,Ak,那么

P(B)=i=1kP(BAi)P(Ai)

举个例子,样本空间被划分成了AA,此时我们可以用全概率公式来计算B事件发生的概率

P(B)=P(B|A)P(A)+P(B|A)P(A)

这个公式可以用来处理P(B)不好直接计算的情况

现在回过头来,我们把全概率公式回带到贝叶斯公式中,我们就得到了一种船新的表示形式

如果我们得到了样本空间的一个划分A1,,Ak,结合全概率公式,对于任意1ik

P(AiB)=P(BAi)P(Ai)jP(BAj)P(Aj)

下面来看两道水题

例题

垃圾邮件识别

(题目是我自己xjb起的)

Descripiton

一个用户所有邮件分为两类:A1代表垃圾邮件, A2代表非垃圾邮件

根据经验,P(A1)=0.7P(A2)=0.3

B表示邮件包含“免费”这一关键词,由历史邮件得知, P(B|A1)=0.9

P(B|A2)=0.01(注意:它们之和并不一定等于1)。

问若收到一封新邮件,包含了“免费”这一关键字,那么它是垃圾邮件的概率是多少

Solution

题目要求的实际是P(A1|B)

根据条件概率公式

P(A1|B)=P(A1B)P(B)

转换为贝叶斯公式

P(A1|B)=P(B|A1)P(A1)P(B)

将分式底下P(B)这一项用全概率公式展开

P(A1|B)=P(B|A1)P(A1)P(B|A1)P(A1)+P(B|A2)P(A2)

然后就可以算了

P(A1|B)=0.90.70.90.7+0.010.3

0.995260663507109004739336492891%

好恐怖。。

次品识别问题

(也是我自己xjb起的)

Description

例1设某工厂有甲、乙、丙三个车间,生产同一种产品,已知各车间的产量分别占全厂产量的25%,35%,40%,而且各车间的次品率依次为5%,4%,2%.现从待出厂的产品中检查出一个次品,试判断它是由甲车间生产的概率

Solution

P(Ai)表示是由第i个车间生产的概率,P(B)表示生产出次品的概率,直接带入公式算即可

P(A1|B)=P(B|A1)P(A1)P(B|A1)P(A1)+P(B|A2)P(A2)+P(B|A3)P(A3

P(A1|B)=0.250.050.250.05+0.350.04+0.40.020.36231

总结

通过以上瞎扯不难看出,贝叶斯公式在一类"逆概率"问题中比较常用,按理说应该是非常常见的概率只是,但是我还真没找到几道正经的OI题qwq

而且本文章中没有出现“先验概率”“后验概率”“似然函数”等字眼,原因是因为博主太菜了根本不知道怎么去解释。。

这篇文章只是从最简单的理论层面列出了几个公式,有兴趣的大佬可以深入学习

参考资料

《浅析信息学竞赛中概率论的基础与应用》——2013年胡渊明国家集训队论文

怎样用非数学语言讲解贝叶斯定理(Bayes's theorem)?

posted @   自为风月马前卒  阅读(917)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
历史上的今天:
2018-01-12 网络最大流算法—最高标号预流推进HLPP
2018-01-12 网络最大流算法—EK算法
2018-01-12 网络最大流入门

Contact with me

点击右上角即可分享
微信分享提示