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

  • 相关阅读:
    7.21 高博教育 数组 内存
    【基础扎实】Python操作Excel三模块
    PAT 甲级 1012 The Best Rank
    PAT 甲级 1011  World Cup Betting
    PAT 甲级 1010 Radix
    链式线性表——实验及提升训练
    循环程序设计能力自测
    链表应用能力自测
    PAT 甲级 1009 Product of Polynomials
    1008 Elevator (20分)
  • 原文地址:https://www.cnblogs.com/cleiyang/p/4122677.html
Copyright © 2011-2022 走看看