zoukankan      html  css  js  c++  java
  • 贝叶斯定理学习

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

    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)最大的假设被称为极大似然假设。

  • 相关阅读:
    NOIP前做题记录
    AtCoder Grand Contest 021题解
    AtCoder Grand Contest 020 题解
    CODE FESTIVAL 2017 Final题解
    Code Chef October Challenge 2019题解
    5.20 校内模拟
    5.19 湖南师大附中省选模拟1
    NOI2016 循环之美
    博弈复习
    5.18 省选模拟
  • 原文地址:https://www.cnblogs.com/cleiyang/p/4122677.html
Copyright © 2011-2022 走看看