algorithm - LDA和主题模型

标签 algorithm model lda dirichlet

我研究了几个星期的LDA和主题模型,但由于我的数学能力太差,无法完全理解其内部算法。我使用了GibbsLDA实现,输入了很多文档,并将主题编号设置为100 ,我得到了一个名为“final.theta”的文件,它存储了每个文档中每个主题的主题比例。这个结果很好,我可以使用主题比例做很多其他事情。 但是当我在LDA上尝试Blei的C语言实现时,我只得到一个名为final.gamma的文件,但我不知道如何将这个文件转换成主题比例样式。 谁能帮我。 而且我了解到LDA模型有很多改进版本(如CTM,HLDA),如果我能找到类似LDA的主题模型,我的意思是当我输入很多文档时,它可以直接输出文档中的主题比例. 非常感谢!

最佳答案

我认为 Blei 实现的问题在于您正在通过运行进行变分推理:

$ lda inf [参数...]

当您想进行主题估计时,使用:

$ lda est [参数...]

运行后,在当前目录或可选的最后一个参数指定的目录中将有一个文件“final.beta”。然后运行包含在 tar 中的 python 脚本“topics.py”。这里的自述文件:http://www.cs.princeton.edu/~blei/lda-c/readme.txt描述了这一切,尤其是 B 和 D 部分。

(如果这仍然没有意义,请告诉我)

至于 CTM 等改进:我对 HLDA 一无所知,但我过去同时使用过 LDA 和 CTM,我可以说严格来说两者都不比另一个好 - 这是一个例子对不同的数据更好。 CTM 假设文档是相关的,并使用该假设来改进结果,只要它是正确的。

希望这对您有所帮助!

关于algorithm - LDA和主题模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9601976/

相关文章:

单击鼠标时,Javascript获取网页上最近的超链接

php - Laravel 全局设置模型

r - 在 glm() 中使用 splines 包中的 ns() 函数

c++ - 我如何使用 LDA 对信号进行分类

c - 使用回溯的 n 皇后算法的基本逻辑

python - 插入排序算法不起作用

spring - 使用Spring的MockMvc框架,如何测试模型属性的属性值?

java - Mallet:1024GB 内存分配的 java.lang.OutOfMemoryError

python - 使用 Python 的 LDA - 输入文件

algorithm - 在具有额外约束的加权方向多图中查找最短路径