面试中的贝叶斯推断问题

面试中的贝叶斯推断问题

1. 有关贝叶斯推断

贝叶斯推断是一项统计技术,基于贝叶斯定理,通过观察证据来更新假设的概率。贝叶斯推断将参数看作一个变量,因此可以用于参数估计,但是在数据岗位面试中,一般以计算后验概率的方式考察

定义:

  • H:假设变量,代表某一事件各种可能结果,服从特定分布,其概率密度函数为\(f_H\)(先验概率分布)
  • E:证据变量,用于更新先验概率,服从特定分布,其概率密度函数为\(f_E\)(边际似然函数,证据分布)
  • \(f_{E|H}\): 似然函数,即在固定H的前提下,E的概率密度函数

根据贝叶斯定理及全概率公式: \[ f_{post}(H=\hat{H}|E=\hat{E}) = \frac{f_{E|H=\hat{H}}(E=\hat{E})f_H(H=\hat{H})}{f_E(E=\hat{E})} = \frac{f_{E|H=\hat{H}}(E=\hat{E})f_H(H=\hat{H})}{\int_{-\infty}^\infty f_{E|H}(E=\hat{E})f_H(H)\mathrm{d}H} \] 其中:

  • \(f_{post}\) 称作后验概率分布,是基于证据更新后的先验概率分布
  • \(\hat{H}\) 为假设的某一特定取值
  • \(\hat{E}\) 为证据的观测值

式(1)可以简写为: \[ P(H|E)= \frac{P(E|H)P(H)}{P(E)} = \frac{P(E|H)P(H)}{\sum_i^m P(E|H_i)P(H_i)} = \frac{P(E|H)P(H)}{P(E|H_i)P(H_i)+P(E|\bar{H_i})P(\bar{H_i})} \]

2. 后验概率计算的基本框架

数据分析及数据科学面试中,大多数的贝叶斯推断问题都是具体取值下的后验概率计算问题,且一般假设变量的样本空间有限,先验分布是离散的,因此其基本做题框架可以归结如下:

  1. 明确问题中的假设变量和证据变量分别是什么, 对于假设变量,确定一个完备事件组
  2. 根据要求的结果,确定关心的假设事件\(A_ k\)和证据事件B, 并确定先验概率P(A)
  3. 对于完备事件组中每一个假设事件\(A_ i\), 计算相应的似然性\(P(B| A_i)\)
  4. 根据贝叶斯定理及全概率公式计算后验概率\(P(A_i| B)\), 如果有多轮迭代,把前一轮的后验概率当作后一轮的先验概率

3. 常见题型和例题解析

3.1 检测问题

例题:已知某肺炎的患病率为0.01%。现在需要做检测,如果被测者患病则被检测为阳性的概率为99%。如果被测者没有病则被检测为阴性的概率为99.9%。现在一个人检查结果是阳性。问真正得病的概率是多少?

此类问题的特点为:先验分布和证据分布都为二值/多值分布

  • 假设变量:患者真正得病,有得病和不得病两种结果
  • 证据变量:患者被检测出得病,有检测出得病和检测出不得病两种结果

令:

  • A事件为患者真正得病 \(P(A) = P(H=true\ positive)\)
  • B事件为患者诊断得病\(P(B) = P(E = diagnosed \ positive)\)

\[ P(A) = 0.01\% \]

\[ P(B|A) = 99\%\\ \]

\[ P(B) = P(B|A)P(A)+P(B|\bar{A})P(\bar{A}) = 99\%*0.01\% + 0.1\%*99.99\% \]

可计算得到后验概率为: \[ P(A|B) = 9.01\% \] 可见诊断后后,患者得病概率上升,原本认为得病概率为0.01%,经过一个只包含一个人的样本重新计算,更新为了9.01%

3.2 硬币问题

假设有100枚硬币,其中70枚为正常,30枚为缺陷,从中取出1枚投掷10次,10次中9次为正面,1次为负面。当硬币正常时,投出正面的概率为0.5,当硬币缺陷时,投出正面的概率为0.8。求硬币缺陷的概率

此类问题的特点为,先验分布是二值分布,证据分布是伯努利分布

  • 假设变量:硬币有缺陷,有是否两种可能
  • 证据变量:投出n次正面,其概率为\(p^n*q^{1-n}\)

令:

  • A事件为硬币有缺陷 \(P(A) = P(H = defective)\)
  • B事件为投出9次正面\(P(B) = P(E = 9 \ head)\)

\[ P(A) = 0.3 \]

\[ P(B|A) = 0.8^9*0.2^1\\ \]

\[ P(B) = P(B|A)P(A)+P(B|\bar{A})P(\bar{A}) = 0.8^9*0.2^1 *0.3 + 0.5^9*0.5^1*0.7 \]

可计算得到后验概率为: \[ P(A|B) = 91.2\% \] 与此类似的问题有朋友说谎问题等

3.2.1 朋友说谎问题

假设某地今天下雨的概率是\(\frac{1}{2}\),你在前往某地前向3个当地的朋友询问是否下雨,所有人都该诉你下雨了,但是每个人都有\(\frac{1}{3}\)的概率说谎, 求某地今天真正下雨的概率

  • A:某地下雨
  • B:三个朋友都告诉你下雨

\[ P(A) = \frac{1}{2} \]

\[ P(B|A) = \frac{2}{3}^3\\ \]

\[ P(B) = \frac{2}{3}^3*\frac{1}{2}+\frac{1}{3}^3*\frac{1}{2} \]

3.3 三门问题

有A,B,C三扇门,其中一扇背后有奖品,当玩家选择一扇门以后,主持人会打开另一扇后面是空的门,请问玩家是否要改变自己的选择?

此类问题特点为:

  • 共出现3个随机变量,都是多值分布,但是这三者之间是互斥的,如果A为1,则B,C不为1
  • 此时先验变量为“某一变量为一特定值”,证据变量为“另一个变量被揭晓不为该值”,最后一个变量仅用于计算全概率,或者用于比较选择

令:

  • A事件为门后有奖的是A门\(P(A) = P(H = A)\)
  • D事件为B门被打开且为空\(P(B) = P(H_D= B)\)

则: \[ P(A) = \frac{1}{3} \]

$$

\[ 当A门后有车,B,C门被打开的概率是一样的 \] P(D|A) = $$ 当B门后有车,主持人不会打开B门,因此\(P(D|B) = 0\)

当C门后有车,主持人只能打开B门,因此\(P(D|C) = 1\)

因此,\(P(D) = P(A)*P(D|A)+P(B)*P(D|B)+P(C)P(D|C) = \frac{1}{3}*\frac{1}{2}+0+\frac{1}{3}*1 = \frac{1}{2}\)

由此可以计算得到: \[ P(A|D) = \frac{1}{3} \\ P(C|D) = \frac{2}{3} \] 因此,应该选择C门

3.3.1 赦免问题

有A,B,C三个囚犯,其中一个人将被赦免,另外两个将被杀死,如果有囚犯问看守,看守只能告诉他某一个人将被处死,而且看守不能告诉问他的人是否被处死。A问看守,看守回答B要被处死,求这种情况下,A和C被赦免的概率

令:

  • A事件为被赦免的是A
  • D事件为看守回答B被处死

\[ P(A) = \frac{1}{3} \]

\[ P(D|A) = \frac{1}{2}\\ \]

\[ P(D|B) = 0 \]

\[ P(D|C) = 1 \]

则计算可得: \[ P(A|D) = \frac{1}{3} \]

\[ P(C|D) = \frac{2}{3} \]


面试中的贝叶斯推断问题
http://example.com/2022/09/29/bayes-inference/
Author
Zhengyuan Yang
Posted on
September 29, 2022
Licensed under