4

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

4

2 回答 2

1

我认为 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 假设文档是相关的,并使用该假设来改进结果,只要它是真实的。

希望这可以帮助!

于 2012-03-09T18:18:37.437 回答
0

要获得 E[θ],只需对每行内的 gamma 进行归一化。它遵循狄利克雷分布的性质。

于 2018-01-29T14:12:30.897 回答