在不同主题数量下LDA结果的相似性?

如果我们在LDA中选择20个主题,然后再选择30个主题。我的问题是,这两种结果是否会交叉那20个主题并产生相似的结果?


回答:

简短回答 – 不会。LDA的工作方式是使用Gibbs采样器来获取文档向量的Dirichlet分布。分配是在这个样本上进行的,因此,除非你定义明确的随机种子并运行相同数量的主题k,否则由于采样的随机性和分配的不确定性,结果总是会有所不同。请查看Blei等人2003年的原始论文,了解k是如何定义的。

更新(关于评论):层次LDA(hLDA)试图通过构建遵循中国餐馆模型的主题层次来解决保留主题和子主题的问题。但它仍然不完美。

然而,扁平LDA的工作方式是,它关注的是文档而不是主题来产生进一步的结果。比如,你得到主题0(餐馆里的第一张桌子),所有文档都试图坐在那里,但空间不够,你创建了另一个主题1,有些文档觉得在这里更舒服,等等。现在你从这些桌子是如何创建的角度来看是正确的。但有一件非常重要的事情 – 当你创建一个新桌子/主题1时,主题0会发生变化,因为一些文档已经离开了第一张桌子,并带走了单词(或它们的共现概率)到新桌子,所有主题0中的单词在新情况下都被重新洗牌。当你创建更多桌子/主题时,之前的所有主题也会被重新估计。因此,当你用30个主题重新运行时,你永远不会得到相同的20个主题。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注