- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Spark并行化主题模型算法探究
基于Spark并行化主题模型算法探究 摘要:为应对大数据量处理的挑战以及更加有效地进行文本的语义挖掘,本文利用快速通用的计算框架Spark进行典型主题模型潜在狄利克雷模型的并行化研究。根据模型求解过程中利用吉布斯采样估计参数的特点,该文将模型的并行化实现分解为参数初始化、数据集分割以及吉布斯采样等过程,并利用Spark提供的丰富编程接口进行模型的训练设计。基于真实数据集上的实验表明,该文的并行化模型能够提取文本的主题分布
关键词:主题模型;Spark;吉布斯采样;文本挖掘;大数据
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)08-0017-02
近年互联网的发展将信息时代带入了大数据时代,人们获取信息的方式不再是传统的PC端,而是扩展到了移动互联甚至是物联网等多样化的形式。越来越丰富的网络内容,使数据产生的速度、数据格式以及数据关系都变得难以再利用传统的数据处理技术进行数据的分析。因此,找到一种能够有效处理大数据的技术成为了数据时代的基本需求
本文主要研究内存计算框架Spark平台下主题模型算法Latent Dirichlet Allocation(LDA)的并行化及实现。LDA是Da-vid Blei,Andrew坛等提出的基于贝叶斯方法的无监督概率生成主题模型,广泛应用在信息检索、主题抽取、信息推荐等,本文在Spark框架下进行LDA主题模型的文本挖掘研究
1研究现状
LDA模型利用两个假设:(1)文档是多个主题的集合,符合多项分布;(2)主题也是词语的混合,同样符合多项分布。整个过程就是估计分布参数,在估计参数的方法中,Blei等使用变分贝叶斯方法估计先验分布参数,Gregor Heinrichm应用Gibbs采样方法对LDA进行参数估计
关于LDA算法的改进,很多学者进行了深入而细致的研究,既有变分贝叶斯也有Gibbs采样。针对大数据集处理提出的并行LDA首次由DavidNewman等提出,该论文提出两种LDA改进模型:(AD-LDA)和(HD-LDA),AD-LDA模型分割数据集加快速度,而精度有损失,HD-LDA混合模型包含多个LDA,相比AD-LDA精度提升,但复杂度高,因此,都集中在AD-LDA基础上深入研究,Porteoas等提出了FastLDA。除了上述的早期并行化研究,La Wen等基于Mahout的CollapsedVariational Bayes(CVB)算法进行改进。由于Spark基于内存计算的优势,越来越多的大数据处理研究放在了该平台上,Spark下的LDA模型研究对文本处理的研究具有非常重要的指导作用
2相关技术
2.1LDA模型
LDA模型中一篇文?n的生成方式过程如下:
1)通过Dirichlet分布采样得到文档i的主题分布θi;
2)从主题的多项式分布θi取样生成文档i词语j的主题Zi,j;
3)从Dirichlet分布β中取样生成主题Zi,j词语分布φz(i,j);
4)从词的多项式分布φz(i,j)中采样最终生成词Wi,j
2.2 Spark内存计算框架
Spark是一种由加州大学伯克利分校AMP实验室开源的内存计算框架,相比Hadoop MapReduce模型具有快速、通用、容错的特点,由于MapReduce对中间结果处理落地磁盘,所以不适合具有迭代和实时条件下的计算,而Spark采用ResilientDistributed Datasets(RDD)数据集,非常适合在迭代情况下的应用,因此适合机器学习等迭代算法的部署,Spark自身也包括了SQL处理、流计算、MLlib、图计算等组件,因此在内存快速计算的前提下,还能适用在不同的应用场景下
3基于Spark的LDA主题模型的实现
LDA模型使用贝叶斯推理方法,中间需要三个参数:每个词对应的主题Zi,j,文档的主题分布θi,每个主题的词语分布z(i,j),在估计参数时,只需要计算Zu,其他两个参数可以通过似然估计得到。Zi,j的计算公式如下:
(1)
(2)
(3)
公式(1)中分母需要求KW项的和,因此很难求出,Gibbs抽样就是要完成式(1)的抽样,再利用抽样结果完成其他两个参数的似然估计
在进行了数据集分割和预处理后,通过对每个数据集进行一次Gibbs采样然后进行相关矩阵和数组的合并,以求平均值的方式得到新的状态变化。接下来使用新的状态集合应用到各个数据集中进行下一次采样,重复这一过程,直到得到稳定的结果
LDA吉布斯采样在并行化实现时需要更新多个统计量,如果将数据并行化处理,则需要将一些全局统计量进行每次采样的更新。数据以矩阵的形式存储,在进行数据集的子划分时,
文档评论(0)