Bayes 和 Bayesian:统计学习里的挠头术语

几年前开始,统计学习技术走出校门进入工业界的趋势就很强劲了。但是其中各种术语挺多的,而且名字类似,比如 Bayes’ rule 和 naive Bayes classifier,Bayesian network 和 Bayesian model。最近和几个很棒的工程师朋友聊天时,大家都提到这个问题。所以我根据我的了解,整理一下这些术语。水平有限,请大家帮着审核审核。

Bayes 和它的形容词形式 Bayesian 在不同情况下有不同意思。
Bayes’ theorem 是 16 世纪的 Thomas Bayes 給的一个概率公式(凡是数学就是游戏):
P(A|B) = \frac{P(B | A)\, P(A)}{P(B)}. \,

20世纪60年代,Edwin Thompson Jaynes 发现这个公式可以用来做 probabilistic reasoning。从而逐步推翻了基于 first order predicate logic reasoning 的专家系统,创立的现代机器学习理论。具体的说:要想知道 B -> A 这个因果关系是否成立,可以通过 A -> B 的因果关系成立的概率和 A 出现的概率来推演。这种推演就是 Bayesian inference

Bayesian inference 的核心是把问题描述成 graphical model:把不确定因素用 random variables 表示;random variables 之间按照逻辑依赖关系连上边。

如果图中节点很多(问题中的不确定因素多),可能的边就会很多。边一多,模型的存储开销就大,计算开销也大,并且很难找到足够的 training data 来估计每条边上的参数。这种困境就是有名的 “Curse of dimensionality“。其解决之道就是尽量剔除无用边(不确定存在的逻辑依赖关系)。这就是 Markovian assumption。是著名的 Occam’s Razor 哲学思想在统计学习上的体现。

如果问题中的逻辑依赖关系是自然有方向的,则 graphical model 的边都是有方向的,并且合理的建模应该得到的是一个有向无环图(DAG),则此图被称为一副 Bayesian network。很多模型和数学方法,包括著名的 hidden Markov model、probabilistic latent semantic analysis, latent Dirichlet allocation、naive Bayes classifier、principle component analysis 都有各自的 Bayesian network 描述。

如果图中的边没有方向,则图被称为 Markov random field。著名的例子是 log-linear model 和 logistic regression。

一个常见的术语是 Bayesian model。其更精确的名字是 hierarchical Bayes model。不是所有的 Bayesian network 能表示的模型都被称为 Bayesian model;只有那些 random variables 的参数也被作为 random variable,并且用另一层的参数来描述的模型,才被称为 Bayesian model。一个例子是 pLSA 不是 Bayesian model,但是它的下一代 LDA 是。

本来以为写到这里就完了,结果发现在解释 Bayes 和 Bayesian 的时候又引入了 Markov 和 Markovian ~~