为什么贝叶斯定理需要归一化因子?

机器算法验证 可能性 贝叶斯 条件概率 贝叶斯
2022-02-11 06:57:40

贝叶斯定理

P(model|data)=P(model)×P(data|model)P(data)

这一切都很好。但是,我在某处读过:

基本上,P(data) 只不过是一个归一化常数,即使后验密度积分为 1 的常数。

我们知道0P(model)10P(data|model)1

因此,也必须在 0 和 1 之间。在这种情况下,为什么我们需要一个归一化常数来使后验积分为 1?P(model)×P(data|model)

3个回答

首先“似然 x 先验”的积分不一定是 1

如果:

0P(model)10P(data|model)1

那么这个产品相对于模型的积分(实际上是模型的参数)是 1。

示范。想象两个离散密度:

P(model)=[0.5,0.5] (this is called "prior")P(data | model)=[0.80,0.2] (this is called "likelihood")

如果你将它们相乘,你会得到: 这不是一个有效的密度,因为它没有积分为一:

[0.40,0.25]
0.40+0.25=0.65

那么,我们应该怎么做才能强制积分为1呢?使用归一化因子,即:

model_paramsP(model)P(data | model)=model_paramsP(model, data)=P(data)=0.65

(对不起,糟糕的符号。我为同一件事写了三种不同的表达方式,因为你可能会在文献中看到它们)

其次“可能性”可以是任何东西,即使是密度,它的值也可以高于 1

正如@whuber 所说,这些因素不需要介于 0 和 1 之间。他们需要它们的积分(或总和)为 1。

第三[额外],“共轭”是您的朋友,可以帮助您找到归一化常数

你会经常看到: 因为缺少分母很容易通过集成此产品获得。请注意,如果先验和似然是共轭的,则此积分将有一个众所周知的结果

P(model|data)P(data|model)P(model)

对您的问题的简短回答是,如果没有分母,右侧的表达式仅仅是可能性,而不是概率,其范围只能从 0 到 1。“归一化常数”允许我们得到概率事件的发生,而不仅仅是该事件与另一事件相比的相对可能性。

你已经得到了两个有效的答案,但让我加上我的两分钱。

贝叶斯定理通常定义为:

P(model | data)P(model)×P(data | model)

因为您需要常量的唯一原因是它集成为 1(请参阅其他人的答案)。这在大多数 MCMC 模拟贝叶斯分析方法中是不需要的,因此从方程中删除了常数。因此,对于大多数模拟来说,它甚至不是必需的。

喜欢Kruschke的描述:最后一只小狗(常数)很困,因为他与公式无关。

在此处输入图像描述

还有一些人,比如 Andrew Gelman,认为这个常数是“被高估的”并且“当人们使用扁平先验时基本上没有意义”(查看这里的讨论)。