0,背景
LDA于2003年在论文《Latent Dirichlet Allocation》中提出,是一种主题模型,它可以将文档集中每篇文档的主题以概率分布的形式给出,从而根据主题分布进行主题聚类或文本分类。所以当前我们的目标是要做文本分类。然而实际上我学习LDA目的是要做图像分类。
1,简介
做文本分类早期比较经典的一种方法是tf-idf,这种方法简单粗暴,是把文档集中的单词做一个vocabulary,然后对文档集中的每一篇文档做词频统计,这样可以得到每篇文档一个关于vocabulary的统计直方图,对于一个文档集就可以得到一个统计矩阵X,再做文档相似度判断从而分类。这种方法的局限性在于,最后得到的矩阵太大,且把一篇文章打散,没有考虑文章内部的数据结构,对同义词也没有做处理,即没有考虑单词和语义之间的多对一关系。
对于tf-idf,当文档集很大时,矩阵X将会相应地变大,LSI则是用一种压缩方法来处理矩阵X,得到tf-idf中特征的线性组合作为LSI特征,它的作者认为这样的处理使得LSI特征也考虑了同义词和多义词的一些影响。
pLSI对LSI做改进,引入了概率模型,认为一篇文档中的单词可以从一个mixture model中采样得到,这个mixture model可以分解成多个mixture components,每个components代表一个topic,这些topic服从多项分布。而pLSI同样存在一些问题。当文档集增大时,模型的参数会线性增长,从而导致过拟合,pLSI也没有清晰地给出训练集以外的文档的概率计算方法。
基于以上,作者提出了LDA模型,LDA模型允许一个文档有多个主题,同义词会被聚集到同个主题–词分布中,多义词会同时存在于多个主题–词分布中。
2,LDA模型
2.1,LDA文档生成过程
对于数据集D中的每个文档 w ,LDA假定了如下的生成过程:
(1)选择一个N~Poisson( ϵ ),N是该文档中单词的个数;
(2)选择一个 θ ~Dir( α ), θ 是主题分布所服从的多项分布的参数;
(3)对于文档中的每一个词 wn :
a.选择一个主题 zn ~Multinomial( θ );
b.在选定主题 zn 后,在该主题对应的词分布中选择一个单词 wn ,它的概率是 p(w|zn,β) 。
其中的参数说明如下:
D:数据集D中包含M个文档, D=w1,w2,…,wM ;
w:每个文档中有N个单词,w= (w1,w2,...,wN) ,