lda模型小记

  • 2019 年 10 月 6 日
  • 笔记

lda模型是什么?

lda模型是一个词袋模型,它认为一个文档由一组关键的词构成,这些词之间没有先后顺序,一篇文档可以有很多个主题,文档中的每个词都来自于这些主题中的其中一个。它是一种主题模型,它可以将文档集中每篇文档的主题按照概率分布的形式给出。

这样之后,通过中间量主题(topic)就将词与词,文档与词,文档与文档联系起来了,通过这个联系找到他们之间的潜在关系。lda模型又属于聚类模型。

什么是词袋模型?

词袋模型简单的把一个文档看做若干个词语组成,文档中的而每一个词可以出现不同的次数,这样每个词语出现的概率就不尽相同。通过EM算法可以求出每个词语出现的概率。

举个例子就是,随机的抛一个M面的骰子(M面,每一面对应一个词语对应词袋中的M个词)N次(在这N次中同一个词语可以重复)得就可以组合到一篇文档。

贝叶斯词袋

在词袋模型中,我们简单的认为文档中词语出现的概率是个定数(骰子每个面的概率),但是在贝叶斯学派看来,每个词语的出现都是独立且随机的,于是应该随机的取出一个M面的骰子,然后再独立的抛N词得到一个文档。这个时候就可以得到一个Dirichlet分布。

Dirichlet分布的意思就是假如我们抛一个6个面的骰子100次,得到每个面的概率分布,这算一个实验,重复这个实验100次,那么这100次中6个面的分布就是Dirichlet分布,简单来说Dirichlet分布就是分布之上的分布。

例如:1点(骰子六个面之一) 在这100次实验(每个实验抛100次) 是 0.15的概率为 0.12,实际我们这么想,100次实验中,有12次,1点在一个实验内出现了15次,可以看作是总共抛10000次,1点出现15×12=180次。这10000次实验,视为一个大的多项式分布,于是可以得出他们有相同的概率分布公式,这就是前面所提到的共轴分布

PLSA潜在语义分析

PLSA潜在语义分析,是找出词语之间的关联性,比如美国总统林肯和越狱电视剧系列中的林肯肯定不是一个人吧,但是当你在聚类的过程中将两个林肯聚类在一起了,所以同一个词语在不同的语境下的意思就不一样了,所以,PLSA要做的事情就是这个怎么做的呢?

首先取出一个K面的骰子(每个面代表一个主题,每个面的概率可以不一样),然后这个主题又中又有T个词可以用一个T个面的骰子来描述,然后将这个筛子抛N次,就可以得到一篇文档。这两个过程其实可以看做是词袋的词袋,第一个词袋放的是主题相关的,第二个词袋是放词相关的。这样得到的文章就有很强的内在关联性。

PLSA

LDA模型

当提出PLSA思想之后,贝叶斯的大佬们有出现了(出现的好及时),他们又说这个这个过程也归贝叶斯关,反正就是独立切随机相关balabala的,于是让PLSA的两个词袋模型,变成两个Bayes词袋模型,就是LDA了