首页 > 代码库 > 贝叶斯定理学习

贝叶斯定理学习

搞清楚先验概率和后验概率再说公式

1、考虑一个医疗诊断问题,有两种可能的假设:

(1)病人有癌症。(2)病人无癌症。样本数据来自某化验测试,它也有两种可能的结果:阳性和阴性。假设我们已经有先验知识:在所有人口中只有0.008的人患病。此外,化验测试对有病的患者有98%的可能返回阳性结果,对无病患者有97%的可能返回阴性结果。

上面的数据可以用以下概率式子表示:

P(cancer)=0.008,P(无cancer)=0.992

P(阳性|cancer)=0.98,P(阴性|cancer)=0.02

P(阳性|无cancer)=0.03,P(阴性|无cancer)=0.97

假设现在有一个新病人,化验测试返回阳性,是否将病人断定为有癌症呢?我们可以来计算极大后验假设:

P(阳性|cancer)p(cancer)=0.98*0.008 = 0.0078

P(阳性|无cancer)*p(无cancer)=0.03*0.992 = 0.0298

因此,应该判断为无癌症。

确切的后验概率可将上面的结果归一化以使它们的和为1:
P(canner|+)=0.0078/(0.0078+0.0298)=0.21
P(cancer|-)=0.79

贝叶斯推理的结果很大程度上依赖于先验概率,另外不是完全接受或拒绝假设,只是在观察到较多的数据后增大或减小了假设的可能性。

2、公式:

用P(h)表示在没有训练数据前假设h拥有的初始概率。P(h)被称为h的先验概率。先验概率反映了关于h是一正确假设的机会的背景知识如果没有这一先验知识,可以简单地将每一候选假设赋予相同的先验概率。类似地,P(D)表示训练数据D的先验概率,P(D|h)表示假设h成立时D的概率。机器学习中,我们关心的是P(h|D),即给定D时h的成立的概率,称为h的后验概率。

贝叶斯公式提供了从先验概率P(h)、P(D)和P(D|h)计算后验概率P(h|D)的方法
p(h|D)=P(D|H)*P(H)/P(D)   其中,P(D|H)=P(AB)/P(B);

P(h|D)随着P(h)和P(D|h)的增长而增长,随着P(D)的增长而减少,即如果D独立于h时被观察到的可能性越大,那么D对h的支持度越小。

3、极大后验假设

学习器在候选假设集合H中寻找给定数据D时可能性最大的假设h,h被称为极大后验假设(MAP)确定MAP的方法是用贝叶斯公式计算每个候选假设的后验概率,计算式如下:

h_map=argmax P(h|D)=argmax (P(D|h)*P(h))/P(D)=argmax P(D|h)*p(h) (h属于集合H)

最后一步,去掉了P(D),因为它是不依赖于h的常量。

4、极大似然假设

在某些情况下,可假定H中每个假设有相同的先验概率,这样式子可以进一步简化,只需考虑P(D|h)来寻找极大可能假设。

h_ml = argmax p(D|h)  h属于集合H

P(D|h)常被称为给定h时数据D的似然度,而使P(D|h)最大的假设被称为极大似然假设。

贝叶斯定理学习