文档生成和吉布斯采样的潜在狄利克雷分配 (LDA) 重要性

数据挖掘 主题模型 低密度脂蛋白
2022-03-10 22:52:08

我很难找到 LDA 的两个看似不相关的部分之间的相关性。

我从几个视频中了解到的是:

  1. 有一个文档生成“部分”,它是两个狄利克雷分布的构造,一个描述文档到主题的分布,一个描述主题到单词的分布。

  2. 有 Gibbs 采样优化“部分”,它接收其单词已分配给主题的文档,并且在每次优化迭代中,Gibbs 采样朝着文档到主题和单词到主题的某种一元分布迈出了一步,即每个文档的单词或多或少属于同一个主题,文档语料库中的每个单词实例或多或少属于一个主题。

我的问题是为什么需要第一部分?我认为它的重要性可能在于主题的初始随机分配需要来自狄利克雷分布,但我不确定是否是这种情况。

有什么我想念的吗?

1个回答

tldr:在 LDA 中,“生成部分”用于描述模型的设计,而不是用于实际应用。

LDA 是贝叶斯生成模型。生成模型和判别模型之间的区别例如在这个问题中得到解决,或者如果你想在这个问题中获得更多细节

顾名思义,生成模型可以生成数据。但在 LDA 和其他主题建模模型的情况下,它从未真正用于生成任务,因为它会产生无意义的文本。事实上,生成方面更多的是关于模型的设计:这个想法是将模型表示为一个统计生成过程,即通过从模型参数表示的分布中提取一些值。这就是为什么这些模型总是通过“生成故事”来描述的,它代表了模型的设计。请注意,这种设计涉及很多假设和简化,这就是为什么生成的实际能力在 LDA 中并不是真正有用的原因。

在实践中,LDA 几乎专门用于获得基于主题的一组文档的概率聚类,不同的主题表示为词汇表上的不同分布。这是通过从语料库中估计模型的参数来完成的,这个过程通常使用 Gibbs 采样来完成。请注意,吉布斯抽样是一种通用的估计方法,它并不特定于 LDA。

如果这有帮助,我经常用计算机科学术语解释不同任务之间的差异:

  • 对于生成任务:
    • 输入是模型参数,
    • 输出是一组文档(可能是无限的)。
  • 对于估计任务:
    • 输入是一组(有限)文档,
    • 输出是模型参数。
  • 对于“应用程序”任务:
    • 输入是模型参数和一些输入文件d
    • 输出是后验概率p(t|d)对于每个主题t.