08 主题模型 - LDA

07 主题模型 - 知识补充 - 概率知识、二项\多项\Beta\Dirichlet分布

八、LDA

隐含狄利克雷分布(Latent Dirichlet Allocation, LDA)是一种基于贝叶斯算法模型,利用先验分布对数据进行似然估计并最终得到后验分布的一种方式。 LDA是一种比较常用的主题模型。

LDA假设文档主题是多项分布,多项分布的参数(先验分布)是服从Dirichlet分布,其实LDA是一种三层的贝叶斯模型。

08 主题模型 - LDA_第1张图片
三层的贝叶斯模型

共有M篇文档,每个文档有Nm个单词,一共涉及到K个主题;

每篇文档都有各自的主题,主题分布是多项式分布,该多项式分布的参数服从Dirichlet分布,该Dirichlet分布的参数为α;

每个主题都有各自的词分布,词分布为为多项式分布,该多项式分布的参数服从Dirichlet分布,该Dirichlet分布的参数为η;

对于某篇文档d中的第n个词,首先从该文档的主题分布中采用一个主题,然后再这个主题对应的词分布中采用一个词,不断重复该操作,直到m篇文档全部完成上述过程。


如何理解LDA比pLSA多了一个先验条件:
之前提过,目前概率分两个流派,1、根据大量样本求得频数的古典概率思想,大数定理——频数趋近于概率。2、基于先验条件进一步分析的贝叶斯概率思想。后者用于样本不够大的情况。事实上,像BAT这种大公司有着足够的数据量,那么是否需要考虑先验知识就没有任何意义了。根据大数定理的思想,如果用大量的样本数据求分类的概率结果,和加入了先验知识求出的概率结果几乎相同。

LDA的先验条件

LDA详细解释

词汇表中共有V个term(不可重复); 词典中的词不能重复

语料库中共有m篇文档d1,d2,..,dm;对于文档di,是由Ni个word组成的(word可重复);语料库共有K个主题T1,T2,...,Tk; 单词word必然是词典中的词。

α和η是先验分布(Dirichlet分布)的参数;

θ是每篇文档的主题分布,是一个K维的向量; 维度数和主题数有关,都是K个。

对于第i篇文档di,在主题分布θi下,可以确定一个具体的主题zij=k; 选多项式分布中概率最大的那个主题。

β是每个主题的词分布,是一个V维的向量;

由zij选择βzij(单词概率),表示由词分布βzij确定term,即可得到最终的观测值wij

笔者画了个图来解释上面到底说了件什么事:

图解LDA抽词的步骤

LDA在进行文本的主题模型构建的时候,对于D的文档,K个主题的模型构建流程如下所示:

08 主题模型 - LDA_第2张图片

对于θ、β、z的参数估计,基于贝叶斯算法可以得到如下公式:


LDA理解

08 主题模型 - LDA_第3张图片

扩展阅读:
09 主题模型 - LDA参数学习-Gibbs采样

你可能感兴趣的:(08 主题模型 - LDA)