美文网首页机器学习
08 主题模型 - LDA

08 主题模型 - LDA

作者: 白尔摩斯 | 来源:发表于2018-12-27 21:04 被阅读203次

    07 主题模型 - 知识补充 - 概率知识、二项\多项\Beta\Dirichlet分布

    八、LDA

    隐含狄利克雷分布(Latent Dirichlet Allocation, LDA)是一种基于贝叶斯算法模型,利用先验分布对数据进行似然估计并最终得到后验分布的一种方式。 LDA是一种比较常用的主题模型。

    LDA假设文档主题是多项分布,多项分布的参数(先验分布)是服从Dirichlet分布,其实LDA是一种三层的贝叶斯模型。

    三层的贝叶斯模型

    共有M篇文档,每个文档有Nm个单词,一共涉及到K个主题;

    每篇文档都有各自的主题,主题分布是多项式分布,该多项式分布的参数服从Dirichlet分布,该Dirichlet分布的参数为α;

    每个主题都有各自的词分布,词分布为为多项式分布,该多项式分布的参数服从Dirichlet分布,该Dirichlet分布的参数为η;

    对于某篇文档d中的第n个词,首先从该文档的主题分布中采用一个主题,然后再这个主题对应的词分布中采用一个词,不断重复该操作,直到m篇文档全部完成上述过程。


    如何理解LDA比pLSA多了一个先验条件:
    之前提过,目前概率分两个流派,1、根据大量样本求得频数的古典概率思想,大数定理——频数趋近于概率。2、基于先验条件进一步分析的贝叶斯概率思想。后者用于样本不够大的情况。事实上,像BAT这种大公司有着足够的数据量,那么是否需要考虑先验知识就没有任何意义了。根据大数定理的思想,如果用大量的样本数据求分类的概率结果,和加入了先验知识求出的概率结果几乎相同。

    LDA的先验条件

    LDA详细解释

    词汇表中共有V个term(不可重复); 词典中的词不能重复

    语料库中共有m篇文档d1,d2,..,dm;对于文档di,是由Ni个word组成的(word可重复);语料库共有K个主题T1,T2,...,Tk; 单词word必然是词典中的词。

    α和η是先验分布(Dirichlet分布)的参数;

    θ是每篇文档的主题分布,是一个K维的向量; 维度数和主题数有关,都是K个。

    对于第i篇文档di,在主题分布θi下,可以确定一个具体的主题zij=k; 选多项式分布中概率最大的那个主题。

    β是每个主题的词分布,是一个V维的向量;

    由zij选择βzij(单词概率),表示由词分布βzij确定term,即可得到最终的观测值wij

    笔者画了个图来解释上面到底说了件什么事:

    图解LDA抽词的步骤

    LDA在进行文本的主题模型构建的时候,对于D的文档,K个主题的模型构建流程如下所示:

    对于θ、β、z的参数估计,基于贝叶斯算法可以得到如下公式:


    LDA理解


    扩展阅读:
    09 主题模型 - LDA参数学习-Gibbs采样

    相关文章

      网友评论

        本文标题:08 主题模型 - LDA

        本文链接:https://www.haomeiwen.com/subject/iindlqtx.html