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 ~~

About these ads

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

  1. zt says:

    Bayesian network 不能表示 causal relationship 吧…

    btw SVD 跟统计可以说没啥关系,也许有些啥绕口的 probabilistic interpretation 吧,但是个人并不觉得跟 Bayesian network 有啥关系

    解释 Bayesian network 也没见 lz 用啥 Markov 的东西…

    • cxwangyi says:

      我理解只有能表示casualty的边,在建模的时候才会进入Bayesian network。

      SVD 的概率解释是洞察 SVD 数学性质的基础。SVD 的 Gaussian assumption 是它处理高维或者稀疏数据不给力的根本原因。很多改进工作也是通过减少这种强假设。

      鄙人不才。最近一年都在搞隶属 Markov random field 的东西。和同事们一起混,累积提升某 sponsored search 的 RPM 4 倍(基数就不高)。

  2. zt says:

    暂且引两段

    https://secure.wikimedia.org/wikipedia/en/wiki/Bayesian_network

    Although Bayesian networks are often used to represent causal relationships, this need not be the case: a directed edge from u to v does not require that Xv is causally dependent on Xu.

    SVD

    https://secure.wikimedia.org/wikipedia/en/wiki/Singular_value_decomposition

    从定义上来看,就仅仅是个矩阵分解。不知所谓概率解释何来?所谓改进,不知你是否就是说改变目标函数,SVD 就低秩估计而言已经是最优解了。如果你所为概率解释就是指这个的话,我觉得太过于牵强,SVD 本身根本不假定数据什么分布,来了个矩阵就能做…

    仔细看了下历史,也没见哪个人是搞统计或者概率论的数学家啊
    The singular value decomposition was originally developed by differential geometers, who wished to determine whether a real bilinear form could be made equal to another by independent orthogonal transformations of the two spaces it acts on. Eugenio Beltrami and Camille Jordan discovered independently, in 1873 and 1874 respectively, that the singular values of the bilinear forms, represented as a matrix, form a complete set of invariants for bilinear forms under orthogonal substitutions. James Joseph Sylvester also arrived at the singular value decomposition for real square matrices in 1889, apparently independent of both Beltrami and Jordan. Sylvester called the singular values the canonical multipliers of the matrix A. The fourth mathematician to discover the singular value decomposition independently is Autonne in 1915, who arrived at it via the polar decomposition. The first proof of the singular value decomposition for rectangular and complex matrices seems to be by Carl Eckart and Gale Young in 1936;[6] they saw it as a generalization of the principal axis transformation for Hermitian matrices.

    做 MRF 挺好,就是优化起来繁复许多,不知可有 publication 供参考?

  3. zt says:

    搞了半天原来是 PPCA…. 还以为什么高级的,那也只是 PCA 的概率解释,跟 SVD 基本没有关系。你列的几篇文章基本都看过了。至于你说的 SVD 和 PCA 的关系,太显然了,不必看也清楚的。

    可以说 PCA 是某种意义上假定了 Gaussian,而 SVD 只是可以用来计算 PCA 的一个工具。这个工具明显还能用到别的地方,也有别的推广。

  4. gxhrid says:

    请告诉我 probabilistic graph model, bayesian network, 和 generative model的区别于联系。多谢!

    • cxwangyi says:

      Graphical model 和 Bayesian model 的关系,文中已经说了。

      Generative model 是和 discriminative model 对应的。如果把已知因素(observed variables)表示为x,未知因素(unobserved variables)表示成 y,那么 generative model 描述的是 P(y|x) 和 P(x)。藉此可以得到 P(y,x) = P(y|x) P(x) ,也就能从中采样得到 [y,x] ~ P(y,x)。这个采样过程就是名字中 generative 的来历。

      Discriminative model 只描述 P(y|x)。因为没有 P(x),所以没法得到 joint distribution,也就没法采样得到 [y,x]。

      文中提到的 latent Dirichlet allocation 就是 generative model;而它的前辈 pLSA 不是。另外常见的 logistic regression 是 discriminative model。

      更细致的介绍可以参加 Pattern Recognition and Machine Learning。Wikipedia 上也有介绍,但是很简练,没有例子。

      • gxhrid says:

        描述的很精辟!不过同意下楼zt的观点 generative model 是 model \Pr (x \mid y) (posterior) 与 \Pr (y)(prior)。似乎LDA(大多数模型)模型也不是关注\Pr (x , y)吧?只是关注(prior 与posterior)的关系吧?

  5. zt says:

    ls 对 generative model 的解释也是有一定迷惑性的,也是不准确的

    generative model 明显是 model \Pr (x \mid y)\Pr (y),你随便拿 naive Bayesian 还是 hidden Markov model 去套哈。而且你所谓“未知因素”太过于隐晦,对 supervised learning,一般就是指每个 sample 的 label(response、output、类别 or whatever fits here)。有了这两个分布,你就能 generate sample 了。\Pr(y \mid x) 用于分类或者回归,也就是做 inference 用的,可以用前两者通过 Bayesian theorem 计算出来。discriminative model 直接对后者建模。

    对 unsupervised learning,generative model 就是指能 generate samples 的 model,有没有隐变量(虽然很多 model 有)都无所谓的,你说的 latent Dirichlet allocation 是有隐变量的,但是比如 unigram、bigram 等很简单的 model 是可以不需要什么隐变量,但不妨碍它们作为 generative model 而使用。

  6. zt says:

    anyway, I will stop being picky here… sorry

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 31 other followers

%d bloggers like this: