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

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


回答:

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

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

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

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

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