《贝叶斯思维:统计建模的Python学习法》一1.4 贝叶斯定理

简介:

本节书摘来自异步社区《贝叶斯思维:统计建模的Python学习法》一书中的第1章,第1.4节,作者【美】Allen B. Downey,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.4 贝叶斯定理

现在,我们准备好进行贝叶斯定理推导需要的所有条件了。首先,我们注意到,联合概率是乘积可交换(乘法交换律)的,即:


b08e89052d7471ac77a5b60cdc3157fb7d315b89

对于任何A,B表示的事件都成立。

然后,我们写出一个联合概率的表达式:


f22a7113f54fff8f7fb16a4af9ee82f3fce85bda

由于我们并没有明确定义A和B的含义,因而可以对A、B进行互换操作。

交换它们的位置:


3f81d97ffa9d697fde559a5c7ee6b73631b3477f

把这些表达式连接起来,我们得到下面的表达式:


ff85c3c3585b955c7fa4dfe7c01200654379a0bd

这意味着我们有两种方式计算联合概率,已知p(A),乘以p(B|A);或者从另一方向,已知p(B),乘以p(A|B)。两种方法是相同的。

最后,将上式除以p(B),得到:


5989fbbe1c20bc706526921f63711228671074c1

这正是贝叶斯定理!看起来不起眼,不过它会显示出令人吃惊的强大之处。

例如,我们可以用它来解决曲奇饼问题。

假设B1表示曲奇饼属于碗1的概率,V表示曲奇饼是香草曲奇饼的概率。

带入贝叶斯定理我们得到:


ee76a31408e244b91e90387fba058e0b82f00e69

等式左边就是我们希望得到的,一块香草曲奇饼来自碗1的概率。

等式的右边表示:

  • p(B1):这是我们忽略得到曲奇饼这个条件时(零条件下)选中碗1的概率。因为选择碗的过程是随机的,我们可以假设p(B1)=1/2。
  • p(V|B1):这是从碗1得到一个香草曲奇饼的概率=3/4。
  • p(V):从任意碗里得到一个香草曲奇饼的概率。因为考虑到选择碗的机会均等,而且每个碗的曲奇饼数量都是40,得到曲奇饼的机会是相同的。两个碗中香草和巧克力曲奇饼总数各是50和 30,因此p(V)=5/8。

把它们放在一起,我们得到:


19ffc2524f541d1fd6282821a5bde6f2687c86ba

结果是3/5。所以,“得到一块香草曲奇饼”是支持于假设“来自碗1”的证据,因为香草曲奇饼来自碗1的可能性更大。

这个例子演示了一个应用贝叶斯定理的案例:它提供了一个从p(B|A) 得到p(A|B)的策略。

这种策略在解决类似“曲奇饼问题”的情况下是有用的,即从贝叶斯等式的右边计算要比左边容易的情况下。

相关文章
|
1月前
|
数据采集 自然语言处理 算法
如何使用Python的Gensim库进行自然语言处理和主题建模?
使用Gensim库进行自然语言处理和主题建模,首先通过`pip install gensim`安装库,然后导入`corpora`, `models`等模块。对数据进行预处理,包括分词和去除停用词。接着,创建字典和语料库,使用`Dictionary`和`doc2bow`。之后,应用LDA算法训练模型,设置主题数量并创建`LdaModel`。最后,打印每个主题的主要关键词。可以根据需求调整参数和选择不同算法。
26 0
|
2月前
|
XML 存储 数据处理
python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)
python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)
55 0
|
1天前
|
机器学习/深度学习 数据挖掘 网络架构
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析
|
8天前
|
自然语言处理 数据可视化 Python
python主题建模可视化LDA和T-SNE交互式可视化
python主题建模可视化LDA和T-SNE交互式可视化
14 0
|
12天前
|
机器学习/深度学习 数据可视化 数据挖掘
用Python进行健康数据分析:挖掘医疗统计中的信息
【4月更文挑战第12天】Python在医疗健康数据分析中扮演重要角色,具备数据处理、机器学习、可视化及丰富生态的优势。基本流程包括数据获取、预处理、探索、模型选择与训练、评估优化及结果可视化。应用案例包括疾病预测、药物效果分析和医疗资源优化,例如使用RandomForestClassifier进行疾病预测,Logit模型分析药物效果,以及linprog优化医疗资源配置。
|
16天前
|
数据采集 存储 人工智能
【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】
【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】
|
17天前
|
测试技术 Python
288统计出现最多次的字母(PYTHON)
288统计出现最多次的字母(PYTHON)
|
1月前
|
存储 数据管理 Serverless
Python实现:教你轻松统计文件夹下文件个数
Python实现:教你轻松统计文件夹下文件个数
27 0
|
1月前
|
存储 数据采集 数据挖掘
python数据分析——数据分类汇总与统计
数据分类汇总与统计是指将大量的数据按照不同的分类方式进行整理和归纳,然后对这些数据进行统计分析,以便于更好地了解数据的特点和规律。
59 1
|
1月前
|
机器学习/深度学习 算法 数据挖掘
python数据分析——数据分析的统计推断
数据分析的统计推断是科学研究中的重要环节,它通过对样本数据的分析,对总体参数进行估计,并对假设进行检验。这一过程旨在从数据中提取有意义的信息,为决策提供科学依据。 在统计推断中,我们通常会遇到两类问题:参数估计和假设检验。参数估计是通过样本数据对总体参数进行点估计或区间估计。点估计是对总体参数的具体数值进行预测,而区间估计则是给出一个包含总体参数的置信区间。这两种估计方法都基于大数定律和中心极限定理,保证了估计的准确性和可靠性。
45 0