bin/mallet训练在每个实例中获得不同结果的主题



运行命令时bin\mallet train topics--input input.tutorial.mallet--num topics 40--num迭代次数100--优化间隔50--优化烧录200--输出状态input.gz--输出主题键inputkeys.txt--输出文档主题input-proportion.txt

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

输出:

0 AJAY_DASARI 19 0.0620516499228263994 39 0.03263988522238164 35 0.03263988522 238164 33 0.03263988 522238164 32 0.0326398852 238164 23 0.03 263988 522 238164。。。。。。。。。。。。。。。1 BALVINDERSINGH 21 0.06297779395704405 36 0.04805242082271569 22 0.0480524208271569 35 0.03312704768838733 32 0.0331270476 8838733 31 0.033127047608838733 30 0.03312704768 8838733 26 0.03312704760 8838733 24 0.033127047668838733 15 0.0331270448838733 13。。。。。。。。。。。。。。。。

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

训练模型时,使用选项--random-seed INTEGER(不同于0,否则使用时钟)来固定随机种子。它应该在多次跑步中给你带来一致的结果。

这个功能有一个错误,现在已经在开发版本中修复了
请参阅MALLET的下载页面以构建最新版本。

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

希望能有所帮助。

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

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

相关内容

  • 没有找到相关文章

最新更新