在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

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

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