如何确定LDA的主题数量?

问题描述 投票:11回答:4

我是LDA的新生,我想在我的工作中使用它。但是,出现了一些问题。

为了获得最佳性能,我想估算最佳主题编号。在阅读“查找科学主题”后,我知道我可以先计算logP(w | z),然后用一系列P(w | z)的调和平均值来估算P(w | T)。

我的问题是“一系列”是什么意思?

nlp data-mining lda
4个回答
6
投票

不幸的是,没有硬科学能够正确回答你的问题。据我所知,hierarchical dirichlet process (HDP)很可能是达到最佳主题数量的最佳方式。

如果您正在寻找更深入的分析,this paper on HDP报告了HDP在确定群体数量方面的优势。


2
投票

首先有些人使用调和平均来找到最佳主题但我也尝试了但结果并不令人满意。根据我的建议,如果你使用R,那么打包“ldatuning”将是有用的。它有四个指标用于计算最优没有参数。同样,基于困惑和基于对数似然的V折叠交叉验证也是最佳主题建模的非常好的选择。对于大型数据集,V-fold交叉验证有点耗时。您可以看到“启发式方法来确定适当的主题no.of主题在主题建模“。重要链接:https://cran.r-project.org/web/packages/ldatuning/vignettes/topics.html https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4597325/


1
投票

一种可靠的方法是为不同数量的主题计算主题一致性,并选择能够提供最高主题一致性的模型。但有时,最高可能并不总是符合要求。

enter image description here

看到这个topic modeling example.


0
投票

设k =主题数

没有单一的最佳方式,我甚至不确定是否有任何标准做法。

方法1:尝试不同的k值,选择具有最大似然的值。

方法2:代替LDA,看看你是否可以使用HDP-LDA

方法3:如果HDP-LDA在您的语料库中不可行(由于语料库大小),则采用您的语料库的统一样本并在其上运行HDP-LDA,取HDP-LDA给出的k值。对于此k周围的小间隔,请使用方法1。

© www.soinside.com 2019 - 2024. All rights reserved.