在Spark中进行LDA模型的在线学习

是否有办法以在线学习的方式训练LDA模型,即加载之前训练的模型,并用新文档进行更新?


回答:

我自己回答:目前这是不可能的。

实际上,Spark有两种LDA模型训练的实现方式,其中一种是OnlineLDAOptimizer。这种方法特别设计用于通过文档的小批量增量更新模型。

优化器实现了在线变分贝叶斯LDA算法,该算法在每次迭代中处理语料库的一个子集,并自适应地更新词-主题分布。

原始在线LDA论文:Hoffman, Blei和Bach,“潜在Dirichlet分配的在线学习。”NIPS, 2010

遗憾的是,目前的mllib API不允许加载之前训练的LDA模型,并向其添加一批新数据。

一些mllib模型支持使用initialModel作为增量更新的起点(参见KMeansGMM),但LDA目前不支持这一点。我已经为此提交了一个JIRA:SPARK-20082。请投赞成票 😉

顺便提一下,还有一个关于流式LDA的JIRA:SPARK-8696

Related Posts

如何使用Google Protobuf解析、编辑和生成object_detection/pipeline.config文件

我在一个常见的集成学习范式中训练多个模型,目前我在处理…

我的GridSearchCV不起作用,我不知道为什么

大家好,我在使用GridSearchCV时遇到了问题,…

Keras: 两个同时进行的层,其中一个对前一层的输出进行卷积

我想实现这样的模型连接: 输入图像1 -> 卷积层1 …

如何将行数据转换为列数据而不使用独热编码

我有一个如下所示的数据集。 MonthDate Day…

使用 ML Kit 与 NNAPI

我正在尝试在运行 Android 9 的设备上使用新的…

Vowpal Wabbit 可能的哈希冲突

我在VW中生成了一个模型,并且在相同的数据上生成了两个…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注