概率相关问题

问题汇总

  • [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)。

相关推荐
菜鸟懒懒25 分钟前
exp1_code
算法
Winn~32 分钟前
JVM垃圾回收器-ZGC
java·jvm·算法
海的诗篇_1 小时前
前端开发面试题总结-HTML篇
前端·面试·html
爱coding的橙子1 小时前
每日算法刷题Day24 6.6:leetcode二分答案2道题,用时1h(下次计时20min没写出来直接看题解,节省时间)
java·算法·leetcode
慢慢慢时光1 小时前
leetcode sql50题
算法·leetcode·职场和发展
pay顿1 小时前
力扣LeetBook数组和字符串--二维数组
算法·leetcode
精神小伙mqpm1 小时前
leetcode78. 子集
算法·深度优先
岁忧1 小时前
(nice!!!)(LeetCode每日一题)2434. 使用机器人打印字典序最小的字符串(贪心+栈)
java·c++·算法·leetcode·职场和发展·go
dying_man1 小时前
LeetCode--18.四数之和
算法·leetcode
sss191s1 小时前
校招 Java 面试基础题目解析学习指南含新技术实操要点
java·python·面试