LDAusingGibbsSampling程序.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GibbsLDA++ A C/C++ Implementation of Latent Dirichlet Allocation LDA using Gibbs Sampling for Parameter Estimation and Inference 代码:D:\android-ndk-r6b-windows\android-ndk-r6b\projects\GibbsLDA++-0.2 GibbsLDA++ is useful for the following potential application areas: 1、Information Retrieval analyzing semantic/latent topic/concept structures of large text collection for a more intelligent information search. 2、Document Classification/Clustering, Document Summarization 文本摘要 , and Text/Web DataMining community in general. 3、Collaborative Filtering 协同过滤 4、Content-based Image Clustering, Object Recognition, and other applications of Computer Vision 计算机视觉 in general. 5、Other potential applications in biological data. 使用吉布斯采样估计LDA参数 在LDA最初提出的时候,人们使用EM(期望最大化算法)算法进行求解,后来人们普遍开始使用较为简单的Gibbs Sampling,具体过程如下: 首先对所有文档中的所有词遍历一遍,为其都随机分配一个主题,即zm,n k~Mult 1/K , 其中m表示第m篇文档,n表示文档中的第n个词,k表示主题,K表示主题的总数,之后 将对应的n k m+1, nm+1, n t k+1, nk+1, 他们分别表示在m文档中k主题出现的次数 csy理解的应是在文档m中分配给主题k的词的个数 ,m文档 中主题数量的和,k主题对应的t词的次数,k主题对应的总词数。 b.之后对下述操作进行重复迭代。 c.对所有文档中的所有词进行遍历,假如当前文档m的词t对应主题为k,则n k m-1, nm-1, n t k-1, nk-1, 即先拿出当前词,之后根据LDA中topic sample的概率分布sample出新的主题,在对应的n k m, nm, n t k, nk上分别+1。 p zi k|z?i,w ∝ n t k,?i+βt n k m,?i+αk / ∑Vt 1n t k,?i+βt d.迭代完成后输出主题-词参数矩阵φ和文档-主题矩阵θ ?k,t n t k+βt / nk+βt θm,k n k m+αk / nm+αk 来源:隐含狄利克雷分布 Gibbs抽样解LDA [csy]LDA参数推理采用的是Gibbs抽样 1Gibbs抽样:对P z ,z是向量,按照Gibbs描述的步骤,可以抽取z 1 ,z 2 ,...z n 这n个样本,Gibbs保证这n个样本的分布服从P z 。 z 0 z1,z2,...,zn Repeat for?i? ?1?to?n 从p zi|z1,z2,...,zi,zi+1,...,zn 中抽取zi 得到z t z1,z2,...,zn 2上面描述了一个一般的Gibbs抽样过程,假设重复N次,将得到z 1 ,z 2 ,...,z N 个样本。抽样有一个收敛到目标分布的过程 burn-in ,假设需要a次,那么可以认为z a ,z a+1 ,...,z N 都是从P z 中抽取出来的。Gibbs抽样中相邻两次得到的样本是相关的,因此通常每隔b次才抽样一次,来消除这种相关性。在实际中a和b通常采取预设置的方法比如几千设为a,几十或者几百设为b,因为二者没有很好的理论设置方法。 3假设通过Gibbs抽样我们得到了M个服从P z 分布的样本,可以用来做什么? 1)可以求期望:直接求样本平均即可 2)可以求函数期望:将样本做相关的函数变换得到新的样本集,求平均即可 3)直接利用样本本身,求相关的统计量 这三种操作在P z 本身比较复杂但是p zi|z1,z2,...,zi,zi+1,...,zn 容易求解的时候十分有用。 在LDA中我们关注三个参数z,theta和phi。其中z是语料中每一个word对应的隐变量(主题),theta是语料中每一个文

文档评论(0)

ddf55855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档