目的

获得文章的主题

原理

LDA是基于贝叶斯模型的,涉及到贝叶斯模型离不开“先验分布”,“数据(似然)”和”后验分布”三块。

  • 先验概率:先验概率(prior probability)是指根据以往经验和分析得到的概率,如全概率公式,它往往作为”由因求果”问题中的”因”出现的概率。

  • 似然函数

Probability is used to describe the plausibility of some data, given a value for the parameter. Likelihood is used to describe the plausibility of a value for the parameter, given some data.

  • 后验概率

  • 共轭分布

LDA模型

在LDA模型中,我们的目标是找到每一篇文档的主题分布和每一个主题中词的分布。在LDA模型中,我们需要先假设一个主题数目K,这样所有的分布就都基于K个主题展开。那么具体LDA模型是怎么样的呢?

LDA假设文档主题的先验分布是Dirichlet分布,即对于任一文档d,其主题分布\(\theta_d\)为:

\[\theta_d = Dirichlet(\overrightarrow{\alpha})\]

其中,\(\alpha\)为分布的超参数,是一个K维向量。

LDA假设主题中词的先验分布是Dirichlet分布,即对于任一主题k,其词分布\(\beta_k\)为:

\[\beta_d = Dirichlet(\overrightarrow{\eta})\]

其中,\(\eta\)为分布的超参数,是一个V维向量。V代表词汇表里所有词的个数。

对于数据中任意一篇文档d中的第n个词,我们可以从主题分布\(\theta_d\)中得到它的主题编号\(z_{dn}\)的分布为:

\[z_{dn} = multi(\theta_d)\]

而对于该主题编号,得到我们看到的词\(w_{dn}\)的概率分布为:

\[w_{dn} = multi(\beta_{z_{dn}})\]

理解LDA主题模型的主要任务就是理解上面的这个模型。这个模型里,我们有M个文档主题的Dirichlet分布,而对应的数据有M个主题编号的多项分布,这样\((\alpha \to \theta_d \to \overrightarrow{z}_d)\)就组成了Dirichlet-multi共轭,可以使用前面提到的贝叶斯推断的方法得到基于Dirichlet分布的文档主题后验分布。

如果在第d个文档中,第k个主题的词的个数为:\(n_d^{(k)}\),则对应的多项分布的计数可以表示为

\[\overrightarrow{n}_d = (n_d^{(1)}, n_d^{(2)}, ..., n_d^{(K)})\]

利用Dirichlet-multi共轭,得到\(\theta_d\)的后验分布为:

\[Dirichlet(\theta_d \mid \overrightarrow{\alpha} + \overrightarrow{n}_d)\]

同样的道理,对于主题与词的分布,我们有K个主题与词的Dirichlet分布,而对应的数据有K个主题编号的多项分布,这样\((\eta \to \beta_k \to \overrightarrow{w}_k)\)就组成了Dirichlet-multi共轭,可以使用前面提到的贝叶斯推断的方法得到基于Dirichlet分布的主题词的后验分布。

如果在第k个主题中,第v个词的个数为:\(n_k^{(v)}\),则对应的多项分布的计数可以表示为

\[\overrightarrow{n}_k = (n_d^{(1)}, n_d^{(2)}, ..., n_d^{(V)})\]

利用Dirichlet-multi共轭,得到\(\beta_k\)的后验分布为:

\[Dirichlet(\beta_k \mid \overrightarrow{\eta} + \overrightarrow{n}_k)\]

由于主题产生词不依赖具体某一个文档,因此文档主题分布和主题词分布是独立的。理解了上面这M+K组Dirichlet-multi共轭,就理解了LDA的基本原理了。

LDA实战技巧

1,文本要长,要长。不长要想办法拼凑变长 2,语料要好,多下功夫去掉翔 3,规模要大。两层意思,一是文档数大,二是主题数多。关注三个东西: plda+能支持中等规模; lightlda能支持大规模(本宝宝有点小贡献,插播个广告); warplda应该也可以,不过没开源,实现应该不复杂。 4,应用场景要靠谱。直觉上讲,分类等任务还是要有监督的,不太适合无监督的方法去办。而类似基于内容的推荐应用,这种感觉的东西,LDA是靠谱的。

参考文献