首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R中加速主题模型?

如何在R中加速主题模型?
EN

Stack Overflow用户
提问于 2015-01-26 16:52:06
回答 1查看 2.8K关注 0票数 7

背景--我正在尝试将主题模型与以下数据和规范( documents=140 0 0 0,words =3,000和documents=140= 15 )相匹配。我在一台Windows7机器(ram 24 GB,8核)上使用了R (3.1.2)中的包topicmodels。我的问题是,计算只会继续进行,而不会产生任何“收敛”。

我在LDA()函数中使用topicmodels中的默认选项

运行模型

代码语言:javascript
复制
dtm2.sparse_TM <- LDA(dtm2.sparse, 15)

模型运行了大约72个小时--现在仍然是我写作的时候。

问题所以,我的问题是:(a)如果这是正常行为;(b)如果不是第一个问题,你对做什么有什么建议;(c)如果是第一个问题,我怎样才能大大提高计算速度?

附加信息:原始数据包含的不是3000字,而是大约370万字。当我(在同一台机器上)运行它时,它没有收敛,甚至在几周后也没有收敛。所以我用了300个单词,只有500个文档(随机抽取),并不是所有的都工作得很好。对于所有模型,我使用了与以前相同的主题和默认值的nr。

因此,对于我的当前模型(请参阅我的问题),我在tm包的帮助下删除了稀疏术语。

删除稀疏项

代码语言:javascript
复制
dtm2.sparse <- removeSparseTerms(dtm2, 0.9)

感谢预先提供的意见。

EN

回答 1

Stack Overflow用户

发布于 2016-01-04 01:58:45

您需要使用在线变分贝叶斯,它可以轻松地处理这样数量的培训文档。在在线变分贝叶斯中,您使用训练样本的小批来训练模型,这极大地提高了收敛速度(参见下面的SGD链接)。

对于R,您可以使用这个套餐这里你可以读到更多关于它以及如何使用它的信息。还可以查看文件,因为R包实现了在该文件中使用的方法。如果可能的话,导入他们上传到R中的Python代码,我强烈推荐这里代码,因为我对我最近从事的一个项目有很好的经验。在了解了模型之后,您可以保存主题发行版以供以后使用,并将其与测试样本一起使用到onlineldavb.py,以便在给定这些未见文档的主题分布上进行集成。使用在线变分贝叶斯方法,在不到15小时的时间内,我用500000份文档和5400个单词在词汇数据集中训练了一个LDA。

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

https://stackoverflow.com/questions/28154789

复制
相关文章

相似问题

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