3.4 例子学习
比如,我们想估计一个LDA模型,对一个文档集合,存储在文件models/casestudy/trndocs.dat中。继而使用其模型来做推论,为存储在文件models/casestudy/newdocs.dat中的新数据。
我们想要估计100个主题,alpha=0.5且beta=1.我们想完成1000 Gibbs取样重复,保存模型,在每100个重复,并且每次保存模型,都打印出每个话题的最相似20个单词。设想我们现在在GibbsLDA++的根目录,我们将运行如下的命令,从头估计LDA模型。
$ src/lda -est -alpha 0.5 -beta 0.1 -ntopics 100 -niters 1000 -savestep 100 -twords 20 -dfile models/casestudy/trndocs.dat
现在查看models/casestudy目录,我们可以看到如下的输出。
Outputs of Gibbs sampling estimation of GibbsLDA++ include the following files:
<model_name>.others
<model_name>.phi
<model_name>.theta
<model_name>.tassign
<model_name>.twords
in which:
<model_name>: is the name of a LDA model corresponding to the time step it was saved on the hard disk. For example, the name of the model was saved at the Gibbs sampling iteration 400th will be model-00400. Similarly, the model was saved at the 1200th iteration is model-01200. The model name of the last Gibbs sampling iteration is model-final.
<model_name>.others: This file contains some parameters of LDA model, such as:
alpha=?
beta=?
ntopics=? # i.e., number of topics
ndocs=? # i.e., number of documents
nwords=? # i.e., the vocabulary size
liter=? # i.e., the Gibbs sampling iteration at which the model was saved
<model_name>.phi: This file contains the word-topic distributions, i.e., p(wordw|topict). Each line is a topic, each column is a word in the vocabulary.
<model_name>.theta: This file contains the topic-document distributions, i.e., p(topict|documentm). Each line is a document and each column is a topic.
<model_name>.tassign: This file contains the topic assignments for words in training data. Each line is a document that consists of a list of <wordij>:<topic of wordij>
<model_file>.twords: This file contains twords most likely words of each topic. twords is specified in the command line (see Sections 3.1.1 and 3.1.2).
GibbsLDA++ also saves a file called wordmap.txt that contains the maps between words and word's IDs (integer). This is because GibbsLDA++ works directly with integer IDs of words/terms inside instead of text strings.
现在,我们想要继续完成另一个800 Gibbs取样重复,从先前估计的模型model-01000以savestep=100,twords=30,我们完成如下的命令:
$ src/lda -estc -dir models/casestudy/ -model model-01000 -niters 800 -savestep 100 -twords 30
现在查看casestudy目录来看输出。
现在,如果我们想要推论(30 Gibbs取样重复)为新数据newdocs.dat使用一个先前估计的LDA模型,比如model-01800,我们完成如下的命令:
src/lda -inf -dir models/casestudy/ -model model-01800 -niters 30 -twords 20 -dfile newdocs.dat
现在,查看casestudy目录,我们可以看到推论的输出
newdocs.dat.others
newdocs.dat.phi
newdocs.dat.tassign
newdocs.dat.theta
newdocs.dat.twords
- 大小: 71.5 KB
分享到:
相关推荐
《GibbsLDA++-0.2与VS2015工程的探索与实践》 在信息技术领域,文本挖掘和自然语言处理是至关重要的部分,而主题模型(Topic Model)作为这一领域的核心技术之一,被广泛应用。GibbsLDA++-0.2是一个基于Gibbs采样的...
《GibbsLDA++(C++版):探索主题模型与C++编程的艺术》 在数据挖掘和自然语言处理领域,LDA(Latent Dirichlet Allocation)是一种广泛使用的主题模型,它能够从文本数据中揭示隐藏的主题结构。GibbsLDA++是一个用...
GibbsLDA++ A C/C++ Implementation of Latent Dirichlet Allocation (LDA) using Gibbs Sampling for Parameter Estimation and Inference http://gibbslda.sourceforge.net/ Copyright (C) 2007 by Xuan-Hieu Phan...
《Matlab分时代码-GibbsLDApp: GibbsLDA++——AC/C++ Gibbs采样LDA详解》 在自然语言处理领域,主题模型是一种常用的技术,用于挖掘文本数据中的潜在主题结构。其中,Latent Dirichlet Allocation(LDA)是应用最为...
GibbsLDA++ A C/C++ Implementation of Latent Dirichlet Allocation (LDA) using Gibbs Sampling for Parameter Estimation and Inference http://gibbslda.sourceforge.net/ Copyright (C) 2007 by Xuan-Hieu Phan...
《吉布斯采样在MATLAB中的实现:GibbsLDA++-0.2开源项目解析》 吉布斯采样(Gibbs Sampling)是马尔科夫链蒙特卡洛(MCMC)方法的一种,常用于处理复杂的概率分布问题,尤其在主题模型如Latent Dirichlet ...
标题中的"aatmlda"是基于GibbsLDA++的一种自动审核主题模型,而"吉布斯采样"是一种在统计学和机器学习中广泛使用的马尔科夫链蒙特卡洛(MCMC)方法,用于从复杂的概率分布中进行抽样。在主题模型领域,Gibbs采样被...
标题中提到的"gibbslda++"是一个基于C++的主题建模库,而"gibbsldapp"则可能是这个库的MATLAB接口或者与其相关的MATLAB代码实现。"hieupx"可能是该代码的开发者或者维护者。由于在使用过程中遇到了g++4.xx版本的编译...
【标题】中的“吉布斯采样matlab代码-mhwlda:C++Metropolis-Hastings-Walker并行LDA”涉及到的是概率模型和统计推断领域的一个重要算法——吉布斯采样(Gibbs Sampling),以及在此基础上的C++实现的Metropolis-...
通过使用GibbsLDA++,不仅可以方便地进行LDA模型的训练,还能灵活调整参数以获得更符合需求的主题模型。 总之,LDA算法作为一种有效的主题模型技术,不仅在学术研究领域有着广泛的应用,也在工业界的数据分析、信息...
本文采用GibbsLDA++对微博数据集进行建模,并得到了词汇-主题分布矩阵、主题-文档分布矩阵、主题分配情况和主题词等信息。 随后,为了解决K-means算法对初始聚类中心敏感的问题,使用CURE算法对建模后的微博数据...
GibbsLDA ++ 修正错误: 1)。 内存泄漏。 当p指向数组时,使用'delete [] p'而不是'delete p'。 2)。 数组越界。 [0,1]中的(double)random()/ RAND_MAX int topic = (int)(((double)random() / RAND_MAX) * K...
有许多开源工具支持LDA的实现和应用,如GibbsLDA++、MALLET、gensim等,这些工具为研究者和开发者提供了方便的接口,便于他们快速实现和部署LDA模型。 总结来说,LDA是一种强大的文本分析工具,通过揭示文档集合中...
2. **GibbsLDA++/JGibbLDA**: 分别采用C++和Java实现,输入输出格式保持一致。 - **链接**: - [http://gibbslda.sourceforge.net/](http://gibbslda.sourceforge.net/) - [http://jgibblda.sourceforge.net/]...
该代码基于GibbsLDA ++( ),与ACCT类似。 但是我扩展了ACCT模型,以便通过网络结构使论文,作者,会议,引文的主题分布更加平滑和规范化(网络由引文和合著者网络创建) 我修改过的大多数地方都应标有“由liu liu...
在文本分析领域,LDA(Latent Dirichlet Allocation)是一种广泛使用的概率生成模型,它属于非监督学习算法的一种,主要被应用于文本挖掘和自然语言处理中。LDA由Blei等人在2003年提出,目的是在文本语料库中挖掘出...
lda_java,程序代码,带有注释。Gibbslda各位专家精细力作
"吉布斯采样matlab代码-GibbsLDA--0.2:吉布斯LDA-0.2" 这个标题指的是一个基于MATLAB实现的吉布斯采样算法,特别用于主题模型LDA(Latent Dirichlet Allocation)的版本0.2。吉布斯采样是马尔科夫链蒙特卡洛(MCMC)...
### GibbsLDA by Heinrich: 关键知识点解析 #### 一、引言 本文档旨在回顾离散域中的参数估计基础,这对于理解基于主题的文本分析方法(如概率潜在语义分析(PLSA)、隐含狄利克雷分配(LDA)等)的工作原理至关重要。...