Gibbs 采样迭代次数如何影响 Latent Dirichlet 分配?

How does the number of Gibbs sampling iterations impacts Latent Dirichlet Allocation?

MALLET的documentation提到了以下内容:

--num-iterations [NUMBER]

采样迭代次数应该是完成采样所需时间与主题模型质量之间的权衡。

MALLET 还提供了 example:

// Run the model for 50 iterations and stop (this is for testing only, 
//  for real applications, use 1000 to 2000 iterations)
model.setNumIterations(50);

很明显迭代次数太少会导致主题模型不好。

但是,增加 Gibbs 采样迭代次数是否一定有利于主题模型的质量(通过困惑度、主题连贯性或下游任务来衡量)? 或者模型质量是否可能随着 --num-iterations 设置为过高的值而降低?

在个人项目中,平均超过 10 倍的交叉验证将迭代次数从 100 增加到 1000 不会影响下游任务的平均准确度(以平均倒数排名衡量)。然而,在交叉验证拆分中,性能发生了显着变化,尽管随机种子是固定的并且所有其他参数保持不变。我缺少有关 Gibbs 采样的哪一部分背景知识来解释此行为?

我在没有超参数优化和 MALLET 提供的并行 LDA 实现的情况下对 alpha 和 beta 使用对称先验。

1000 次迭代设置被设计为对于大多数集合大小来说是一个安全数字,并且还传达“这是一个很大的整数,所以不要认为它非常精确”。较小的数字可能会很好。我曾经 运行 一个模型进行了 1000000 次迭代,并且整整一半的令牌分配从 1000 次迭代模型中从未改变。

您能否更具体地说明交叉验证结果?是不是不同的折叠有不同的 MRR,这些 MRR 在迭代计数中是独立稳定的?或者个别折叠 MRR 因迭代次数而异,但它们在总体平均值中平衡了?不同的折叠有不同的“难度”并不罕见。如果数据不同,修复 运行dom 种子也不会有什么不同。