前言
《贝叶斯思维-统计建模的Python学习法》是美国Allen B. Downey著作的,作者利用概率学知识去解决不确定性问题的数学方法。
[序]简介:当我们观察大量相同的事件后,我们就会发现从一个集体的意义上的规律是存在的。而单个事件每次可能得到不同的结果,这些结果以最有可能的结果为中心,服从一定的概率分布。使用贝叶斯方法以及马尔科夫过程,建立的自然语言处理模型,使得语言处理准确率有了巨大提升,进而达到可以实用的要求。(酷我音乐 雷鸣)
这本书一共有15章,分别是:1.贝叶斯定理、2.统计计算、3.估计、4.估计进阶、5.胜率和加数、6.决策分析、7.预测、8.观察者的偏差、9.二维问题、10.贝叶斯近似计算、11.假设检验、12.证据、13.模拟、14.层次化模型、15.处理多维问题。
我将学习过程中的理解一点点整理出来,并以博客文章形式记录。本篇整理的内容是1-2章,如果有理解错的,请留言指出,先谢了!
第1章 贝叶斯定理
概率表示为1和0之间的数字,含义是某一事件或者预测行为的可信程度。
事件A和事件B,同时发生的概率: (!)
如果事件A和事件B都是独立事件,可以得到另一个公式: (2)
(1)和(2)结合之后,得到: (3)
对于(3)可以得到另一个表达式: (4)
(3)和(4)表达式结合,等式两边除以p(B),可以得到贝叶斯定理: (5)
1.1历时诠释
根据公式(5)表的表达式,不同的部分有不同的称呼,如下:
p(A)是先验概率,p(B)是标准化常量,p(A|B)后验概率,p(B|A)是似然度。
先验概率一般带有一定的主观性,理性派的人可能会有不同意见,或由于他们使用的不同背景信息做出的判断。对于似然度是贝叶斯计算中最简单部分。标准化常量,计算比较棘手,p(B)可以根据互斥和完备性建设一组假设集,然后根据全概率公式计算标准化常量。
第2章 统计计算
分布:在统计上,是一组值及其对应的概率,
该书相关代码在第一版贝叶斯思维,需要登陆github ,找到thinkbayes.py文件
将文件的内容复制出来,另存为py后缀的文件,方便我们后期调用这块代码。
import sys
sys.path.append(r'C:\Users\REL\bayes') #需要引入作者的py文件,所以指定位置
import thinkbayes
pmf=thinkbayes.Pmf()
for x in [1,2,3,4,5,6]:
pmf.Set(x,1/6.0)
因为我手上是第一版,所以上面也是作者展示的代码,但要注意的是,path的内容要记得修改!之后还有曲奇饼问题:
from __future__ import print_function
from thinkbayes import Pmf
pmf = Pmf()
pmf.Set('Bowl 1', 0.5)
pmf.Set('Bowl 2', 0.5)
pmf.Mult('Bowl 1', 0.75)
pmf.Mult('Bowl 2', 0.5)
pmf.Normalize()
print(pmf.Prob('Bowl 1'))
后续继续更新