基于LDA的主题模型实践(一)

2015 年 9 月 9 日 机器学习深度学习实战原创交流 惜心

LDALatent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。


同时,LDA也是一种非监督机器学习技术,可以用来识别大规模文档集或语料库中潜藏的主题信息。它采用了词袋的方法,这种方法将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。


如何理解LDA的训练过程呢?我们假设,语料库中有m篇文章,一共涉及了K个Topic,每个Topic下的词分布为一个从参数为β的Dirichlet先验分布中采样得到的Multinomial分布(注意词典由term构成,每篇文章由word构成,前者不能重复,后者可以重复)。每篇文章的长度记做Nm,从一个参数为α的Dirichlet先验分布中采样得到一个Multinomial分布作为该文章中每个Topic的概率分布;对于某篇文章中的第n个词,首先从该文章中出现每个Topic的Multinomial分布中采样一个Topic,然后再在这个Topic对应的词的Multinomial分布中采样一个词。不断重复这个随机生成过程,直到m篇文章全部完成上述过程。这就是LDA的过程。


在这一次的分享中,由于涉及数学理论概念比较多,因此公式有点多。主页君偷懒索性大部分公式都用图片格式^_^。

定义:

o字典中共有V个term,不可重复,这些term出现在具体的文章中,就是word;

o语料库中共有m篇文档d1,d2…dm;

o对于文档di,由Ni个word组成,可重复;

o语料库中共有K个主题T1,T2…Tk;

oαβ为先验分布的参数,一般事先给定:如取0.1的对称Dirichlet分布;

oθ是每篇文档的主题分布对于第i篇文档di它的主题分布是θi=(θi1, θi2… ,θiK),长度为K的向量;

o对于第i篇文档di,在主题分布θi下,可以确定一个具体的主题zij=j,j∈[1,K];

oψk表示第k个主题的词分布对于第k个主题Tk,词分布φk=(φk1, φk2… φkv),是长度为v的向量

o由zij选择φ zij表示由词分布φ zij确定word从而得到wix;

o图中K为主题个数,M为文档总数,Nm是第m个文档的单词总数。β是每个Topic下词的多项分布的Dirichlet先验参数,α是每个文档下Topic的多项分布的Dirichlet先验参数。zmn是第m个文档中第n个词的主题,wmn是m个文档中的第n个词。两个隐含变量θ和φ分别表示第m个文档下的Topic分布和第k个Topic下词的分布,前者是k维(k为Topic总数)向量,后者是v维向量(v为词典中term总数)


推导过程:










经过前面艰辛推导,我们得到了在满足约束条件下求解目标的迭代公式,那么该如何具体求解,如何求出我们想要的P(z|w)呢?方法有不少:直接求解、EM求解,吉布斯采样法;这里我们采用的是吉布斯采样法,处于文章篇幅限制,先就此打住,关于MCMC-Gibbs Sampling我们放在(二)中来分享。

登录查看更多
20

相关内容

基于多头注意力胶囊网络的文本分类模型
专知会员服务
76+阅读 · 2020年5月24日
【经典书】机器学习高斯过程,266页pdf
专知会员服务
225+阅读 · 2020年5月2日
机器学习速查手册,135页pdf
专知会员服务
335+阅读 · 2020年3月15日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
347+阅读 · 2020年2月15日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
知识神经元网络 KNN(简介),12页pdf
专知会员服务
13+阅读 · 2019年12月25日
Python中的端对端主题建模: 隐含狄利克雷分布(LDA)
Python程序员
9+阅读 · 2019年5月15日
博客 | 一次LDA的项目实战(附GibbsLDA++代码解读)
用 LDA 和 LSA 两种方法来降维和做 Topic 建模
AI研习社
13+阅读 · 2018年8月24日
干货 | 一文详解隐含狄利克雷分布(LDA)
人工智能头条
10+阅读 · 2018年7月8日
LibRec 每周算法:LDA主题模型
LibRec智能推荐
29+阅读 · 2017年12月4日
专栏 | 技术干货:一文详解LDA主题模型
机器之心
28+阅读 · 2017年12月1日
基于LDA的主题模型实践(三)
机器学习深度学习实战原创交流
23+阅读 · 2015年10月12日
基于LDA的主题模型实践(二 )MCMC--吉布斯采样
机器学习深度学习实战原创交流
24+阅读 · 2015年9月17日
Arxiv
3+阅读 · 2018年11月14日
Meta-Learning with Latent Embedding Optimization
Arxiv
6+阅读 · 2018年7月16日
Arxiv
3+阅读 · 2015年5月16日
VIP会员
相关VIP内容
基于多头注意力胶囊网络的文本分类模型
专知会员服务
76+阅读 · 2020年5月24日
【经典书】机器学习高斯过程,266页pdf
专知会员服务
225+阅读 · 2020年5月2日
机器学习速查手册,135页pdf
专知会员服务
335+阅读 · 2020年3月15日
【经典书】精通机器学习特征工程,中文版,178页pdf
专知会员服务
347+阅读 · 2020年2月15日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
知识神经元网络 KNN(简介),12页pdf
专知会员服务
13+阅读 · 2019年12月25日
相关资讯
Python中的端对端主题建模: 隐含狄利克雷分布(LDA)
Python程序员
9+阅读 · 2019年5月15日
博客 | 一次LDA的项目实战(附GibbsLDA++代码解读)
用 LDA 和 LSA 两种方法来降维和做 Topic 建模
AI研习社
13+阅读 · 2018年8月24日
干货 | 一文详解隐含狄利克雷分布(LDA)
人工智能头条
10+阅读 · 2018年7月8日
LibRec 每周算法:LDA主题模型
LibRec智能推荐
29+阅读 · 2017年12月4日
专栏 | 技术干货:一文详解LDA主题模型
机器之心
28+阅读 · 2017年12月1日
基于LDA的主题模型实践(三)
机器学习深度学习实战原创交流
23+阅读 · 2015年10月12日
基于LDA的主题模型实践(二 )MCMC--吉布斯采样
机器学习深度学习实战原创交流
24+阅读 · 2015年9月17日
Top
微信扫码咨询专知VIP会员