0

当我运行命令 bin\mallet train-topics --input input.tutorial.mallet --num-topics 40 --num-iterations 100 --optimize-interval 50 --optimize-burn-in 200 --output- state input.gz --output-topic-keys input-keys.txt --output-doc-topics input-proportion.txt

在运行命令的每个实例中,我都会得到不同的结果。

输出:

0 AJAY_DASARI 19 0.062051649928263994 39 0.03263988522238164 35 0.03263988522238164 33 0.03263988522238164 32 0.03263988522238164 23 0.03263988522238164 ............... 1 BALVINDERSINGH 21 0.06297779395704405 36 0.04805242082271569 22 0.04805242082271569 35 0.03312704768838733 32 0.03312704768838733 31 0.03312704768838733 30 0.03312704768838733 26 0.03312704768838733 24 0.03312704768838733 15 0.03312704768838733 13 ......

每次使用命令时如何得到相同的结果

4

3 回答 3

2

训练模型时,使用选项--random-seed INTEGER(与 0 不同,否则使用时钟)来修复随机种子。它应该在多次运行中为您提供一致的结果。

此功能存在错误,现已在开发版本中修复。
请参阅MALLET 的下载页面以构建最新版本。

于 2014-08-27T16:01:07.017 回答
0

这是一种基于抽样的概率/统计方法,因此您不应期望每次运行命令时每行都有相同的分数和相同的单词……而且我相信迭代次数有点少。尝试将其设置为 1000。

希望能帮助到你。

于 2013-10-04T07:43:15.867 回答
0

每次获得相同答案的唯一方法是对随机数生成器进行相同的播种。

MALLET 使用 Gibbs 的采样来推断主题模型的属性:这是一种马尔可夫链蒙特卡罗方法,它使用随机数生成器根据所有其他参数的当前值对模型中的某些参数进行迭代重采样。在某些情况下,您可以在不同的迭代中平均感兴趣的数量以使其更稳定:但是,由于称为可识别性的东西,主题本身不能在迭代中平均。请参阅以下 Griffiths 和 Steyvers论文,尤其是 p5230 上的脚注。

于 2013-10-04T09:33:49.627 回答