同学们,
我是主题建模的初学者。我在 R 中使用主题模型包。函数调用是 LDA(data, k)。
我想知道使用了哪些 alpha 和 beta 值?另外,哪种推理算法用于参数估计?变分 EM 还是 Gibbs?
谢谢
同学们,
我是主题建模的初学者。我在 R 中使用主题模型包。函数调用是 LDA(data, k)。
我想知道使用了哪些 alpha 和 beta 值?另外,哪种推理算法用于参数估计?变分 EM 还是 Gibbs?
谢谢
我发现人们通常设置 alpha = 20/T,其中 T 是主题数,beta=0.01。
变分 EM 和 Gibbs 采样都可以用于推理。
使用?LDA
LDA(x, k, method = "VEM", control = NULL, model = NULL, ...)
因此,您可以指定方法。
lda <- LDA(x, control = list(alpha = 0.1), k = 2)
您还可以在控制选项中指定 alpha
主题分布是使用 Dirichlet 定义的,作为 alpha 参数的函数。有多个 Dirichlets - 一个在文档内,另一个跨语料库中的文档。
在基本 LDA 中,可以设置定义语料库中主题的 Dirichlet 分布的 alpha。通常使用的 alpha 值是 0.001、0.01、0.1、1 等。(更常见的是有人提到的 1/K)。
如果 alpha 非常小,则意味着(预先设置)平均每个文档可能包含较少的主题(极端情况是 1 个主题或所有主题)。如果您将 alpha 设置得非常低,则每个文档内的概率分布(后验)将非常偏斜。
无论您设置什么,修复单个 alpha 意味着平均每个主题大小(后验概率的平均值)在平均文档中将是相似的。
INSTEAD 根据数据估计 alpha。
阅读“重新思考 LDA 先验”并考虑在 python 中使用 GENSIM。