【问题标题】:What is the difference between LDA and NTM in Amazon Sagemaker for Topic Modeling?Amazon Sagemaker for Topic Modeling 中的 LDA 和 NTM 有什么区别?
【发布时间】:2020-03-25 08:35:16
【问题描述】:

我正在寻找 LDA 和 NTM 之间的区别。您将在哪些用例中使用 LDA over NTM?

根据 AWS 文档:

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

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

【问题讨论】:

    标签: algorithm topic-modeling


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    • 感谢您的出色回答!你知道可以从 NTM 模型中提取什么吗?你说没有主题词 dist 但最重要的词显示在日志中。我有兴趣使用 NTM 模型为 github.com/bmabey/pyLDAvis 之类的东西供电。
    • 您可以在官方 SageMaker NTM 演示 github.com/awslabs/amazon-sagemaker-examples/blob/master/… 中看到初步的主题探索
    • 是的,我看到了,Matrix $W$ corresponds to the $W$ in the NTM digram at the beginning of this notebook. Each column of $W$ corresponds to a learned topic. The elements in the columns of $W$ corresponds to the pseudo-probability of a word within a topic 之间的主要区别是什么; pseudo-probability of a word within a topicword distribution per topic
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 2023-04-11
    • 2021-06-23
    • 2020-06-05
    • 2016-04-04
    • 2012-06-11
    相关资源
    最近更新 更多