LDA(Latent Dirichlet Allocation)是由Blei等人在2003年提出来的。LDA是在pLSI的基础上增加了贝叶斯框架,是pLSI变成了贝叶斯主题模型的LDA。
概率模型求参数,当然需要进行参数估计,LDA参数估计的方法有:变分贝叶斯推断(VB);
期望传播(EP);
Collapsed Gibbs Sampling;
Collapsed Variational Bayesian(CVB),结合了Collapsed Gibbs Sampling和Variational Inference两种方法;
这几种方法无论哪种方法,我们所有处理的任务都是相同的,即根据给定的最优化目标函数,得到对参数的估计。
GibbsLDA ++是使用Gibbs采样技术进行参数估计和推理的Latent Dirichlet Allocation(LDA)的C / C ++实现。这里就不过多介绍理,本文主要是使用GIbbsLDA++,后期整理好笔记会写一篇关于LDA理论的文章。
需要注意的我使用的是Linux系统,因为这样使用起来比较简单。
1.准备GibbsLDA++工具https://sourceforge.net/projects/gibbslda/sourceforge.net
下载得到下面的压缩包:GibbsLDA++下载后的压缩包
接下来就是要使用命令对压缩包进行解压:cd ~ (进入用户的家目录)
mkdir LDA (在家目录中创建一个LDA文件)
cd ~/LDA (进入刚刚创建的LDA文件中)
gunzip ~/Downloads/GibbsLDA++-0.2.tar.gz (因为下载后文件在~/Downloads中)
tar -xf ~/Downloads/GibbsLDA++-0.2.tar
ll (可以在LDA文件中查看到GibbsLDA++-0.2文件夹)解压缩的步骤
因为是使用C/C++编写的程序,所以需要进行编译:cd ~/LDA/GibbsLDA++-0.2/ (进入GibbsLDA++的目录中)
make clean (删除旧的object)
make (编译)
在make的时候,会重新生成obje