LDA:为什么要对新文档的推理进行抽样?
LDA: Why sampling for inference of a new document?
给定一个包含 1000 个主题和几百万文档的标准 LDA 模型,使用 Mallet/collapsed Gibbs 采样器进行训练:
在推断新文档时:为什么不直接跳过抽样并简单地使用模型的术语主题计数来确定新文档的主题分配?我知道在新文档上应用 Gibbs 抽样会考虑新文档的主题混合,这反过来会影响主题的构成方式(beta、词频分布)。然而,由于在推断新文档时主题保持固定,我不明白为什么这应该是相关的。
抽样的一个问题是概率性质 - 有时会记录推断的主题分配,在重复调用时会有很大差异。因此,我想了解采样与仅使用确定性方法相比的理论和实践价值。
谢谢本
仅使用最后一个 Gibbs 样本的术语主题计数不是一个好主意。这种方法没有考虑主题结构:如果一篇文档有很多来自一个主题的词,它可能有更多来自该主题的词 [1]。
例如,假设两个词在两个主题中的概率相等。给定文档中第一个词的主题分配会影响另一个词的主题概率:另一个词更有可能与第一个词属于同一主题。这种关系也以另一种方式起作用。这种情况的复杂性是我们使用吉布斯抽样等方法来估计此类问题的原因。
至于您对主题分配变化的评论,这无济于事,可以看作是一件好事:如果单词主题分配变化,您不能依赖它。您所看到的是该词的主题后验分布没有明确的赢家,因此您应该对特定的作业持保留态度 :)
[1] 假设 beta,即 document-topic 分布的先验,鼓励稀疏性,这通常是为主题模型选择的。
真正的问题是计算复杂性。如果文档中的 N 个标记中的每一个都可以有 K 个可能的主题,那么就有 K 到 N 种可能的主题配置。有两个主题和一个像这个答案一样大的文档,你的可能性比宇宙中的原子数还要多。
但是,从该搜索中抽样 space 非常有效,如果对连续三到五个吉布斯扫描进行平均,通常会给出一致的结果。你要做一些计算上不可能的事情,而你付出的代价是一些不确定性。
如前所述,您可以通过设置固定的随机种子获得"deterministic"结果,但这实际上并不能解决任何问题。
给定一个包含 1000 个主题和几百万文档的标准 LDA 模型,使用 Mallet/collapsed Gibbs 采样器进行训练:
在推断新文档时:为什么不直接跳过抽样并简单地使用模型的术语主题计数来确定新文档的主题分配?我知道在新文档上应用 Gibbs 抽样会考虑新文档的主题混合,这反过来会影响主题的构成方式(beta、词频分布)。然而,由于在推断新文档时主题保持固定,我不明白为什么这应该是相关的。
抽样的一个问题是概率性质 - 有时会记录推断的主题分配,在重复调用时会有很大差异。因此,我想了解采样与仅使用确定性方法相比的理论和实践价值。
谢谢本
仅使用最后一个 Gibbs 样本的术语主题计数不是一个好主意。这种方法没有考虑主题结构:如果一篇文档有很多来自一个主题的词,它可能有更多来自该主题的词 [1]。
例如,假设两个词在两个主题中的概率相等。给定文档中第一个词的主题分配会影响另一个词的主题概率:另一个词更有可能与第一个词属于同一主题。这种关系也以另一种方式起作用。这种情况的复杂性是我们使用吉布斯抽样等方法来估计此类问题的原因。
至于您对主题分配变化的评论,这无济于事,可以看作是一件好事:如果单词主题分配变化,您不能依赖它。您所看到的是该词的主题后验分布没有明确的赢家,因此您应该对特定的作业持保留态度 :)
[1] 假设 beta,即 document-topic 分布的先验,鼓励稀疏性,这通常是为主题模型选择的。
真正的问题是计算复杂性。如果文档中的 N 个标记中的每一个都可以有 K 个可能的主题,那么就有 K 到 N 种可能的主题配置。有两个主题和一个像这个答案一样大的文档,你的可能性比宇宙中的原子数还要多。
但是,从该搜索中抽样 space 非常有效,如果对连续三到五个吉布斯扫描进行平均,通常会给出一致的结果。你要做一些计算上不可能的事情,而你付出的代价是一些不确定性。
如前所述,您可以通过设置固定的随机种子获得"deterministic"结果,但这实际上并不能解决任何问题。