首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >星火中LDA模型的在线学习

星火中LDA模型的在线学习
EN

Stack Overflow用户
提问于 2017-03-08 18:11:36
回答 2查看 1.7K关注 0票数 9

有没有办法以在线学习的方式训练LDA模型?加载以前的训练模型,并使用新的文档更新它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-24 13:25:47

回答自己:从现在起,这是不可能的。

实际上,Spark有两个LDA模型训练的实现,一个是OnlineLDAOptimizer。这种方法特别设计成用小批文档增量地更新模型。

优化器实现了在线变分贝叶斯LDA算法,该算法在每次迭代时处理语料库的一个子集,并自适应地更新术语主题分布。 原始在线LDA论文:霍夫曼,布莱和巴赫,“潜在的Dirichlet分配的在线学习”。NIPS,2010年

不幸的是,当前的mllib API不允许加载经过训练的LDA模型,并向其添加批处理。

一些mllib模型支持initialModel作为增量更新的起点(请参阅KMeansGMM),但LDA目前不支持这一点。我为此填写了一个JIRA:火花-20082。请投票-)

为了记录在案,还有一个用于流LDA 火花-8696的JIRA

票数 4
EN

Stack Overflow用户

发布于 2017-03-23 10:40:51

我不认为这样的事情会存在。LDA是一种概率参数估计算法(在这里是对LDA解释过程的一个非常简化的解释),添加一个文档或几个文档会改变所有以前计算的概率,因此可以从字面上重新计算模型。

我不知道您的用例,但是如果您的模型在合理的时间内收敛并在每次重新计算时丢弃一些最古老的文档,那么您可以考虑逐批进行更新,以使估计更快。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42678816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档