用于主题建模的 Amazon Sagemaker 中的 LDA 和 NTM 有什么区别?

Sau*_*abh 4 algorithm topic-modeling

我正在寻找 LDA 和 NTM 之间的区别。您将在 NTM 上使用 LDA 的一些用例是什么?

根据 AWS 文档:

LDA:Amazon SageMaker 潜在狄利克雷分配 (LDA) 算法是一种无监督学习算法,它试图将一组观察结果描述为不同类别的混合。LDA 最常用于发现文本语料库中文档共享的用户指定数量的主题。

虽然您可以同时使用 Amazon SageMaker NTM 和 LDA 算法进行主题建模,但它们是不同的算法,预计会对相同的输入数据产生不同的结果。

Oli*_*ant 6

LDA和NTM有不同的科学逻辑:

SageMaker LDA(潜在狄利克雷分配,不要与线性判别分析混淆)模型的工作原理是假设文档是通过从有限的主题集中采样单词而形成的。它由 2 个活动部分组成:(1)每个主题的单词组成和(2)每个文档的主题组成

另一方面,SageMaker NTM没有明确学习每个主题的单词分布,它是一个神经网络,通过瓶颈层传递文档并尝试重现输入文档(根据AWS 文档,大概是变分自动编码器 (VAE) ) . 这意味着瓶颈层最终包含所有必要的信息来预测文档组成,其系数可以被视为主题

以下是选择其中之一的注意事项:

  1. 基于 VAE 的方法(例如 SageMaker NTM)在识别相关主题方面可能比 LDA 做得更好,这大概是因为它们可能具有更深的表达能力。此处的基准测试(具有可能与 SageMaker NTM 不同的 VAE-NTM)表明 NTM 在主题一致性和困惑度这两个指标上都可以击败 LDA
  2. 到目前为止,社区中关于 LDA 的知识似乎比关于 VAE、NTM 和 SageMaker NTM 的知识更多。如果您使用 LDA,这意味着可能更容易学习和排除故障。但是,事情变化很快,因此随着 DL 知识的增长,这一点可能越来越不相关
  3. SageMaker NTM 具有比 SageMaker LDA 更灵活的硬件选项,并且可以更好地扩展:SageMaker NTM 可以在 CPU、GPU、多 GPU 实例和多实例上下文上运行。例如,官方 NTM 演示使用 2 个ml.c4.xlarge实例的临时集群。SageMaker LDA 目前仅支持单实例 CPU 训练。