本文是 LDA 经典论文 「Parameter estimation for text analysis」 的阅读笔记。
1 参数估计方法
总的来说,我们面对着两大类推理问题:
- 估计分布的参数集
的值,使其能够最好地解释观察到的数据集合
- 给定先前的观察结果,计算新的观察数据
的概率,即
我们将第一类问题称为「估计」问题,第二类问题称为「预测」(或回归)问题。
数据集
对于这些数据与参数,在贝叶斯统计中有许多与之相关的概率函数,我们可以通过贝叶斯规则将这些函数联系起来,如下所示:
上式可以对应到如下的术语:
下面我们会介绍三种不同的估计方法,首先是最简单的极大似然估计,然后是引入参数先验分布的最大后验估计,最后会使用贝叶斯规则推理出完整的后验分布。
1.1 极大似然估计
极大似然估计(ML)尝试去找到使似然函数最大的参数:
关于似然函数的思考:在数据为离散变量时,似然函数对应为「概率质量函数」(即变量在各特定取值上的概率)的乘积;而在数据为连续变量时,似然函数对应为「概率密度函数」的乘积,此时单点的取值没有意义,但可以看做在以该店为中心的极小区间内的概率的估计,我们希望由观察到的数据(真实值)对应的概率(可能性)最大。
为了简化计算,我们通常会对似然函数取对数(不影响其单调性),即可得到下面的极大似然估计问题:
常用的求解方法有直接求导、梯度下降等方法。
基于上述估计的结果,我们可以求解之前所述的预测问题:
即新样本是基于估计参数
为了方便与之后的估计进行对比,下面给出一个极大似然估计的实例。
对于一个包含
其中定义
对参数
上式可以直接通过求导求解,结果如下:
我们假设进行了 20 次试验后,正面向上次数
1.2 最大后验估计
最大后验估计(MAP)与极大似然估计非常相似,区别在于其引入了参数的先验估计,尝试去最大化给定数据时参数的后验分布:
使用贝叶斯规则,我们可以得到:
与 (4) 式相比,上式在似然函数的基础上添加了一个先验分布。在实际应用中,该先验分布可以用来加入额外的知识以及防止过拟合(选择更简单的模型)。
通过引入
通过使用与之前类似的方法最大化
与 ML 类似,我们使用之前的试验作为实例,看看 MAP 会给出什么样的结果。
对于参数
其中
在本实例中,我们相信硬币是公平的,因此设置
上式表明 MAP 估计的结果由实际计数和先验分布决定,实际计数
与之前一样,假设进行了 20 次试验后,正面向上次数
1.3 贝叶斯推理
贝叶斯推理是对 MAP 的扩展,它并不是直接估计一个确定的值,而是给出参数的分布,基于分布来决定参数的值(一般选择期望作为估计值)。其计算方法主要基于贝叶斯规则:
由于并不局限于找到最大值,所以我们需要计算分母的
在贝叶斯推理中,
对于预测问题,贝叶斯推理的计算公式如下:
下面我们将针对之前的实例,给出贝叶斯推理下的结果。先验分布采用与 MAP 一样的设定,但会选择给出参数
可以看到,后验分布仍然是 beta 分布。而对于参数为
基于之前的结果,我们可以得到贝叶斯估计值为
可以看到,与 MAP 的结果相比,估计值更接近与先验分布的峰值 0.5,下图给出了三种估计方法的对比:
2 共轭分布
因为边际似然的复杂性,贝叶斯模型的计算通常是十分困难的。而得益于贝叶斯方法对先验分布的自由性,我们可以采用「共轭先验分布」的方法来简化计算。
2.1 共轭性
共轭先验分布
共轭分布的最大好处是简化了计算,同时也有利于理解超参数的意义(如之前实例中将超参数理解为伪计数)。
进一步,共轭先验-似然对可以帮助将似然函数直接表示为超参数的形式(积分可解),如对于 beta-伯努利共轭,似然函数如下:
上式中使用了
上式中使用了
除了beta-伯努利共轭,还有一些重要的先验-似然共轭对,可以用来简化版贝叶斯推理的过程。其中之一就是beta-二项共轭。「二项分布」给出了对于
因为其参数
2.2 多元情况
之前讨论的均为二元情况,如果我们将事件从 2 种推广至 K 种(有限),就可以得到一个 K-维伯努利(或多项)试验,例如掷骰子。重复这一试验,我们就可以得到「多项分布」,其给出
其中多项式因子
对于单次的多项试验,其概率分布如下:
其中
基于上式,对于 N 次重复的多项试验,观察集
其结果恰好为多项分布省略多项式因子,产生这一区别的原因在于上式中我们给定了一个
对于多项分布中的参数
其中
在很多的应用中,会使用对称狄利克雷分布,其基于一个标量参数
2.3 文本建模
下面我们将上述知识应用于文本建模之中,考虑从一个大小为
其中
如果我们引入贝叶斯推理,考虑参数
对于新的文本,我们希望能够基于先验观察直接进行建模,绕过参数
注意上式的积分区间受
结果与 beta-伯努利案例类似,似然函数仅由观察值与先验伪计数构成。式
3 贝叶斯网络和生成过程
本章节将介绍两种表达系统概率行为的方法:贝叶斯网络和生成过程。
3.1 贝叶斯网络
3.1.1 简介
贝叶斯网络(BN)是一种正式的图语言,用于表达一个系统或现象的联合分布,形式为基于随机变量及其条件依赖的「有向图」。BN 是图模型的一种,图模型还包括无向图模型(马尔科夫随机场)、混合模型等。贝叶斯网络简化了推理计算,只考虑最相关的依赖关系。
具体来说,贝叶斯网络为一个有向无环图,其中节点表示随机变量,边表示对应的条件概率分布。位于一条有向边起点的条件变量被称为父节点,位于边终点的依赖变量被称为子节点。贝叶斯网络区分「证据节点」和「隐藏节点」,其中证据节点表示被观察(或假定被观察)的变量,隐藏节点表示潜在变量。证据节点以双圆圈表示,隐藏节点以单圆圈表示。
在很多模型中,存在共享父节点(或子节点)的节点,这些节点可以理解为独立同分布。这种重复可以通过方框表示,右下角给出重复数。
下图给出了狄利克雷-多项模型中的贝叶斯网络。
3.1.2 条件独立和可交换性
贝叶斯网络通过图的拓扑结构来编码随机变量间的依赖结构。基于这种拓扑结构,我们提出独立性中的一个重要概念:「条件独立」。给定一个条件
在贝叶斯网络中,关于一个节点的条件独立性,有两条通用的规则(马尔科夫条件):
- 马尔科夫毯(Markov blanket):其定义为一个贝叶斯网络的子图,其中包含一个节点的父节点、子节点以及其子节点的父节点。对于一个节点
,给定其马尔科夫毯,其与所有其他的节点条件独立:.
- 非后代节点(non-descendants):在一个以拓扑顺序(没有节点出现在其父节点之前)排列的贝叶斯网络节点序列中,一个节点的所有非父节点的前置节点均为其非后代节点。对于一个节点
,给定其父节点其总是与其非后代节点条件独立:.
为了判断在一个贝叶斯网络中任意节点之间的条件独立性
下图给出了贝叶斯球的判断规则(部分),可以分为三种情况:子节点、父节点以及传递节点。弯箭头表示隔离,直箭头表示可通过。总结起来即对于子节点来说,当且仅当其为隐藏节点时会阻碍传递;对于父节点和传递节点来说,当且仅当其为证据节点(或作为条件)时会阻碍传递。
以狄利克雷-多项模型为例,给定参数
下图给出了一种更加直观的贝叶斯球判断规则:
截止箭头表示贝叶斯球无法通过。基于上述规则,给出下面两个案例:
在贝叶斯网络中,比条件独立更强力也更重要的独立关系就是「可交换性」。任意随机变量样本的有限序列
可交换性的重要性在于其引出了 de Finetti 定理:一个随机变量的无限可交换序列的联合分布等价于基于某个先验分布采样一个随机参数,然后以该参数为条件,采样生成独立同分布的随机变量序列。该联合分布(下式为有限序列)即为:
在贝叶斯网络中,给定父节点下的可交换性可以使用方框来表示,可以理解为变量在给定条件(父节点)下满足独立同分布。在贝叶斯文本建模中,可交换性对应于词袋模型假设。
3.2 生成过程
贝叶斯网络对一个观察现象的生成过程给出了直观的描述。生成过程用于表示观察值是如何通过隐藏变量生成并传递的,以狄利克雷-多项模型为例,一个词语的生成过程如下所示:
其表明,参数
贝叶斯推理的任务是转置生成过程,基于给定的观察值生成参数值(后验分布),注意只有在特殊情况(比如共轭)下才能推导出完整的后验分布。
4 隐含狄利克雷分布
LDA 是一个概率生成模型,用于通过无监督学习估计多项式观察的属性。在文本建模领域,LDA 对应于一种被称为”潜在语义分析“(LSA)的方法,LSA 的核心思想是找出文本中所蕴含的主题,该主题能够反映出文本的真实含义。我们可以通过文本中单词的共现结构来恢复出潜在的主题结构。LDA 本质上是对 PLSA(基于概率的潜在语义分析)的拓展,其引入参数的先验分布,定义了一个完整的生成过程。
4.1 混合模型
LDA 是一种混合模型,即通过组件概率分布的凸组合来对观察过程建模。凸组合指加权因子和为 1 的加权和。在 LDA 中,一个词语
其中每个混合组件
基于上述表述,我们可以给出 LDA 推理的主要目标:
- 给出每个主题
下的词语分布概率
- 给出每篇文档
下的主题分布概率
估计参数集
4.2 生成模型
为了给出推理策略,我们将 LDA 看作一个生成过程。下图给出了 LDA 的贝叶斯网络:
我们可以通过如下生成过程理解该贝叶斯网络:
LDA 以文档
- 对于整个语料库,为每个主题生成一个主题-词语概率向量
- 对于每篇文档,生成一个文档-主题概率向量
- 对于每个词语,先基于文档-主题分布概率
生成一个主题,再基于对应的主题-词语分布概率生成一个词语
下图给出了完整的生成过程和符号表述:
4.3 似然函数
基于贝叶斯网络的拓扑结构,我们可以给出一篇文档的全数据似然函数,即给定超参数下所有已知和隐藏变量的联合分布:
而对于单个词语
即之前所述的混合模型。整个语料库的似然函数为各文档的似然函数相乘(独立事件):
4.4 基于吉布斯采样的推理
虽然 LDA 看上去并不复杂,但进行精确的推理(求解)是十分困难的。因此我们需要使用近似推理算法,这里使用的方法是「吉布斯采样」。
吉布斯采样(Gibbs Sampling)是马尔科夫链蒙特卡洛模拟(MCMC)的一个特例,可用于为高维模型(如 LDA)的近似推理提供相对简单的算法。MCMC 方法可以通过马尔科夫链的平稳行为来采样高维概率分布
吉布斯采样的思路是:每次只更新分布中的一个维度
- 选择一个维度
(随机或按某种顺序)
- 基于
采样
最终收敛后的得到的样本即为
为了构建一个吉布斯采样器,我们需要找出单变量条件分布
而对于包含隐藏变量
其中的积分对于离散变量来说为求和。基于吉布斯采样得到足够的样本
其中克罗内克函数
4.5 LDA 吉布斯采样器
下面我们将给出 LDA 的吉布斯采样的详细过程。
我们将使用上述隐藏变量的公式,在 LDA 中,隐藏变量即语料库中每个词语
基于上一节所述,推理的目标是
其中略去了超参数。该公式是难以直接求解的,需要引入吉布斯采样。为了模拟
4.5.1 联合概率分布
我们首先推导「联合概率分布」。在 LDA 中,联合概率分布可以拆分为两个部分:
上式利用了贝叶斯公式
第一项
上式相当于进行了
其中
上式可以理解为
与第一项类似,第二项主题分布
其中
综上所述,联合概率分布为:
4.5.2 单变量条件分布
基于联合概率分布, 我们可以推导出一个词语的单变量条件分布,其下标为
其中式
4.5.3 多项参数
最后,我们需要找出对应马尔科夫链状态
其中
4.5.4 吉布斯采样算法
使用公式
5 LDA 超参数
在上一节中,我们假设超参数(狄利克雷分布的参数)是已知的,这些超参数对模型的行为有着重要影响。在 LDA 中,一般使用对称先验,即所有主题分配给一个文档的概率以及所有词语分配给一个主题的概率是一致的。本章节将对超参数的含义进行解释并给出基于数据估计超参数值的方法。
5.1 理解
狄利克雷超参数对多项参数一般具有「平滑效应」。通过减小
上述理解表明超参数取值、主题数量与模型行为之间相互影响。根据已有经验,一个效果比较好的超参数取值为
5.2 估计
估计超参数
对于「无约束的向量化狄利克雷参数」,一个简单的定点更新式的最大似然估计如下:
其中
对于「对称狄利克雷分布」(LDA 中更常用),文献中并没有给出吉布斯采样器中这些超参数的估计方法,我们使用简单的
除了上述最大似然估计,我们也可以考虑引入先验分布,通过最大后验分布估计或是 MCMC 方法来采样超参数。
6 分析主题模型
本节我们将使用给定语料库的潜在主题结构来:
- 分析新文档的主题结构
- 分析主题的聚类质量
- 基于主题推理新的关联(如文档或词语的相似性)
下面介绍 LDA 的几个实际应用场景。
6.1 Querying
给定一个文档,主题模型提供了两种方法来查询与其相似的文档:
- 通过文档参数的相似性分析
- 通过预测性的文档似然函数
上述两种方法都需要先给出查询文档的主题估计。
6.1.1 主题采样
对于一个查询文档,其由一个词语向量
采样的方式仍为吉布斯采样,对应于
采样完成后,使用式
该采样同样适用于多篇文档。
6.1.2 相似性排序
得到了文档-主题分布
第一种是 KL 散度,其基于两个离散变量定义:
KL 散度可以理解为交叉熵
第二种方法是基于距离的测量(KL 散度不对称,
其中平均变量
6.1.3 预测性似然排序
另一种查询的方法是计算语料库中文档
上式中假定
6.1.4 检索
对于上述基于主题模型的查询策略,我们可以将其应用于信息检索领域。关于检索效果的评估,最常用的评估指标是准确率和召回率。准确率是指所有检索返回的文档中相关文档的比例;而召回率则是指所有相关文档中被检索返回文档的比例。由于准确率
这里有两个问题需要说明,第一个是基于主题模型的检索可能导致准确率的下降(对应于召回率的上升),因为其考虑了文档的潜在主题结构而非字面量。我们可以考虑将主题模型检索与其他检索方法进行结合。第二个是应当使用与主题分布相关的查询构造策略,如通过未知文档构造出的主题分布。
6.2 Clustering
LDA 还可以用于对文档与词语的聚类,其主题分布提供了一种软聚类的结果。基于主题分布,我们可以计算文档或主题之间的相似性(上一节所述)来查看聚类结果。
6.2.1 VI 距离评估
对聚类质量的评估也十分重要。原则上,我们可以直接基于计算得到的相似性来主观评价聚类质量,而一种更加客观的评估方法是将模型应用于已经分好类的语料库,比较模型给出的聚类结果与先验结果。下面我们将介绍一种比较聚类结果的方法,叫做 Variation of Information distance (VI 距离),其能够计算类数量不同的软聚类或硬聚类之间的距离。
VI 距离的计算公式如下:假定每个文档都有两种主题分布(软聚类):
对于相似的聚类,主题往往趋向于成对
其中联合分布
进一步地,我们有
6.2.2 困惑度评估
除了上述基于先验结果的评估之外,我们还可以直接基于保留数据(即未参与模型训练的数据)的似然函数进行评估。然而似然值通常为较大的负数(对数函数特性),所以我们使用「困惑度」(perplexity)来作为评估标准:
困惑度可以直观地理解为模型生成测试数据所需要的均匀分布的词典大小。困惑度越低,表示模型对测试数据中词语的表示越好。对于 LDA,困惑度中似然函数的计算公式如下:
其中
除了用于评估聚类质量,困惑度还可以用来判断吉布斯采样过程是否收敛。通过计算训练集的困惑度,我们可以了解模型是否存在过拟合,据此判断何时停止采样过程。
以上就是论文的主要内容。更多学习笔记欢迎关注微信公众号「口仆」。
声明:本文系本人原创,共发布于知乎、微信公众号(口仆)和个人博客(https://xxwywzy.github.io)三个平台,所有文章除特别声明外,均采用BY-NC-SA许可协议。转载请注明出处!