朴素贝叶斯模型何时不是贝叶斯模型?

机器算法验证 贝叶斯 朴素贝叶斯
2022-03-31 08:03:42

我一直在使用贝叶斯推理,据我所知,朴素贝叶斯是“贝叶斯”,因为它有先验和后验,并且遵循贝叶斯规则。

我刚刚阅读了贝叶斯推理和机器学习一书中关于“贝叶斯朴素贝叶斯”的主题,但我无法理解如何拥有“非贝叶斯”朴素贝叶斯。他们提到通常的朴素贝叶斯不是贝叶斯,因为它使用最大似然估计来设置 p(c)(其中 c 是类),而在贝叶斯版本中,我们可以使用例如 Dirichlet 分布作为先验。

我的问题是关于两者之间的区别。不是两个先验吗?我已经搜索了一段时间,但这是我设法收集到的唯一解释。

1个回答

非正式地,对模型(朴素贝叶斯只是命名一类离散混合模型)进行“贝叶斯”就是使用贝叶斯定理来推断其参数的值或其他感兴趣的量。要成为同一模型的“常客”,粗略地,除其他外,使用依赖于这些数量的估计量的抽样分布来推断这些值可能是什么。

转向您的朴素贝叶斯/混合模型。为了说明,让我们假设所有组件参数和功能形式都是已知的,并且有两个组件(类,等等)。

在混合模型中被描述为“先验”的是分层结构生成模型早期阶段的混合参数。如果您通过 EM 算法以通常(ML,即Frequentist)的方式估计此混合参数,那么您已经采取了一条方便的路线,沿着模型似然度找到最大值,并将其用作真实值的点估计混合参数。也许你在那个时候使用可能性的曲率来给自己一个不确定性的度量。(但可能不是)。通常,您随后会使用它通过假设该值并应用贝叶斯定理来获得单个观察的成员概率。

这似乎是贝叶斯,因为它使用贝叶斯定理。但是,它在两个方面是非贝叶斯的:首先,您使用相同的数据来确定“先验”(混合参数)一些相关的“后验”(单个观察的成员概率)。所以“先验”并不是真正的先验,因为它已经以数据为条件。在第二种更一般的方式中,第一种是一个实例:贝叶斯定理被用于推断一些未知数(成员概率)而不是其他未知数(混合系数)。

这就是为什么如果您决定以贝叶斯方式执行此操作,因为您事先知道混合参数值是什么,所以您给它一些先验分布。也许那是一个带有一些参数或其他参数的 Dirichlet(因此在这个精简的博览会中是一个 Beta),以反映您的不确定性。然后,您要弄清楚如何对数据进行条件处理以获取数据的后验分布以及您关心但不知道的所有其他内容,例如每个观察的组件成员资格。要推断其中的任何子集,请将其余部分边缘化。

在频率学术语中,模型有已知部分和未知部分,但没有不确定部分,因此不需要先验:您要么知道它们,例如组件是高斯的,要么您不知道它们,例如每个组件的均值。即使在生成数据时涉及到分布,就像在混合模型中那样,它们都不是贝叶斯先验,无论您是否对它们使用贝叶斯定理。相反,它们代表实际或假设的随机化机制某种意义上的。具体来说,混合模型提供了一种用于生成数据的假设随机化方案:根据混合参数的值投掷一枚加权硬币来决定一个组件,然后从该组件的分布中提取以生成观察结果。这整个过程都有参数,你必须从数据中估计它们。

所以看起来像“后验”的东西,带有“先验”,实际上是常规推理,其中数据生成过程在中间有一些分布机制。

这很像Frequentist对混合模型的看法,而不像Frequentist推断,比如回归系数,没有这样的中间结构来让任何人想到先验或后验。

可能值得注意的是,反贝叶斯的主要反贝叶斯主义者费舍尔(Fisher)很高兴使用贝叶斯定理,因为他认为数据生成过程中嵌入了真正的随机化机制,例如在涉及基因频率的理论生物学问题中。这是一个一致的立场。只是不是贝叶斯的。

希望有帮助。