Processing math: 100%

LDA(主题模型)

2019/08/07 ML

LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型由如下假设而来:一篇文章的每个词都是通过这样的过程生成而来:先按某种概率分布选择某个主题,再从该主题中按某种概率分布选择某个词。 文档到主题服从多项式分布,主题到词服从多项式分布。

LDA是一种非监督式机器学习技术,可用来识别大规模文档集或语料库中潜在的主题信息。其采用词袋的方法,将每一篇文档看成一个词频向量,从而将文本信息转化为数字信息。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。

LDA生成过程

对于语料库中的每篇文档,其生成过程如下:

  • (1) 从文档-主题分布中采样一个主题
  • (2) 从被采样到的主题所对应的单词分布中采样一个单词
  • (3) 重复(1)、(2),直至遍历文档中的每一个单词

其中每篇文档与T(超参数)个主题的多项分布相对应,记为θ,即文档-主题分布。每个主题与词表中V个单词的一个多项分布相对应,记为φ,即主题-单词分布

文档-主题分布主题-单词分布就是LDA模型待学习的模型参数。

LDA整体流程

令文档集合为D,主题集合为TD中每个文档d看作一个单词序列{w1,w2,,wn} (该单词序列不考虑词序,即词袋),D中的所有单词组成一个大集合,记为VOC

LDA以文档集合D输入,训练出如下两个结果向量(设共有k个主题(topic),VOC中共有m个词)作为输出

  • D中的每个文档d,对应到不同主题(topic)的概率分布为θd(pt1,,ptk),其中pti表示d对应第i个topic的概率,且pti=ntin。其中nti表示文档d中属于第i个topic的词的数目,n表示文档d中所有词的总数。

  • T中的每个topic,生成不同单词的概率分布为φt(pw1,,pwm),其中pwi表示主题t生成VOC中第i个单词的概率,且pwi=NwiN。其中Nwi表示对应到主题t中第i个单词的数目,N表示对应到主题t的所有单词的个数。

由上述生成的两组概率,可反向推出文档d的生成过程:

p(w|d)=p(t|d)p(w|t)

其中p(td)θd(pt1,,ptk)可得;p(wt)φt(pw1,,pwm)可得。以主题t为中间层,利用θdφt可计算文档d中出现单词w的概率。

参考

Search

    Post Directory

    文章目录