美文网首页人工智能通识
贝叶斯概率的十层理解(4)

贝叶斯概率的十层理解(4)

作者: zhyuzh3d | 来源:发表于2024-05-03 23:42 被阅读0次

世界是我们的,也是你们的,但归根结底,世界是贝叶斯的。
—— 胡所巴道·丹史乎由谢道里斯基

希望这篇文章能够带大家一起了解神奇的贝叶斯概念,启发更多神奇的思考。

继续上文...

第八层、贝叶斯检验:怎么从后验反推先验?

图文无关,AI生成

我们知道贝叶斯是从先验加条件(似然和边缘)来计算后验概率的:

后验=先验*\frac{似然}{边缘}

当然我们从公式可以得到计算先验的公式:

先验=后验*\frac{边缘}{似然}

其实从展开的公式中根本看不出谁是先验后验,照公式写就行了:

P(A且B|B)=P(A|X)*\frac{P(A且B|A)}{P(B|X)}

我们简单先说一下检验的事情,简单说,检验就是人家给你一个结论,你怎么用数据去推翻它或者接受它,当然无论最终是否接受,我们都应该有另一个与之不同的结论进行对比,如果我们的差异化结论更好,我们就接受人家的结论,否则我们就接受自己的(拒绝人家的)。

在检验里,一般我们把人家的结论叫做零假设H_0,把与之不同(往往是相反的)结论叫做备择假设H_1

举个例子。随机抛硬币,连续抛出5次正面,我们是否可以认为这个硬币不正常被做过手脚?可能每个人都有自己的答案,但这里有一个科学的算法做参考标准。

  • 零假设H_0:硬币正常,反正面出现机会各一半。
  • 备择假设H_1:硬币不正常,反正面机会不一样。

我们知道,按照零假设,连续5次正面出现的概率是:

(\frac{1}{2})^5=0.03125\approx3\%

如果我们认为发生了低于5%可能性的事情就不合理,那么5次正面的概率是3%就不合理了,我们就要拒绝零假设,认为硬币不正常。

实际上这个任意划的界限5%也叫做显著性水平,如果我们划到1%,那么5次正面还可以接受,继续认为硬币正常,你需要连续7次正面才能拒绝零假设。

连续成功的概率比较好求,每次成功概率为p,要是求n次里面k次成功的概率,就要用到下面这个改了质量函数,这里的感叹号代表阶乘:
P(X=k|n)=\frac{n!}{k!(n-k)!}*p^k*(1-p)^{n-k}

对于概率的认知,有两种不同学派,一种是频率学派或者说是统计学派,比如上面这种算法。另外一种就是贝叶斯学派,我们接下来用贝叶斯的思考方式来研究,多少次连续正面就可以拒绝零假设。

统计学派的检验看显著性水平,贝叶斯学派的检验看贝叶斯因子(bayes factor,简写BF),什么是贝叶斯因子呢?看公式:

BF=\frac{P(E|H_1)}{P(E|H_0)}

可以看出BF就是两个假设下E事件发生概率的比例,大于1就是零假概率更大,小于1就是备择假设概率更大。但实际上习惯遵循下面经验:

  • BF < 1: 证据倾向于支持零假设
  • 1 < BF < 3: 证据对备择假设的支持是温和的
  • 3 < BF < 10: 证据对备择假设的支持是强的
  • BF > 10: 证据对备择假设的支持是非常强的

如果你是个敏感的人,贝叶斯因子大于3的时候就可以拒绝零假设了,这时候备择假设的成功率比零假设高三倍了;如果你是个谨慎的人,可以等到大于10的时候再拒绝零假设。

我们来算下硬币正面连续朝上这个事情。为了计算简单,我们稍微修改一下备择假设为H_1是指硬币正面朝上概率为0.6,反面朝上概率p=0.4。那么:

P(E|H_0)=(\frac{1}{2})^5=0.03125\approx3\%

P(E|H_1)=(0.6)^5=0.07776\approx8\%

BF=\frac{P(E|H_1)}{P(E|H_0)}=\frac{0.07776}{0.03125}\approx2.5<3

这时候你可以倾向支持备择假设认为硬币正面朝上的概率更靠近0.6,但还不足以形成有力的证据否定零假设。实际上,当连续7次正面的时候,BF大约是3.6才会超过3,才可以比较强的否定零假设。

如果我们把备择假设正面朝上的可能设置比0.6高,就会导致更容易推翻零假设,这其实并不合理。我这里只是为了计算简单,比较合理的是把备择假设设置为零假设的完全相反面,即硬币不均匀,即除了正反各0.5之外的所有情况,这就需要使用幂函数积分来计算证明朝上概率p在0到1之间所有的可能的p^n概率之和,可以使用下面公式:
P(E|H_1)=\int_0^1p^ndp=\frac{1}{n+1}
BF=\frac{1}{n+1}/(\frac{1}{2})^n=\frac{2^n}{n+1}
当n=4时BF=3.2>3;当n=7时BF=16>10。这和统计学派的结论基本一致。

贝叶斯因子还有什么用?

P(A且B|B)=P(A|X)*\frac{P(A且B|A)}{P(B|X)}

如果我们认为备择假设是A条件下B发生的概率P(B|A),零假设是无条件下B发生的概率P(B|X),那么贝叶斯公式就变成:

后验=先验*贝叶斯因子

看起来简单多了,但构成贝叶斯因子的这两个概率往往并不那么好求。以检查阳性的案例来看一下。

P(病且阳|阳)=P(病|全部)*\frac{P(病且阳|病)}{P(阳|全部)}

  • 已知先验:所有人此疾病发病率1%
  • 已知边缘:所有人会有10%检测为阳性
  • 已知似然:真病人中90%为阳性

我们可以快速得出结论:

后验=先验*贝叶斯因子=0.01*0.9/0.1=9\%

更多情况下我们往往只知道先验和下面两个值:

  • 真病人能够多少比例被正确检查出阳性,即上面的似然P(阳|病),也叫召回率(Recall),也叫敏感度(Sensitivity),比如是80%
  • 无病的人有多少比例被正确检查为阴性,即P(阴|无病)也叫特异性(Specificity),90%。

看看下面这个式子有什么含义?

\frac{P(阳|病)}{1-P(阴|无病)}=\frac{P(阳|病)}{P(阳|无病)}

展开变为除法模式,然后乘以有病和无病比例,看看得到什么?

\frac{P(阳且病|病)}{P(阳且无病|无病)}*\frac{P(病)}{P(无病)}
=\frac{\frac{阳且病}{病}*病}{\frac{阳且无病}{无病}*无病}=\frac{阳且病}{阳且无病}

这代表什么?只要有召回率/(1-特异性)=80/10,然后我们加上1%的先验,就有

\frac{1}{99}*\frac{80}{10}=\frac{8}{99}

这有什么用?这个8/99就代表全部有阳性的人中8个真有病对应99个真没病,就代表P(病|阳)=8/(8+99)\approx0.8=80\%,诊断为阳性的患病率为80%。

其实下面也是另一种的贝叶斯因子,而且可以简化,还可以链式调用,因为都是比例关系,不涉及范围问题:

K=\frac{P(阳|病)}{P(阳|无病)}=\frac{P(阳|病)}{1-P(阴|无病)}

=\frac{召回率}{1-特异性}

使用方法:

\frac{P(病)}{P(无病)}*K=\frac{P(病|阳)}{P(无病|阳)}


<未完待续>
下篇我们将关注更多有趣的相关算法和知识,敬请关注。


相关文章

网友评论

    本文标题:贝叶斯概率的十层理解(4)

    本文链接:https://www.haomeiwen.com/subject/sgpqfjtx.html