0%

LDA(Latent Dirichlet Allocation)

先借用Wikipedia上内容介绍一下LDA(隐含狄利克雷分布):

隐含狄利克雷分布简称LDA(Latent Dirichlet allocation),是一种主题模型,它可以将文档集中每篇文档的主题按照概率分布的形式给出。同时它是一种无监督学习算法,在训练时不需要手工标注的训练集,需要的仅仅是文档集以及指定主题的数量k即可。此外LDA的另一个优点则是,对于每一个主题均可找出一些词语来描述它。

LDA是一种典型的词袋模型,即它认为一篇文档是由一组词构成的一个集合,词与词之间没有顺序以及先后的关系。一篇文档可以包含多个主题,文档中每一个词都由其中的一个主题生成。

理解LDA,可分为以下5个步骤:

  1. 一个函数:gamma函数
  2. 四个分布:二项分布、多项分布、beta分布、Dirichlet分布
  3. 一个概念和一个理念:共轭先验和贝叶斯框架
  4. 两个模型:pLSA、LDA
  5. 一个采样:Gibbs采样

在LDA模型中,一篇文档的生成方式如下:

  • 从狄利克雷分布 \(\alpha\)中取样生成文档 \(i\) 的主题分布 \(\theta\_{i}\)
  • 从主题的多项式分布 \(\theta\_{i}\) 中取样生成文档 \(i\)\(j\) 个词的主题 \(z\_{i,j}\)
  • 从狄利克雷分布 \(\beta\) 中取样生成主题 \(z\_{i,j}\) 对应的词语分布 \(\phi\_{z\_{i,j}}\)
  • 从词语的多项式分布 \(\phi\_{z\_{i,j}}\) 中采样最终生成词语 \(w\_{i,j}\) .

Reference