Topic Model

来源:互联网 发布:满城尽带黄金甲 知乎 编辑:程序博客网 时间:2024/06/05 10:47

Generative algorithms

传统方法聚焦在数据当前状态的分析,而生成模型试图找到数据编程当前状态的原因。生成模型假设文本可由基于词汇表的不同概率分布的混合产生(Generativealgorithms assume documents can be represented as a mixture ofprobability distributions over the collection set ofterms[4]Generative algorithms的代表方法是LSI(见博文LatentSemantic Indexing)、PLSAProbabilisticLatent Semantic Analysis)和LDALatentDirichlet Allocation)。本文主要介绍PLSILDA

Relationship with between latent variable models[1]

Unigram model

使用unigram model, 文档中的单词将由单一的多项分布独立生成(如图Fig. 3(a)所示

):

Topic <wbr>Model

Mixture of unigrams MU

如果假设每一个文档对应一个主题,那么文档中的单词的出现概率将是该主题下的条件概率。因此,每一个文档的生成需要首先选择一个主题z,然后由条件概率p(w|z)独立的生成N个单词,而文档出现的概率是不同主题生成该文档的条件概率之和:

Topic <wbr>Model

 

Probabilistic Latent semantic indexing

PLSI假设已知主题z时,文档和单词是条件独立的:

Topic <wbr>Model

 

PLSI试图放松MU中的约束(文档由唯一的一个主题生成),PLSI假设一个文档由多个主题生成p(z|d)说明了不同主题在生成当前文本时的权重。然而,文档变量d是一个多项随机变量,它的取值范围和语料库中文本总数对应。p(z|d)是基于当前训练集得到的,无法估计新增文本的p(z|d)值。同时,模型的参数数量是随着语料库规模线性递增的。

Topic <wbr>Model

Latent Dirichlet Allocation

LDA进一步假设p(z|d)是由K个隐藏变量控制的,这K个隐藏变量对应于下文中的K个β参数,决定了主题基于语料库中单词统计结果的概率分布。β和α决定了主题在具体一篇文档中的概率分布,主题决定了单词的出现情况。(注:参数α和参数β由单词w的实际出现情况产生了联系,在评估参数取值时,这种联系使得两个参数产生了耦合,无法直接计算取值,因此LDA使用了一种近似方法——假设α和β分别由更深的隐藏层参数独立控制,详见下文。因此,可否认为LDA是一个四层模型?

 

Probabilistic Latent Semantic Analysis

PLSA的核心是aspectmodel [6, 7]Aspect Model是一个隐变量模型,它如下定义单词生成过程:

对于隐藏变量zZ={z1,…, zK},单词wW={w1,…, wK},和文档dD={d1,…, dK}

l 以概率P(d)选择文档d

l 以概率P(z|d)选择隐藏变量z

l 以概率P(w|z)生成单词w.

上述过程生成的结果一个一个文档单词对(d, w),隐藏变量作为中间变量并不会出现在最终的观察结果中。上述过程等价于:

Topic <wbr>Model

 

请注意3式中的累加。AspectModel是一个统计混合模型。它的两个独立假设分别是:首先,观察到的文档、单词对(d,w)假设是独立生成的;另一个条件独立假设是以隐变量z为条件的,单词w的生成是独立于具体的文档d的。

根据最大似然率法则,P(d)P(z|d),和P(w|z)的确定依赖于最大化如下准则函数:

 

Topic <wbr>Model

其中n(d, w)表示的是单词w在文档d中出现的次数。Topic <wbr>Model

一种最大化似然概率的方法是Expectation MaximizationEM)算法。EM算法循环进行如下两个步骤:(1Theexpectation step, E-step,根据当前参数的取值计算隐变量的后验概率(2Themaximization step, M-step,根据(1)中后验概率的计算结果以最大化似然概率为目标,更新参数取值。具体说来,在aspectmodel中,E-step使用贝叶斯法则计算隐变量z的后验概率:

Topic <wbr>Model

 

M-step,通过最大化当前所有数据的log-likelihood的期望来更新参数。4式中包含两项,由于 Topic <wbr>Model,因此前项可以独立评估,此时只用考虑后项:

Topic <wbr>Model

 

考虑到归一化约束(概率和为1),7式需要使用拉格朗日乘子进一步扩充:

Topic <wbr>Model

 

通过求偏导得到上式取极值得点可以得到如下等式:

Topic <wbr>Model

 

求解9式和10式以消除拉格朗日乘子可以得到如下参数评估等式:

Topic <wbr>Model

 

11和式12就是M-step需要评估的参数。

E-stepM-step会交替执行直到达到终止条件。但最优解并不一定是必须的,有时甚至没有最优解,因此可以使用earlystopping来终止迭代。使用earlystopping时,算法将在第一次结果没有提升时终止。

Latent DirichletAllocation

Preliminaries

l 一个单词(word)是离散数据的基本组成单位,被定义为词汇表中的一项,使用序号v进行检索{1V}。使用基向量表示单词,每一个基向量有且只有一项等于1,其他项均为零。因此,使用上标v表示单词w是词汇表中的第v项,其对应的基向量是一个V维的,第v项取值为1的单位向量。wv=1wu=0对于任意uv.

l 一个文档被表示为N个单词的序列w=(w1,w2, …, wN),其中wn是序列中的第n个单词。

l 一个语料库是M个文本构成的集合,表示为D={w1,w2, …, wM}.

LDA生成过程

LDA假设如下文档生成过程:

l 对于每一个主题,生成一个基于当前单词的多项分布βk~DirN(η)k{1,…, K};

l 选择每一个文档di, i{1,…, M}

a)        生成一个基于主题的多项分布,θi~DirK(α)

b)        对于文档di中的任意单词wil

u a中定义的分布中选择一个主题,zil~Multinomial(θi)

u 从主题zil选择一个单词wilwil~Multinomial(βzil)

一个k维的Dirichlet变量θ可以从一个(k-1)单形(simplex)上取值,它在这个单形上的概率密度函数是:

Topic <wbr>Model

 

其中参数α是一个k维的向量,且αi>0.Γ(x)是伽马函数。

提供了参数α和β后,主题混合变量θ、主题变量集合z和单词集合w的联合概率是:

Topic <wbr>Model

 

其中p(zn|θ)等价于p(zn|θi)izn中的对应项使得zin=1。累加z并对θ积分,可得一个文档的边缘分布:

Topic <wbr>Model

 

最后,将每个文档的边缘概率相乘,可得整个语料库的概率:

 

 Topic <wbr>Model

Topic <wbr>Model

 

如上图所示,LDA可以被表示为三层概率图模型。参数α和β是语料库层级的变量,在整个语料库的生成过程中只被采样一次;参数θ是文档层级的变量,针对每一个文档都要采样一次;而参数zw是单词层级的变量,当一个单词在一个文档中出现一次时就要被采样一次。

LDA参数评估过程

PLSA类似,LDA通过EM算法寻找近似解。LDA整体分为两步,第一步,求解γ和φ(近似求解参数,详解见下文);第二步,需确定参数α和β来最大化对数似然概率。

EM算法的第一步就是求隐变量的后验概率:

Topic <wbr>Model

 

然而,由于参数θ和β的耦合,这个等式通常是无解的(详见[1], page11)。因此需要一种近似的求解方法。

Topic <wbr>Model该近似方法是根据Jensen不等式求解loglikelihood的一个紧邻下界。为了得到一簇下界值,可以将上图左侧的图模型做适当更改,移除一些边和节点,得到右侧的图模型。参数θ和β的耦合是由θ,z,和w之间的边造成的。通过移除这些边和节点w,得到了由自由参数(freevariational parameters)构成的简化版图模型,进而得到了一簇隐变量的分布(a family ofdistributions on the latent variables)(即去掉了参数间的耦合)。这个簇由下式定义:

Topic <wbr>Model其中Dirichlet参数γ和多项式参数(φ1,φN)是自由参数。

得到简化的概率分布簇后,需要确定一个最优化问题来决定γ和φ的值。根据[1]中所述(AppendixA),寻找簇中的一个紧邻下界等价于如下优化问题:

Topic <wbr>Model

 

因此,寻找最优值转变为最小化参数分布与真实后验分布之间的KL-divergence。推导后(AppendixA.3)可得参数更新方程:

Topic <wbr>Model而期望的计算如下式:

Topic <wbr>Model

 

其中Ψ是logΓ的一阶导数([1]appendix A.1)。

上述推导的整体过程如下:

Topic <wbr>Model

 

得到最优的参数γ和φ后,需要确定参数α和β来最大化对数似然率

Topic <wbr>Model

E-step:对每一个文本,找到最优的自由参数:{rd*,φd*:dD}

M-step:以最大化对数似然率为准则更新α和β(详见[1]appendix A.4),其中,

Topic <wbr>Model

 

Similarity in probabilistic space

生成模型将文档表示为概率分布。为了比较两个文档的相似性(概率分布的相似性),给出如下基于信息论的距离比较方法[5]。另另p={p1,…, pR}q=p={q1, …, qR}为同一变量的概率质量函数。这两个概率分布的Kullback-Leibler(KL) 距离定义为:

Topic <wbr>Model

 

KL的取值是非负、非对称的,当两个分布完全相同时,取值为1.

Jensen-Shannon (JS)距离是KL的一个对称、光滑版本:

Topic <wbr>Model

 

Hellinger距离:

Topic <wbr>Model

 

其中Topic <wbr>ModelBhattacharyya 系数,余弦相似度的概率分布版本。

[1] Latent Dirichlet Allocation

[2] Indexing by Latent Semantic Analysis

[3] Probabilistic Latent Semantic Indexing

[4] Unsupervised Learning by Probabilistic Latent SemanticAnalysis

[5] Document Clustering-The next Frontier

[6] Unsupervised learning from dyadicdata. Hofmann, T., etc. 1999.

[7] Aggregate and mixed-order Markov models forstatistical language processing. Saul, L., etc. 1997.

[8] Introduction to Probabilistic Topic Models

0 0