Notice (8): file_put_contents(): Write of 268 bytes failed with errno=28 No space left on device [CORE/src/Log/Engine/FileLog.php, line 140]

Notice: file_put_contents() [function.file-put-contents]: Write of 1108 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 5131 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 3152 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 284 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 2559 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): unserialize() [<a href='https://secure.php.net/function.unserialize'>function.unserialize</a>]: Error at offset 16363 of 16373 bytes [APP/Controller/NewsController.php, line 5571]

Notice: file_put_contents() [function.file-put-contents]: Write of 2760 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Undefined array key "nsort" [APP/Controller/NewsController.php, line 3613]

Notice: file_put_contents() [function.file-put-contents]: Write of 2074 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Trying to access array offset on value of type null [APP/Controller/NewsController.php, line 3613]

Notice: file_put_contents() [function.file-put-contents]: Write of 2098 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Undefined array key "nsort" [APP/Controller/NewsController.php, line 3613]

Notice: file_put_contents() [function.file-put-contents]: Write of 2074 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Trying to access array offset on value of type null [APP/Controller/NewsController.php, line 3613]

Notice: file_put_contents() [function.file-put-contents]: Write of 2098 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 125 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 2791 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (512): long cache was unable to write '82fd2c4d071899c5c8fb37f8d50c8d80' to Cake\Cache\Engine\FileEngine cache [CORE/src/Cache/Cache.php, line 275]

Notice: file_put_contents() [function.file-put-contents]: Write of 2586 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): SplFileObject::fwrite() [<a href='https://secure.php.net/splfileobject.fwrite'>splfileobject.fwrite</a>]: Write of 104 bytes failed with errno=28 No space left on device [CORE/src/Cache/Engine/FileEngine.php, line 141]

Notice: file_put_contents() [function.file-put-contents]: Write of 2791 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (512): long cache was unable to write '178346139620f4b4dab775ed0e854e04' to Cake\Cache\Engine\FileEngine cache [CORE/src/Cache/Cache.php, line 275]

Notice: file_put_contents() [function.file-put-contents]: Write of 2586 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Notice (8): unserialize() [<a href='https://secure.php.net/function.unserialize'>function.unserialize</a>]: Error at offset 61409 of 61429 bytes [APP/Controller/NewsController.php, line 5571]

Notice: file_put_contents() [function.file-put-contents]: Write of 2490 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
对Spark LDA算法的改进 大规模主题模型 - 站长搜索
首页 > 资讯列表 > 云计算 >>

对Spark LDA算法的改进 大规模主题模型

Warning (2): Undefined array key "nsort" [ROOT/plugins/Kuhuang/templates/Websites/view.php, line 430]
Notice: file_put_contents() [function.file-put-contents]: Write of 2422 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Trying to access array offset on value of type null [ROOT/plugins/Kuhuang/templates/Websites/view.php, line 430]

Notice: file_put_contents() [function.file-put-contents]: Write of 2446 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
">
Warning (2): Undefined array key "nsort" [ROOT/plugins/Kuhuang/templates/Websites/view.php, line 430]

Notice: file_put_contents() [function.file-put-contents]: Write of 2422 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
Warning (2): Trying to access array offset on value of type null [ROOT/plugins/Kuhuang/templates/Websites/view.php, line 430]

Notice: file_put_contents() [function.file-put-contents]: Write of 2446 bytes failed with errno=28 No space left on device in /www/wwwroot/www.adminso.com/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 140
2015-11-02 21:21:05 转载来源: 网络整理/侵权必删

这篇文章由Databricks的Feynman Liang和Joseph Bradley,以及Intel的Yuhao Yang撰写。 在使用LDA之前,请先 下载Spark 1.5或是 申请试用版的Databricks

这篇文章由Databricks的Feynman Liang和Joseph Bradley,以及Intel的Yuhao Yang撰写。

在使用LDA之前,请先 下载Spark 1.5或是 申请试用版的Databricks。

人们正在推特上讨论什么呢?为了关注分布式计算,我该阅读哪些资讯文章呢?这些问题都能够被话题模型所解答,它是分析文档集所涵盖话题类别的一种技术。本文将要讨论Spark 1.4和1.5使用强大的隐含狄利克雷分布 (Latent Dirichlet Allocation,LDA)算法对话题模型的性能提升。

Spark 1.4和1.5引入了一种增量式计算LDA的在线算法,在已训练的LDA模型上支持更多的查询方式,以及支持似然率(likelihood)和复杂度(perplexity)的性能评估。我们给出了一个例子,用超过450万条维基百科词条的文档集训练一个话题模型。

话题模型和LDA

话题模型分析一个大规模的文档集,并且自动推测其所讨论的话题。举个例子,我们用Spark的LDA算法训练450万条维基百科词条,可以得到下表中的这些话题。

表一:用维基百科文档集训练得到的LDA话题示例

此外,LDA告诉我们每篇文档分别属于哪些话题;文档X有30%的概率属于话题1(“政治”)以及70%的概率属于话题5(“航线”)。隐含狄利克雷分布(LDA)是实践中最成功的话题模型之一。阅读我们 之前的文章了解更多关于LDA的介绍。

一种新的在线变分学习算法

在线变分预测是一种训练LDA模型的技术,它以小批次增量式地处理数据。由于每次处理一小批数据,我们可以轻易地将其扩展应用到大数据集上。MLlib按照 Hoffman论文里最初提出的算法实现了一种在线变分学习算法。

性能对比

上表所示的话题是用新开发的在线变分学习算法训练得到。如果我们对比时间开销,可以发现新算法相比原来的EM算法效率有显著提升:

图1:在线学习算法比之前的EM算法速度更快

实验细节

我们首先对数据预处理,滤去常见的英语停用词,并且将词表限制在10000个常用单词之内。然后用在线LDA优化器迭代100次训练得到100个LDA话题模型。我们的实验在 Databricks上进行,训练用到了16个节点的AWS r3.2x大集群,数据存放在S3。具体代码详见 github。

改进的预测、评估和查询

预测新文档的话题

除了描述训练文档集的话题之外,Spark 1.5支持让用户预测新测试文档所属的话题,使得已训练的LDA模型更有用。

用似然率和复杂度评估模型

在训练完一个LDA模型之后,我们通常关心模型在数据集上的表现如何。我们增加了两种方式来评估效果: 似然率和 复杂度。

支持更多的查询方式

新的版本添加了一些新的查询方式,用户可以用在已训练的LDA模型上。例如,现在我们不仅能获得每篇文档的top k个话题(“这篇文档讨论了什么话题?”),也能得到每个话题下排名靠前的文档(“若要学习X话题,我该阅读哪些文档?”)。

运行LDA的小技巧

  • 确保迭代次数足够多。前期的迭代返回一些无用的(极其相似的)话题,但是继续迭代多次后结果明显改善。我们注意到这对EM算法尤其有效。
  • 对于数据中特殊停用词的处理方法,通常的做法是运行一遍LDA,观察各个话题,挑出各个话题中的停用词,把他们滤除,再运行一遍LDA。
  • 确定话题的个数是一门艺术。有些算法可以自动选择话题个数,但是领域知识对得到好的结果至关重要。
  • 特征变换类的Pipeline API对于LDA的文字预处理工作极其有用;重点查看Tokenizer,StopwordsRemover和CountVectorizer接口。 

下一步是什么?

Spark贡献者正在积极地优化我们的LDA实现方式。正在进行的工作有: 吉布斯采样(一种更慢但是有时更准确的算法), 流式LDA算法和 分层狄利克雷处理(自动选择话题个数)。

感谢

LDA的开发得益于众多Spark贡献者的通力合作。

Feynman Liang、Yuhao Yang、Joseph KBradley等人完成了最近这次优化, 其它众多朋友对早期版本亦有贡献。

原文链接: Large Scale Topic Modeling: Improvements to LDA on Spark(译者/赵屹华 审校/朱正贵 责编/仲浩)

译者简介:赵屹华,搜狗算法工程师,关注大数据和机器学习。

编辑:admin

标签: Spark LDA 算法 改进 大规模 主题 模型


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2025 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持