相同的LDA参数和数据输入,但我每次的主题都不一样?

The same LDA parameters and data input, but I have different topics everytime?

我将 LDA 与 Spark MLlib 框架结合使用。 为了确定主题数量,我尝试了:运行 LDA 模型增加主题数量,然后找到具有最大值对数似然的最佳主题数量。 但是如果我运行再次以相同的方式和相同的输入数据。我有不同的主题数量值。那么你能帮我解决以下两个问题吗:

我必须使用什么值来确定主题数:logLikelihood 或 logPrior

为什么相同的LDA参数和输入数据每次生成不同的主题?

以及如何稳定话题生成?

非常感谢。

编辑: 我在 运行 LDA 之前通过设置种子找到了解决方案,使用:

DistributedLDAModel.setSeed(long value)

你看到这个是因为 LDA 在训练和推理步骤中都使用了随机性。尝试每次都设置相同的种子。