潜在狄利克雷分配 (LDA) 算法 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

潜在狄利克雷分配 (LDA) 算法

Amazon SageMaker 潜在狄利克雷分配 (LDA) 算法是一种自主学习算法,它尝试将一组观察描述为不同类别的组合。LDA 最常用于发现通过文本语料库中的文档共享的用户指定数量的主题。这里,每个观察都是一个文档,特征是每个单词的存在 (或出现次数计数),类别是主题。由于该方法是自主的,因此未预先指定主题,并且不能保证与人对文档进行自然分类的方式一致。以每个文档中单词的出现概率形式来学习主题。每个文档进而被描述为主题的混合。

具有类似主题混合的两个文档的确切内容将不相同。但总的来说,您希望这些文档更频繁地使用一个共享的单词子集,而不是与来自不同主题混合的文档进行比较。这将允许 LDA 发现这些单词组并使用它们来形成主题。举一个极其简单的示例,给定一组文档,其中唯一出现的单词为:eatsleepplaymeow bark,LDA 可能会生成如下主题:

主题

eat sleep play meow bark
主题 1 0.1 0.3 0.2 0.4 0.0
主题 2 0.2 0.1 0.4 0.0 0.3

您可以推断出,更有可能归入主题 1 的文档与猫有关 (猫更有可能与 meowsleep 相关),归入主题 2 的文档与狗有关 (playbark). 更适合描述狗)。即便单词狗和猫从未在任何文本中出现,也可以找到这些主题。

在潜在狄利克雷分配 (LDA) 和神经主题模型 (NTM) 之间进行选择

主题模型通常用于从语料库生成主题,该语料库 (1) 一致地封装语义意义,以及 (2) 描述文档井。因此,主题模型旨在最大程度地减少困惑性并最大限度地提高主题一致性。

困惑度是内部语言建模评估指标,用于测量测试数据中每个单词的几何均值可能性的倒数。一个较低的困惑度分数表示总体化性能更好。研究表明,按单词计算的可能性通常与人工判断不一致,并且可能完全无关,因此引入了主题一致性。模型中的每个推断主题都包含单词,并且主题一致性将计算为模型中该特定主题的前 N 个单词。它通常定义为该主题中单词的单词相似度分对的平均值或中值,例如,聚类双向信息 (PMI)。有潜力的模型会生成具有高主题一致性分数的整合主题或主题。

虽然目标是训练一个主题模型以最大程度地减少困惑度并最大限度地提高主题一致性,但通常与 LDA 和 NTM 都有权衡。Dinget 等人 2018 年进行的最近研究表明,NTM 有希望实现高主题一致性,但通过折叠的 Gibbs 采样训练的 LDA 可实现更好的困惑。perplexity 和 topic cointence 之间存在权衡。从硬件和计算能力的实用性角度来看SageMaker,NTM 硬件比 LDA 更灵活,并且可以更好地扩展,因为 NTM 可以在 CPU 和 GPU 上运行,并且可以跨多个 GPU 实例并行运行,而 LDA 仅支持单实例 CPU 训练。

DeepAR 算法的输入/输出接口

LDA 预期在训练渠道上提供数据,并 (可选) 支持一个测试渠道,该渠道由最终模型进行评分。LDA 支持 recordIO-wrapped-protobuf (密集和稀疏) 和 CSV 文件格式。对于 CSV,数据必须是密集的,并且维度等于记录数 * 词汇表大小. 使用 recordIO包装的 protobuf 时,LDA 可以在文件或管道模式下训练,但只能在文件模式下进行 CSV 格式训练。

对于推理,支持 text/csvapplication/jsonapplication/x-recordio-protobuf 内容类型。也可以为 application/json 和 传递稀疏数据application/x-recordio-protobuf。 LDA 推理返回 application/jsonapplication/x-recordio-protobuf 预测,其中包括每个观察的topic_mixture向量。

有关训练和推理格式的更多详细信息,请参阅LDA 示例笔记本

LDA 算法的 EC2 实例建议

LDA 当前仅支持单实例 CPU 训练。建议使用 CPU 实例进行托管/推理。

LDA 示例笔记本

有关演示如何在数据集上训练SageMaker潜在狄利克雷分配算法以及如何部署训练后的模型以对输入文档中的主题混合执行推理的示例笔记本,请参阅 LDA SageMaker简介。有关如何创建和访问可用于在 SageMaker 中运行示例的 Jupyter 笔记本实例的说明,请参阅使用 Amazon SageMaker 笔记本实例. 创建笔记本实例并将其打开后,选择 SageMaker Examples (示例) 选项卡以查看所有SageMaker示例的列表。使用 NTM 算法的主题建模示例笔记本位于 Amazon 算法简介部分中。要打开笔记本,请单击其 Use (使用) 选项卡,然后选择 Create copy (创建副本).