阅读这篇文章前,需先自行了解概率的概念、概率的计算公式。
这两个问题都来自互联网,很多文章都有转载,但是,却总是不是缺这个公式,要不就缺那个图。根据贝叶斯原理及其推断简介补充上公式与计算过程,补全这两个问题的表述。
水果糖问题
两个一模一样的碗,一号碗有30颗水果糖和10颗巧克力糖,二号碗有水果糖和巧克力糖各20颗。现在随机选择一个碗,从中摸出一颗糖,发现是水果糖。请问这颗水果糖来自一号碗的概率有多大?
我们假定,H1表示一号碗,H2表示二号碗。由于这两个碗是一样的,所以P(H1)=P(H2),也就是说,再取出水果糖之前,这两个碗被选中的概率相同。因此,P(H1)=0.5,我们把这个概率叫做”先验概率“,即没有做实验之前,来自一号碗的概率是0.5。
再假定,E表示水果糖,所以问题就变成了在已知E的情况下,来自一号碗的概率有多少?即求P(H1|E)。我们把这个概率叫做”后验概率“,即在事件E发生之后,对P(H1)的修正。
根据条件概率公式,得到:
已知,P(H1)等于0.5,P(E|H1)为一号碗中取出水果糖的概率,等于0.75,那么求出P(E)就可以得到答案。根据全概率公式:
所以,将数字带入原方程,得到:
这表明,来自一号碗的概率是0.6。也就是说,取出水果糖之后,H1事件的可能性得到了增强。
假阳性问题
这个例子是一个医学的常见问题,与现实生活关系密切。
已知某种疾病的发病率是0.001,即1000人中会有1个人得病。现有一种试剂可以检验患者是否得病,它的准确率是0.99,即在患者确实得病的情况下,它有99%的可能呈现阳性。它的误报率是5%,即在患者没有得病的情况下,它有5%的可能呈现阳性。现有一个病人的检验结果为阳性,请问他确实得病的可能性有多大?
假定A事件表示得病,那么P(A)为0.001。这就是”先验概率”,即没有做试验之前,我们预计的发病率。再假定B事件表示阳性,那么要计算的就是P(A|B)。这就是”后验概率”,即做了试验以后,对发病率的估计。
根据条件概率公式,
我们得到一个惊人的结果,P(A|B)约等于0.019。也就是说,即使检验呈现阳性,病人得病的概率:也只从0.1%增加到了2%左右。这就是所谓的“假阳性”,即阳性结果完全不足以说明病人得病。
为什么会这样?为什么这种检验的准确率高达99%,但是可信度却不到2%?答案是与它的误报率太高和发病率低有关。
概率与贝叶斯相关公式
假设有N种可能的类别标记,即Y=c1,c2,…,cn Y = c 1 , c 2 , … , c n
P(x,c):联合概率 P ( x , c ) : 联 合 概 率
P(c):先验概率prior。 P ( c ) : 先 验 概 率 p r i o r 。表达了样本空间中各类样本所占的比例,根据大数定律,当训练集包括充足的独立同分布样本时,P(c)可通过各类样本出现的频率来估计。比如有一个硬币,做了10次随机抛出测试,正面=1,反面=0,有样本集{1,1,1,0,1,1,1,0,1,0},则 P(c1)=0.7,P(c0)=0.3 P ( c 1 ) = 0.7 , P ( c 0 ) = 0.3
P(x|c):似然函数likelihood。 P ( x | c ) : 似 然 函 数 l i k e l i h o o d 。在已知参数θ的情况下,数据集X发生(关联参数)的可能性。
P(x):已知的证据因子evidence. P ( x ) : 已 知 的 证 据 因 子 e v i d e n c e .对于给定样本下,证据因子P(x)与类标记无关,。
P(c|x):后验概率。 P ( c | x ) : 后 验 概 率 。现实任务中后验概率通常难以直接获得,而机器学习的目标就是基于有限的训练样本尽可能的准确预估出后验概率
高斯分布概率密度函数:
后验概率(新信息出现后的A概率) = 先验概率(P(c)) x 似然函数(新信息带来的调整)
贝叶斯的底层思想就是:
如果我能掌握一个事情的全部信息,我当然能计算出一个客观概率(古典概率)。
可是生活中绝大多数决策面临的信息都是不全的,我们手中只有有限的信息。既然无法得到全面的信息,我们就在信息有限的情况下,尽可能做出一个好的预测。
也就是,在主观判断的基础上,你可以先估计一个值(先验概率),然后根据观察的新信息不断修正(可能性函数)。
似然函数P(x|c) P ( x | c )难以直接计算得出
用经典概率公式可得P(x|c)=P(x,c)P(c) P ( x | c ) = P ( x , c ) P ( c )对于前文举得抛硬币问题可以得出P(x|c1)=P(x,c1)P(c1)=0.7∗0.70.7=0.7,同理P(x|c0)=0.3 P ( x | c 1 ) = P ( x , c 1 ) P ( c 1 ) = 0.7 ∗ 0.7 0.7 = 0.7 , 同 理 P ( x | c 0 ) = 0.3