2

我正在使用 Blei 开发的动态主题模型包。我是 LDA 的新手,但我理解它。

我想知道 lda-seq/topic-000-var-obs.dat商店名称的输出是什么?

我知道它lda-seq/topic-001-var-e-log-prob.dat存储了变分后验的对数,并通过对其应用指数,我得到了主题 001 中单词的概率。

谢谢

4

2 回答 2

1

topic-000-var-e-log-prob.dat 存储主题 1 的变分后验的日志。

topic-001-var-e-log-prob.dat 存储主题 2 的变分后验的日志。

于 2013-11-25T15:37:50.283 回答
0

我在任何地方都找不到具体的答案。但是,由于文档的sample.sh状态

The code creates at least the following files:
- topic-???-var-e-log-prob.dat: the e-betas (word distributions) for topic ??? for all times.  
...
- gam.dat

没有提及该topic-000-var-obs.dat文件,表明它对于大多数分析来说不是必须的。

猜测

obs提出意见。在对example/model_run结果进行了一些挖掘之后,我使用以下方法绘制了每个单词/标记的跨时代总和:

temp = scan("dtm/example/model_run/lda-seq/topic-000-var-obs.dat")
temp.matrix = matrix(temp, ncol = 10, byrow = TRUE) 
plot(rowSums(temp.matrix))

结果是这样的:

行总和

非负值的总体趋势是减少,并且许多值被降低(在这种情况下为-11.00972 = log(1.67e-05)),这表明这些值是权重或对模型影响的其他一些度量。该模型删除了一些标记,其他标记的影响/重要性在索引上逐渐减小。后面的趋势可能是由创建字典时通过 tf-idf 对令牌进行排序等预处理引起的。

有趣的是,下限标记和具有更多正值的集合的行总和值各不相同:

不同的例子

temp = scan("~/Documents/Python/inference/project/dtm/example/model_run/lda-seq/topic-009-var-obs.dat")
temp.matrix = matrix(temp, ncol = 10, byrow = TRUE) 
plot(rowSums(temp.matrix))
于 2017-02-16T01:21:26.513 回答