概率相关问题

问题汇总

  • [1. 贝叶斯定理(贝叶斯公式和全概率公式)](#1. 贝叶斯定理(贝叶斯公式和全概率公式))
  • [2. 概率题](#2. 概率题)
    • [2.1 随机发生器的概率为1/2](#2.1 随机发生器的概率为1/2)

1. 贝叶斯定理(贝叶斯公式和全概率公式)

定义:在信息和条件有限的情况下,基于过去的数据,通过动态调整的方法,帮助我们一步步预测出事件发生的接近真实的概率。

贝叶斯定理基于条件概率的定义,条件概率表示事件 A 在事件 B 已经发生的条件下发生的概率

条件概率公式:
P ( A ∣ B ) = P ( A ∩ B ) P ( B ) , P ( B ∣ A ) = P ( A ∩ B ) P ( A ) P(A|B) = \frac{P(A∩B)}{P(B)},P(B|A) = \frac{P(A∩B)}{P(A)} P(A∣B)=P(B)P(A∩B),P(B∣A)=P(A)P(A∩B)

上述二者结合可以得到贝叶斯公式
P ( A ∣ B ) = P ( B ∣ A ) ⋅ P ( A ) P ( B ) P(A|B) = \frac{P(B|A)·P(A)}{P(B)} P(A∣B)=P(B)P(B∣A)⋅P(A)

各个部分的含义

P(A|B):后验概率

P(A):先验概率

P(B|A):似然函数 在 A 发生的条件下,事件 B 发生的概率,通常由模型或数据决定。

P(B):边际概率,事件 B的总体概率,可以通过所有可能导致 B发生的情况求和得到
P ( B ) = P ( B ∣ A ) ⋅ P ( A ) + P ( B ∣ ¬ A ) ⋅ P ( ¬ A ) P(B) =P(B|A)·P(A)+P(B|¬A)·P(¬A) P(B)=P(B∣A)⋅P(A)+P(B∣¬A)⋅P(¬A)

由边际概率可以引出全概率公式 :用于计算一个复杂事件的概率,方法是把它拆分成多个互斥的简单情况(划分完备事件组),再分别加权求和。

2. 概率题

2.1 随机发生器的概率为1/2

已知一个随机发生器,生成 0 的概率为 p ,生成 1 的概率为 1 - p 。请构造一个新的随机发生器,使其生成 0 和 1 的概率均为 1/2。

答案:让该随机数生成器生成两个数,那么序列是00,01,10,11概率分别为 p* p,p(1-p),(1-p)p,(1-p)(1-p)。这四种情况中存在两个独立的事件概率是相等。也就是01和10,那么我把01看成是0,10看成是1,那么他们输出的概率均为p(1-p),其他的情况舍弃。这样就得到了0和1均等生成的随机器了。这种解法可以推广到n个数的情况,我们知道,取n个随机数发生器,存在n个概率相同的独立事件,我们只使用这n个事件就得到1/n的概率了。例如n=3, 有8中情况000, 001, 010, 011, 100, 101, 110, 111,其中001,010,100的概率都是p^2*(1-p)。

相关推荐
恣艺16 分钟前
LeetCode 1074:元素和为目标值的子矩阵数量
算法·leetcode·矩阵
queenlll1 小时前
P1064 [NOIP 2006 提高组] 金明的预算方案 题解
算法
ZzMemory1 小时前
一文搞懂前端开发必备的导入导出方式
前端·面试·前端工程化
Alfred king1 小时前
面试150 IPO
面试·职场和发展·贪心·数组··排序
练习时长两年半的程序员小胡1 小时前
JVM 基础架构全解析:运行时数据区与核心组件
java·jvm·面试
WildBlue1 小时前
前端算法秘籍:BFS 算法的 JS 魔法之旅🤩
前端·javascript·算法
ice851 小时前
AJAX 详解:概念、原理与实现方法
前端·javascript·面试
倔强青铜三2 小时前
Python之父差点砍掉import!认为模块系统是最大败笔?!
人工智能·python·面试
程序员清风2 小时前
程序员入职公司实习后应该学什么?
java·后端·面试
漂洋过海的鱼儿2 小时前
期待更好的发展
面试