1 文本生成

1.1 文本生成过程

对于一篇文档,可以看成是一组有序的词的序列

。从统计学的角度看,文档的生成可以看成是上帝抛掷骰子生成的结果,每一次抛掷骰子都生成一个单词,抛掷

次生成一篇文档。对于该抛掷的过程,存在两个不同学派的观点:

频率学派认为,上帝只有一个骰子,这个骰子有V面,每个面对应一个单词。上帝生成文档是通过独立抛掷

次产生n个词;

贝叶斯学派认为,上帝有一个装有多个骰子的坛子,每个骰子有V面,每个面对应一个单词(不同骰子每个面概率不同)。上帝生成文档是通过先在坛子里拿一个骰子,然后再独立抛掷

次产生

个词。

LDA(Latent Dirichlet Allocation)是Blei等人基于上述贝叶斯学派的观点提出的一种生成文档的方法,该方法假设每个单词是由背后的一个潜在隐藏的主题中抽取出来。对于语料库中的每篇文档,其生成过程为:(1)选择主题;(2)生成单词;(3)组成文档。具体过程如下:

对于每篇文档,其主题存在一个分布,根据该主题分布抽取一个主题;

对于每个主题,其单词存在一个分布,根据该分布抽取一个单词;

重复过程2直到遍历文档中的每一个词。

那么上述主题分布和单词分布都是什么分布呢?且分布需要满足什么性质呢?

1.2 贝叶斯规则

对于一篇文档,构成文档的单词是可观测的,但文档的主题是不可观测的,因此我们需要根据可观测的单词去估计隐藏的主题分布。根据贝叶斯规则:

其中:

表示根据观测的数据,得出主题的后验分布;

表示主题的先验分布;

表示观测数据的似然函数;

上述就是贝叶斯思想:对于一个未知的分布,先假设其服从先验分布(来源于以前做试验数据计算得到,或来自于人们的主观经验),通过观测到的数据,根据贝叶斯规则计算对应的后验分布。很显然

时刻的后验分布为

次的先验分布,因此需要满足先验分布和后验分布具有相同的形式,即上述中

具有相同的分布形式。

2 前置知识

2.1 gamma函数

根据阶乘可知:

,但是当出现小数时,比如计算

则阶乘无法直接计算,因此才出现了阶乘的函数形式——gamma函数:

根据gamma函数计算可得

,因此有

2.2 二项分布

对于

次独立试验,假设每次试验的结果只有两种:成功与失败。成功的概率为

,则失败的概率为

次独立实验的结果中,成功的次数为

,失败的次数为

,则定义似然函数为:

似然函数表示观测数据出现的概率,上式满足:

2.3 beta分布

其中

为beta分布的超参数,表示伪计数。

参数解释:假设NBA运动员的投篮命中率服从beta分布,对一个刚进联盟的篮球运动员的命中率进行建模,很明显该运动员的命中率也服从beta分布。此时利用上赛季全联盟所有人的投篮命中数

,打铁数

,作为该运动员命中率beta分布的参数。且以

作为该运动员的先验命中率。此后,根据该运动员投篮数据的增加,去更新其投篮命中率的计算。

期望计算:

对于分布

,有

则有

代入上式

2.4 共轭先验分布

上述二项式分布的似然函数为

先验的beta分布为

根据贝叶斯规则可得后验分布

即后验分布仍满足beta分布,与先验一致。

先验分布

后验分布

其中

为伪计数,

为观测的数据。

综上,二项分布对应的共轭先验为beta分布,其意思为,beta分布*二项分布的结果仍未beta分布。

3 Dirichlet分布

3.1 多项式分布

对二项式分布推广到k种结果的情况,此时变为多项式分布,对应的似然函数为

其中,

3.2 Dirichlet分布

对beta分布推广到k种结果的情况,此时表为Dirichle分布

其中

同2.3,Dirichlet分布的期望为:

3.3 多项式分布与Dirichlet分布共轭

同2.4可得

先验分布

后验分布

其中

为伪计数,

为观测的数据。

4 LDA模型

4.1 模型表示

现在问题是这样的,我们有

篇文档,对应第

个文档有

个单词。我们的目标是找到每一篇文档的主题分布和每一个主题单词的分布。在LDA模型中,我们需要先假定一个主题数目

,这样所有的分布就都基于

个主题展开。

对于语料库中的每篇文档,LDA定义了一个生成过程,以1文本生成部分的投骰子为例,如下:

。这个过程表示在生成第

篇文档的时候,在D个服从

的坛子中找到骰子

,然后投掷这枚骰子生成第n个词的主题(topic)编号

。这个过程表示在生成第

篇文档第

个词的时候,在K个服从

的坛子找到主题编号为

的骰子,然后投掷这枚骰子生成单词

简单来说,步骤1就是

,步骤2就是

,根据条件概率的基本公式可得:

而LDA的目标就是要找出每个词后潜在的主题,所以为了达到这个目标,需要计算后验概率:

4.2 直接计算

针对上述后验概率的计算,在这里对其计算复杂度进行分析。

按照离散分布边缘概率的处理方式,文档中一个单词

的全概率为

因此对于上述后验概率计算中的分母

,其表示为所有单词的联合概率,则有

每个单词都对应着

个主题,总共有

个单词,因此分母计算陷入了

项难题,这个离散状态空间太大以至于无法枚举。

5 模型求解

在上节结尾可知,现实中,往往很难求出精确的概率,因此常常采用近似推断的方法。近似推断的方法大致可分为两大类:第一类是使用随机化采样完成近似,比如Gibbs采样;第二类是使用确定性近似完成近似推断,比如变分推断。