用例子来解释先验,后验

博客通过隔壁老王去10公里外办事选择不同交通方式的例子,介绍了先验概率、后验概率和似然估计。先验概率是先于结果确定原因的概率分布;后验概率是由结果估计原因的概率分布;似然估计是先确定原因,根据原因估计结果的概率分布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考

作者:Agenter 链接:知乎 https://www.zhihu.com/question/24261751/answer/158547500

例子

隔壁老王要去10公里外的一个地方办事,他可以选择:

  1. 走路
  2. 骑自行车
  3. 开车

并花费了一定时间到达目的地。在这个事件中,可以把交通方式(走路、骑车或开车)认为是原因,花费的时间认为是结果。

后验概率

若,老王花了一个小时的时间完成了10公里的距离:

  1. 那么很大可能是骑车过去的,
  2. 当然也有较小可能老王是个健身达人跑步过去的,
  3. 或者开车过去但是堵车很严重。

若,老王一共用了两个小时的时间完成了10公里的距离:那么很有可能他是走路过去的。

若,老王只用了二十分钟,那么很有可能是开车。

这种先知道结果(知道花费了多长时间),然后由结果估计原因(是走路,是骑车还是开车)的概率分布,p(交通方式|时间),就是后验概率。

先验概率

老王早上起床的时候觉得精神不错,想锻炼下身体,决定跑步过去;

也可能老王想做个文艺青年试试最近流行的共享单车,决定骑车过去;

也可能老王想炫个富,决定开车过去。

老王的选择与到达目的地的时间无关。

先于结果,确定原因的概率分布,p(交通方式),就是先验概率

似然估计
1.

老王决定步行过去,那么很大可能10公里的距离大约需要两个小时;

较小可能是老王平时坚持锻炼,跑步过去用了一个小时;

更小可能是老王是个猛人,40分钟就到了。

2.

老王决定骑车过去,很可能一个小时就能到;

较小可能是老王那天精神不错加上单双号限行交通很通畅,40分钟就到了;

还有一种较小可能是老王运气很差,连着坏了好几辆共享单车,花了一个半小时才到。

3.

老王决定开车过去,很大可能是20分钟就到了,

较小可能是那天堵车很严重,磨磨唧唧花了一个小时才到。

这种先确定原因,根据原因来估计结果的概率分布,p(时间|交通方式),就是似然估计。

### 先验概率、后概率和条件概率的概念 #### 先验概率 先验概率是指在没有任何观测数据之前,基于已有经和知识对某个事件发生可能性的估计[^1]。它通常表示为 \( P(A) \),即事件 \( A \) 发生的概率。 #### 后概率 后概率是在获得新的观测数据之后,通过贝叶斯公式更新得到的关于某事件的新信念[^2]。其形式化表达为 \( P(A|B) \),其中 \( B \) 是已经发生的事件,而 \( A \) 的概率被重新评估。 #### 条件概率 条件概率指的是在一个事件已知的情况下,另一事件发生的概率[^2]。具体来说,\( P(A|B) \) 表示当事件 \( B \) 已经发生时,事件 \( A \) 发生的概率。 --- ### 贝叶斯公式的应用 贝叶斯公式用于连接这些概念,并提供了一种方法来计算后概率: \[ P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)} \] 这里: - \( P(A|B) \): 后概率,在给定 \( B \) 下 \( A \) 的概率; - \( P(B|A) \): 似然函数,描述的是在 \( A \) 成立的前提下 \( B \) 出现的可能性; - \( P(A) \): 先验概率,代表我们对于 \( A \) 初始的认知; - \( P(B) \): 边际概率,可以看作标准化常数以确保总概率等于一[^2]。 --- ### 关系分析 三者之间的关系紧密相连,主要体现在以下几个方面: - **从逻辑顺序来看**:先验概率是对未知情况下的初步判断;随着更多证据(如训练样本)的到来,利用条件概率调整这一初判形成最终结论——即后概率。 - **数学上的依赖性**:上述提到的贝叶斯法则清楚地展示了如何借助条件概率以及先前设定好的基础几率去求解目标变量对应的修正后的分布状况[^1]。 --- ```python # Python实现简单例子展示贝叶斯推理过程 def bayesian_update(prior, likelihood, evidence_total_prob): posterior = (likelihood * prior) / evidence_total_prob return posterior prior_probability = 0.01 # 假设疾病发病率作为先验概率 likelihood_ratio = 0.99 # 阳性检测结果对应实际患病的比例 evidence_probability = 0.0594 # 整体人群中阳性率 posterior_result = bayesian_update( prior=prior_probability, likelihood=likelihood_ratio, evidence_total_prob=evidence_probability) print(f"Posterior Probability: {posterior_result:.4f}") ``` 运行此代码片段会得出大约 `0.1667` 的数值,这正是前述提及到的应用实例里所算得的结果。 --- 相关问题
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值