LDA(主题模型)

2019/08/07 ML

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

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

LDA生成过程

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

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

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

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

LDA整体流程

令文档集合为,主题集合为中每个文档看作一个单词序列 (该单词序列不考虑词序,即词袋),中的所有单词组成一个大集合,记为

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

  • 中的每个文档,对应到不同主题(topic)的概率分布为,其中表示对应第个topic的概率,且。其中表示文档中属于第个topic的词的数目,表示文档中所有词的总数。

  • 中的每个topic,生成不同单词的概率分布为,其中表示主题生成中第个单词的概率,且。其中表示对应到主题中第个单词的数目,表示对应到主题的所有单词的个数。

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

其中可得;可得。以主题为中间层,利用可计算文档中出现单词的概率。

参考

Search

    Post Directory