概率相关问题

问题汇总

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

相关推荐
Penk是个码农几秒前
web前端面试-- MVC、MVP、MVVM 架构模式对比
前端·面试·mvc
MrSkye3 分钟前
🔥JavaScript 入门必知:代码如何运行、变量提升与 let/const🔥
前端·javascript·面试
爱学习的茄子12 分钟前
深入理解JavaScript闭包:从入门到精通的实战指南
前端·javascript·面试
向阳@向远方1 小时前
第二章 简单程序设计
开发语言·c++·算法
程序员爱钓鱼2 小时前
Go 语言泛型 — 泛型语法与示例
后端·面试·go
github_czy2 小时前
RRF (Reciprocal Rank Fusion) 排序算法详解
算法·排序算法
许愿与你永世安宁2 小时前
力扣343 整数拆分
数据结构·算法·leetcode
爱coding的橙子2 小时前
每日算法刷题Day42 7.5:leetcode前缀和3道题,用时2h
算法·leetcode·职场和发展
满分观察网友z3 小时前
从一次手滑,我洞悉了用户输入的所有可能性(3330. 找到初始输入字符串 I)
算法
YuTaoShao3 小时前
【LeetCode 热题 100】73. 矩阵置零——(解法二)空间复杂度 O(1)
java·算法·leetcode·矩阵