概率相关问题

问题汇总

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

相关推荐
楼田莉子1 小时前
C++算法题目分享:二叉搜索树相关的习题
数据结构·c++·学习·算法·leetcode·面试
最初的↘那颗心2 小时前
Java HashMap深度解析:原理、实现与最佳实践
java·开发语言·面试·hashmap·八股文
pusue_the_sun2 小时前
数据结构——栈和队列oj练习
c语言·数据结构·算法··队列
大锦终2 小时前
【算法】模拟专题
c++·算法
热爱2332 小时前
前端面试必备:原型链 & this 指向总结
前端·javascript·面试
Spider_Man2 小时前
面试官:你能手写 bind 吗?——JS this 全家桶趣味深度剖析
前端·javascript·面试
Java中文社群2 小时前
26届双非上岸记!快手之战~
java·后端·面试
Xの哲學3 小时前
Perf使用详解
linux·网络·网络协议·算法·架构
小奋斗3 小时前
深入浅出:JavaScript中防抖与节流详解
javascript·面试
北京_宏哥3 小时前
Python零基础从入门到精通详细教程11 - python数据类型之数字(Number)-浮点型(float)详解
前端·python·面试