• [白话解析] 深入浅出贝叶斯定理


    [白话解析] 深入浅出贝叶斯定理

    0x00 摘要

    本文将尽量使用易懂的方式介绍一致性贝叶斯定理,并且通过具体应用场景来帮助大家深入这个概念。

    0x01 IT概念

    1. 贝叶斯定理

    贝叶斯定理是用来解决"逆概率"问题的,即根据一些有限的过去数据来预测某个概率。比如利用有限的信息(过去天气的测量数据)来预测明天下雨的概率是多少。

    其底层思想是:新观察到的样本信息将修正人们以前对事物的认知。好比是人类刚开始时候对大自然只有少的可怜的先验知识,但是随着不断观察实践获得更多的样本,结果使得人们对自然界的规律摸得越来越透彻。

    2. 问题领域

    • 求解问题(A): 呼延灼想知道自己是否是公明哥哥的心腹,用A来代表"你是大哥的心腹"。

    • 已知结果(B): 大哥对你下拜。记作事件B。

    • 推理结果 P(A|B): 想通过大哥对你下拜这个事件,来判断大哥视你为心腹的概率。

    3. 相关术语

    • 先验概率:指根据以往经验和分析得到的概率。它作为"由因求果"问题中的"因"出现。

    • 后验概率:指事情已经发生后,要求此事件发生的原因是由于某个因素引起的可能性的大小。后验概率是指得到"已知结果"的信息之后重新修正的概率。是"执果寻因"问题中的"因"。

    先验概率是由以往的数据分析得到的概率,泛指一类事物发生的概率,根据历史资料或主观判断未经证实所确定的概率。后验概率而是在得到信息之后再重新加以修正的概率,是某个特定条件下一个具体事物发生的概率。

    • P(A): 是A的先验概率,之所以称为先验是因为它不考虑任何B方面的因素。

    • P(B): 是B的先验概率,之所以称为先验是因为它不考虑任何A方面的因素。在这里就是结果B发生的概率。

    • P(A|B): 是已知B发生之后A的条件概率,就是先有B然后才有A,也由于得自B的取值而被成为A的后验概率。

    • P(B|A): 是已知A发生之后B条件概率,就是先有A然后才有B,也由于得自A的取值而被成为B的后验概率。

    • P(B|A)/P(B): 似然函数,这是一个调整因子,即新信息B带来的调整,作用是使得先验概率更接近真实概率。

    4. 对应本题

    • 先验概率 P(A): 呼延灼事先无法知道大哥是否视他为心腹,所以只能根据一般的常识(或者以往经验)来分析判断得到一个概率,这里暂定为50%(大哥有喜欢你,不喜欢你两种可能)。

    • 后验概率 P(A|B): 即在B事件"大哥下拜"发生之后,对A事件"大哥视你为心腹"概率的重新评估。

    5. 思考模式

    新观念等于老观念乘上调整因子(也叫做似然比)

    我们先预估一个先验概率,然后加入实验结果,看看这个实验是增强了还是削弱了先验概率,由此得到更接近实时的后验概率。

    后验概率 = 先验概率 x 调整因子
    后验概率是 P(A|B)
    先验概率是 P(A)
    调整因子是 P(B|A)/P(B)

    或者用如下方式来思考:

    先验分布 + 样本信息 ==> 后验分布

    在得到新的样本信息之前,人们对事物的认知是"先验分布"
    在得到新样本信息之后,人们对事物的认知调整为"后验分布"

    即原先你有旧观念 P(假设),有了新证据之后,P(假设|证据)就是你的新观念。新观念等于老观念乘上似然比。P(B|A)/P(B)在这里被称为"似然比"

    或者还有这种思考方式

    P(θ|X) = P(X|θ) P(θ) / P(X)
    posterior = likehood * prior / evidence

    posterior:P(θ|X)通过样本X得到参数θ的概率,也就是后验概率。
    likehood:P(X|θ)通过参数θ得到样本X的概率,似然函数,通常就是我们的数据集的表现,即假设θ已知后我们观察到的数据应该是什么样子的。
    prior:P(θ) 是参数θ的先验概率,一般是根据人的先验知识来得出的。
    evidence:P(X) 是样本X发生的概率,是各种条件下发生的概率的积分。

    0x02 本题如何解答

    1. 通俗思考

    呼延灼通过大哥对自己下拜这个事件,来判断大哥视自己为心腹的概率。

    通俗的思考: 呼延灼先估计一个值(先验概率),然后根据观察的新信息不断修正(可能性函数)。也就是利用 "调整因子" 来不断修改 "先验概率")"

    贝叶斯公式:

    后验概率P(A|B)  = 先验概率P(A) x 调整因子 [P(B|A)/P(B)]

    对于本题,则是

     P(大哥看重你|大哥下拜) = P(大哥看重你) x [ P(大哥因为看重你才下拜) / P(大哥下拜) ]

    如何通俗思考这个"调整因子" ? 通俗理解就是:大哥看重你 / ( 大哥看重你 + 大哥不看重你). 也就是"大哥看重你"这个事件在总体事件中的比重。 这样才可以调整。

    2. 具体解题

    2.1 如何求先验概率 P(A)?

    通常有如下做法:

    • 每个样本所属的自然状态都是已知的(有监督学习)

    • 依靠经验

    • 用训练样本中各类出现的频率估计,比如通过极大似然估计,把频数除以总的次数就可以得到。即样本中本类出现的次数除以样本容量

    这里呼延灼用常理判断,大哥看重的概率和不看重的概率都是50%, 即

    P(A) = P(-A) = 50%

    2.2 如何求P(B)?

    P(B) 可以根据经验获得,但一般使用全概率公式,其意义在于:无法知道一个事物独立发生的概率,但是我们可以将其在各种条件下发生的概率进行累加获得。

    即全概率公式是对复杂事件的概率求解问题转化为了在不同情况下发生的简单事件的概率的求和问题。

    P(B) = P(B|A)P(A) + P(B|-A)P(-A), 这里把A的反集记作-A

    本题中对应

    P(大哥下拜) = P(大哥因为看重你才下拜)P(大哥看重你) + P(大哥不看重你也会下拜)P(大哥不看重你)

    2.3 如何求P(B|A)?

    这个很难。原因包括:

    • 概率密度函数包含了一个随机变量的全部信息;

    • 样本数据可能不多;

    • 特征向量x的维度可能很大等等;

    解决的办法就是,把估计完全未知的概率密度转化为估计参数。这里就将概率密度估计问题转化为参数估计问题,极大似然估计就是一种参数估计方法。

    当然了,概率密度函数的选取很重要,模型正确,在样本区域无穷时,我们会得到较准确的估计值,如果模型都错了,那估计半天的参数,肯定也没啥意义了。

    本题中,呼延灼根据样本数据来观察归纳推理来得到的

    P(大哥因为看重你才下拜) = 20%  
    P(大哥不看重你也会下拜) = 80%

    2.4 后续推导

    所以呼延灼得到了如下公式:

    P(大哥看重你|大哥下拜) 
    = P(大哥看重你) x [P(大哥因为看重你才下拜) / P(大哥下拜)]
    = P(大哥看重你) x [P(大哥因为看重你才下拜) / [ P(大哥因为看重你才下拜)P(大哥看重你) + P(大哥不看重你也会下拜)P(大哥不看重你) ] ]

    呼延灼发现,公明哥哥对于李逵戴宗并没有纳头便拜,对于董平/关胜/卢俊义则纳头便拜。就知道大哥看重某人其实并不大会下拜,不看重但为了套路某人反而会下拜。

    所以呼延灼得出如下计算过程。

    以下是呼延灼根据常理假设
    p(大哥看重你)=50%
    p(大哥不看重你)=50%

    以下是呼延灼根据观察归纳推理
    P(大哥因为看重你才下拜) = 20%
    P(大哥不看重你也会下拜) = 80%

    于是呼延灼最终计算如下
    P(大哥看重你|大哥下拜) = 50% x (20% / (20%x50% + 80%x50%)) = 20%

    所以从大哥对呼延灼下拜这个能看出来,大哥不看重呼延灼。把大哥看重呼延灼这个概率下调。

    3. 结论

    一句话概括贝叶斯思想,就是"观点随着事实而改变"。

    如果我能掌握一个事情的全部信息,我当然能计算出一个客观概率(古典概率)。 可是生活中绝大多数决策面临的信息都是不全的,我们手中只有有限的信息。既然无法得到全面的信息,我们就在信息有限的情况下,尽可能做出一个好的预测。也就是,在主观判断的基础上,你可以先估计一个值(先验概率),然后根据观察的新信息不断修正(可能性函数)。

    这就有点像破案,从结果推测缘由。你来到案发现场,收集证据(结果)。通过证据的叠加,凶手的特征逐渐清晰。最终你选择“相信”谁是凶手。

    贝叶斯说,你对某个假设的“相信”程度,应该用一个概率来表示——P(假设)

    0x03 参考

    https://blog.csdn.net/weixin_40920228/article/details/80850489

    https://cloud.tencent.com/developer/news/266248

    https://blog.csdn.net/qq_28168421/article/details/83388776

    https://blog.csdn.net/zengxiantao1994/article/details/72787849

  • 相关阅读:
    在状态栏中显示鼠标坐标
    为网页设置背景音乐
    将RGB格式的颜色值转换为十六进制格式
    随机产生指定位数的验证码
    树状导航菜单
    ionic入门教程第一课环境搭建和新建ionic项目
    (一)hbase搭建
    数据库的三个范式
    Sql 用于创建表、存储过程、触发器、标量函数的代码
    通过树形结构在控制台显示XML文档的全部内容
  • 原文地址:https://www.cnblogs.com/rossiXYZ/p/12128311.html
Copyright © 2020-2023  润新知