《Parameter estimation for text analysis》阅读笔记(四)

本文内容为Parameter estimation for text analysis阅读笔记第四篇,如有错误或疏漏之处,恳请各位批评指正!

简介:

本文将主要介绍两类关联性较大的方法,用以描述一个系统的概率行为:贝叶斯网络 (Bayesian network)和生成过程 (Generative process)。

1. 贝叶斯网络(Bayesian network)

贝叶斯网络是一种图语言,用以描述概率系统中随机变量之间的联合分布。它通过随机变量之间那些最相关的依赖关系,构建节点之间的有向边,从而简化inference过程的计算。而假设我们直接构建所有随机变量之间的联合概率分布,我们的计算量将会是指数级的。

贝叶斯网络所构成的是一个有向无环图(Directed acyclical graph, DAG)。图中的节点代表各个随机变量,边代表条件概率分布。我们以该网络中一条边以及通过该边连接的两个节点为例。处于边开始位置的节点是父节点(parent node),它代表这个边所对应的分布中的一个条件变量(也就是在该分布中是被fixed住的,即“条件”),处于边终止位置的节点是是子节点(child node),它代表该分布中的依赖变量(即分布中的自变量)。

贝叶斯网络中有两种node,第一种被称为evidence node,这类node是指那些可以被observed到的节点;第二种被称为hidden node,它对应latent variable,即我们无法通过observe得到的隐变量。

除此之外,在贝叶斯网络中,有一些nodes会通过一个叫做“plate”的东西框起来,并在框的右下角标注一个数字,此处的含义是,对框内的节点进行replicate,并让这些节点都与框外有着相同的一套连接关系。也就是说,对于被replicated的相同节点,把它们单独拿出来,它们与框外节点连接的拓扑结构是相同的。于是,这些被replicated的节点就可以共享parent和child nodes了。

我们在笔记(三)中描述的概率系统(被称为“Dirichlet-multinomial model”)中,各个变量之间的关系,可以映射到一个BN中,如下图所示:

其中,画双圈的是我们可以observe到的变量\vec{w}=\{w_n\}所对应的node,也即evidence node。我们可以看到,这里的w_n被一个大的plate所围住,其表达的意思是:这里有N个i.i.d的samples,所以我们可以把这里当作有N个相互独立的随机变量,它们都共享parent node \vec{p}

除此之外,此处的\vec{\alpha}被称为多变量参数,而\vec{p}被称为hidden variable。

2. 条件独立(conditional independence)和可交换性(exchangeability)

概率系统中变量之间的依赖关系可以通过BN编码进BN的topology中。在这种topology中,变量之间的independence被称为条件独立(conditional independence)。其叙述是这样的:如果两个随机变量X, Y在given Z的前提下条件独立(记为),那么首先需要满足式:p(X, Y|Z)=p(X|Z)\cdot p(Y|Z)。也即,在given Z的时候,对于Y相关数据的获得,对获得X相关的信息是没有帮助的,反之亦然。

马尔科夫条件(Markov condition):在BN中,有两个关于conditional independence的rules。第一个rule是based on Markov blanket的。那么什么是Markov blanket?首先我们有一个待研究的node,我们需要讨论的是,该node和BN中哪些node之间是conditional independent的。那么我们就需要找到所谓的“condition”。这个condition可以通过Markov blanket来进行框定。Markov blanket是这样说的,对于我们待研究的点,我们以它为中心,找3类点:1.它的所有子节点。2. 它的所有父节点。3. 它的所有子节点的所有父节点。我们将这些节点组成一个集合,称为Markov blanket ,记为B(X_i)。Markov condition的叙述如下:当given B(X_i)的时候,其他所有的node和这个待研究node之间都是conditionally independent的,记为:

第二条rule是找到特定node的non-descendants:首先我们需要保证我们待研究的点,和其父节点之间是topological ordering的,即不存在这样一条路,能够从该node达到它的parent node(如果有,那么就会出现环,而由于BN本身是DAG,所以自动符合这一条件)。其次,找到该节点除了其父节点之外的祖先节点,记为N(X_i)。所以该条rule叙述为:在given待研究节点X_i的parents的时候,这些节点是与它们的non-descendants相独立的,记为

贝叶斯球(Bayes balls):上述的方法需要首先找一个set,我们在given这个set上实现conditionally independent(或者是待研究node与这个set中的任何一个node都是conditionally independent的)。而利用Bayes ball,我们可以在given Z的前提下,轻易找到X和Y是否independent的答案。那么如何执行Bayes ball这个方法?如果我们需要得知X和Y在given Z之下是否是independent的,那么我们可以从node X开始,传播这个Bayes ball。当且仅当这个ball无法传递到Y时(在given Z时),才能说明X和Y是在given Z下conditionally independent的。

我们可以用下图来说明是否可以传播过去:

上图想要说明的是:

如果一个node是child node,那么如果它是hidden的,那么它便会block掉ball的传递;如果它是observed的,那么ball就会pass过去;

如果一个node是parent/transitional的(transitional就是说,在ball传递过程中,所传到的该node既不是child,也不是parent),那么如果它是hidden的,那么它便会把ball给pass过去;如果它是observed的,那么ball就会被block掉。

可交换性(exchangeability):可交换性是一种比conditionally independent更强的independent relation。

一个有限随机变量序列\{X_n\}_n是可交换的(exchangeable),当且仅当其联合概率函数可以在该序列进行任何调序后保持不变,即:p(\{X_n\}_{n=1}^N)=p(\{X_{Perm(n)}\}_{n=1}^N), 而对于无限序列而言,这就要求该序列的所有子序列都具有可交换性。

可交换性有什么用?根据de Finetti’s theorem所述,一个可交换的随机变量序列的联合概率函数等价为先从一个先验分布中sample出parameter,然后再以这个parameter为condition,sample出各个i.i.d.的random variables。此时我们可以将这些具有可交换性的变量的联合概率密度表示为:p(\{x_m\}_{m=1}^M)=\prod_{m=1}^Mp(x_m|\vartheta)

在贝叶斯网络中,“可交换性”是在given parent(以parent为条件)时,对child应用plate所导致的。此时child node中所代表的variables可以看作是当parent 给定时,sample出来的i.i.d.。

在贝叶斯文本建模中,“可交换性”对应于bag-of-word假设。

3. 生成式模型(Generative models)

贝叶斯网络提供了一种直观的方式,用来描述可被观察到的observations,它描述了这些observations的generative process,这些observations是如何通过sampling、沿着BN中的directed edge传递,最后得以生成。 作为Dirichlet-multinomial model中的一个simple的例子,(注意此处 \vec{p} 只被sample了一次,之后所有的words都共用这一个\vec{p}unigram的生成过程如下:

\LARGE \vec{p}\sim Dir(p|\alpha)

\LARGE w\sim Mult(w|\vec{p})

上式所要说明的是,首先参数\vec{p}从一个Dirichlet分布中被sample出来,然后单词w从以参数为\vec{p}的多项式分布中被sample出来。

Bayesian inference是这个generative process的逆过程:它以observations为起点,在given observations的情况下,试图“生成”模型中的parameters,并在其中试图处理掉hidden variables的问题。(个人理解)其实这里主要是在handle掉parameters,因为只有这些parameters才是hidden variables。如果能直接通过某些方式(比如在笔记(三)中最后一个公式所述的,通过积分方式把参数\vec{p}给marginalize了)把参数处理掉自然是最好的。然而很多时候我们没法直接处理掉这个参数(即hidden variables),因此我们就只能用正常的方式求该参数的后验分布,然后再“trying to cope with hidden variables”。

所以,到这里,我们需要明确的一点是:我们所用的是Bayesian inference的方法来计算我们在已知observations的情况下的未知x,但大多数时候我们没法直接通过marginalize的方式消掉该公式中出现的hidden variables(参数\vec{p}),因此我们需要“主动”计算这个参数的“前世今生”,计算它所遵从的分布情况,然后再对它进行handle。而Bayesian inference所要做的,就是generative process的逆过程,即在已知observations前提下,去推断hidden variables(参数\vec{p})所遵从的分布。

这也是我们下一节即将要介绍的LDA中所运用的方法。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值