机器学习主题模型之LDA概念

隐含狄利克雷分布(Latent Dirichlet allocation)是一种生成式统计模型,是泛化的pLSA模型,区别在于LDA假设主题分布是稀疏的Dirichlet prior,即所有文档只覆盖一小部分的主题,且这些主题只频繁地使用一小部分的单词。

LDA是三层贝叶斯模型,基于变分方法的近似推理和经验贝叶斯参数估计的EM算法,使用“先验分布”和“数据对数似然”得出“后验分布”,再用后验分布作为新的先验分布,往复迭代。这就要求先验分布和后验分布具有相同的形式,即二者为共轭分布。

 

一、相关概念

    1、二项分布Binomial distribution

二项分布是重复n次独立的伯努利试验,每次试验只有两种可能的结果,期望为np,方差为np(1-p)。二项分布可以作为LDA中的数据对数似然。

        机器学习主题模型之LDA概念

    2、Beta分布

Beta分布是一组定义在(0,1)or[0,1]区间的连续概率分布,有两个参数α,β>0,可看做是一系列pattern相似的二项分布(n、p未知),认为α与成功的事件数相关、β与失败的事件数相关:

机器学习主题模型之LDA概念

        机器学习主题模型之LDA概念

        机器学习主题模型之LDA概念

        机器学习主题模型之LDA概念

Beta前面的系数起标准化作用,使得这个分布的概率密度积分为1。除去前面的系数以外,Beta分布和二项分布具有相同的形式,因此可知Beta分布是伯努利分布、二项分布的共轭先验分布的密度函数;若将Beta分布作为先验分布、二项分布作为似然函数,那么后验分布仍是Beta分布:

        机器学习主题模型之LDA概念

   

    3、多项分布Multinational distribution

           是二项分布的推广,N次试验可能的结果有K种(K≥2),每种数量分别为机器学习主题模型之LDA概念机器学习主题模型之LDA概念,i∈(1,2,...,K);取到每类的概率分别为机器学习主题模型之LDA概念机器学习主题模型之LDA概念。多项分布的期望为机器学习主题模型之LDA概念,方差为机器学习主题模型之LDA概念,协方差为机器学习主题模型之LDA概念

        机器学习主题模型之LDA概念

    4、Dirichlet分布

           是Beta分布的推广,N次试验可能的结果有K类(K≥2),每种的浓度concentration参数分别为机器学习主题模型之LDA概念,i∈(1,2,...,K);取到每类的概率分别为机器学习主题模型之LDA概念机器学习主题模型之LDA概念。Dirichlet分布是多项分布的共轭分布:

        机器学习主题模型之LDA概念

        机器学习主题模型之LDA概念

        机器学习主题模型之LDA概念

        机器学习主题模型之LDA概念

Dirichlet分布常用作贝叶斯理论中的先验分布,如果没有任何先验信息有利于一个类超过其他类的情况,则一般将所有的浓度参数初始化为相等的值(对称的Dirichlet分布)。可认为浓度参数是样本的集中程度,当ɑ=1时,对称的Dirichlet分布相当于一个均匀分布,在它的support上的所有点都是相等的——扁平的Dirichlet分布;当ɑ>1时,则倾向于密集分布,单个类别内所有值都是相似的;当ɑ<1时,则倾向于稀疏分布,单个类别内所有值都接近于0,大多数样本集中在少数类别中。

 

二、LDA主题模型

LDA是一种比较常用的主题模型,每篇文档是由一系列潜在主题构成,而每个主题又是一个在词上的多项分布。假设文集/语料库(corpus)D*有M篇文档,第m个文档有机器学习主题模型之LDA概念个单词,这些文档一共涉及K个主题,词汇表中所有词总数为V。

机器学习主题模型之LDA概念

    1、模型参数解释

(1)机器学习主题模型之LDA概念机器学习主题模型之LDA概念为每篇文档主题分布的Dirichlet prior的参数,即一篇文档中主题k的先验权值,一般所有主题的α相等且比较稀疏(e.g. 0.1,每篇文档只有少量主题);

(2)机器学习主题模型之LDA概念机器学习主题模型之LDA概念为每个主题单词分布的Dirichlet prior的参数,即一个主题中单词v的先验权值,一般所有单词的β相等且非常稀疏(e.g. 0.001,每个主题只有很少的单词);

(3)机器学习主题模型之LDA概念为第m篇文档的主题分布,机器学习主题模型之LDA概念

(4)机器学习主题模型之LDA概念为主题k的单词分布,机器学习主题模型之LDA概念

(5)机器学习主题模型之LDA概念 是第m篇文档中第n(机器学习主题模型之LDA概念)个单词所属的主题;

(6)机器学习主题模型之LDA概念 是根据机器学习主题模型之LDA概念 选择的单词,用深色表示是因为它是模型中唯一可观测的值。

 

    2、模型生成过程

LDA从生成式模型的角度看待文档和主题,认为语料库中所有文档是隐含主题的随机混合,每个主题是由所有单词分布体现的。文档m的生成过程为:

(1)根据参数为α的Dirichlet分布选择一个主题分布,机器学习主题模型之LDA概念

(2)根据参数为η的Dirichlet分布选择一个单词分布,机器学习主题模型之LDA概念

(3)按照下列步骤生成文档m中的机器学习主题模型之LDA概念个单词:

        a、根据机器学习主题模型之LDA概念 指派主题,得到文档m中单词n的主题 机器学习主题模型之LDA概念

        b、根据指派的主题机器学习主题模型之LDA概念 所对应的单词分布机器学习主题模型之LDA概念 生成单词 机器学习主题模型之LDA概念

 

机器学习主题模型之LDA概念

 

三、LDA参数估计

给定训练数据机器学习主题模型之LDA概念,LDA的模型参数可通过极大似然法估计,即寻找α和η最大化对数似然:

        机器学习主题模型之LDA概念

求出α和η后,根据词频机器学习主题模型之LDA概念 推断文集所对应的主题结构,即使用贝叶斯算法估计机器学习主题模型之LDA概念机器学习主题模型之LDA概念机器学习主题模型之LDA概念的参数:

        机器学习主题模型之LDA概念

由于分母机器学习主题模型之LDA概念 难以求解,因此可以采用Gibbs采样法或变分法进行近似推断。

scikit-learn API

机器学习主题模型之LDA概念

 

参考资料

https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation

lda数学八卦

http://www.cnblogs.com/pinard/p/6831308.html

《机器学习_周志华》