一种基于MapReduce改进人工蜂群算法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于MapReduce改进人工蜂群算法

一种基于MapReduce的改进人工蜂群算法   摘 要:针对现有序列聚类算法在对大规模数据进行聚类时,内存空间和计算时间开销较大的问题,提出了基于MapReduce的人工蜂群聚类算法。该算法通过引入MapReduce并行编程范式,快速计算聚类中心适应度,可实现对大规模数据的高效聚类。基于仿真数据对算法的聚类效果和聚类效率进行了验证。实验结果表明,与现有PK-Means算法和并行K-PSO算法相比,该算法具有更好的聚类效果和更高的聚类效率。   关键词:大数据;人工蜂群;聚类;并行编程范式   DOIDOI:10.11907/rjdk.171911   中图分类号:TP312   文献标识码:A 文章编号:1672-7800(2018)002-0071-03   0 引言   数据挖掘技术常被用于发现数据中潜在的某种模式,从而为最优决策提供依据[1]。   聚类是重要的数据挖掘技术,主要用于将某个集合中的项分配到目标类别或簇。近年来,仿生算法如遗传算法(GA)、差分进化(DE)、蚁群优化(ACO)、微粒群优化(PSO)等被用于解决聚类问题。Maulik等[2]提出了被称为“GA-聚类”的基于遗传算法的聚类方法,该方法从特征空间搜索到适当的簇中心,优化利用相似性度量得到的簇。王勇臻等[3]针对K-means算法依赖于初始聚类中心和易陷入局部最优解的缺陷,提出一种改进的求解聚类问题的差分进化算法。姜参等[4]对蚁群聚类算法的收敛速度和易陷入局部最优问题进行了改进,提高了聚类速度和效果。Cura等[5]利用微粒群优化方法,通过模拟鸟类结队和鱼的群居行为特征解决聚类问题。然而,大规模数据集通常包含大量文件,应用上述序列聚类算法对大规模数据进行聚类时,往往在内存空间和计算时间等方面开销较大[6]。目前,MapReduce编程范式已成为一个数据并行编程模型,可将计算任务自动并行处理,具有较好的容错和负载均衡能力,受到众多研究者青睐。   针对大规模数据聚类问题,本文提出了基于MapReduce的人工蜂群聚类算法,能对大规模数据进行高效聚类。   1 人工蜂群聚类算法改进   1.1 传统的人工蜂群算法   人工蜂群算法是一种元启发式算法,涉及到的概念包括:①食物源:表示优化问题的一种可能方案;②适应度:适应度的值表示食物源的质量;③蜜蜂种类:雇佣蜂、观察蜂和侦察蜂。   人工蜂群算法步骤:①随机分布式初始化食物源位置;②所有雇佣蜂选择一个候选食物源位置,基于之前已选择食物源位置的临近位置,选择新的食物源。若新的候选食物源位置适应度更高,则更新雇佣蜂记忆中原有的食物源位置并返回蜂巢,与观察蜂共享新的食物源位置的适应度;③每个观察蜂根据从雇佣蜂得到的适应度值以一定概率选择新的食物源位置;④观察蜂前往被选择食物源位置,并根据所选食物源,选择其临近的新的食物源位置;⑤丢弃所有适应度未增加的食物源位置,并由侦察蜂随机确定新的位置。   上述过程重复执行,直到迭代次数达到最大循环次数。其中,步骤①、②和③在重复过程中,于步骤⑤之前循环执行。   1.2 改进算法流程   基于MapReduce的人工蜂群算法流程如图1所示。   主要步骤如下:   (1)随机分布式初始化食物源位置,将其作为雇佣蜂的初始位置。初始位置如式(1)所示:   其中,xi为以D维向量表示的食物源位置,为目标函数,决定着当前位置的优劣,表示食物源数量。   (2)更新雇佣蜂新的中心值。将初始位置作为雇佣蜂的当前位置,并基于当前位置对邻域进行搜索。在搜索过程中选择新的位置,通过式(2)计算得到:   (3)基于MapReduce计算适应度。基于MapReduce计算雇佣蜂从邻域搜索到的新的食物源?m应度,如果该适应度高于原位置适应度,则用该位置更新原有位置。   (4)从雇佣蜂选择中心值并更新。雇佣蜂返回蜂巢,将新的食物源位置共享给观察蜂,观察蜂根据共享信息利用式(3)选择食物源位置:   式(3)中,fiti表示食物源的适应度,与食物源i的目标函数值有关。选择好食物源位置后,观察蜂前往该位置,利用公式(2)选择其邻域中心的食物源位置。   (5)基于MapReduce计算新位置的适应度,并根据适应度的大小决定是否更新当前位置。   (6)考察一段时间内的中心值适应度是否增加,如适应度未增加,则丢弃当前中心值,侦察蜂重新产生新的中心值,否则,执行步骤(7)。   (7)考察中心值是否满足条件,如满足则执行步骤(8),否则执行步骤(2)。   (8)利用最优中心值对数据进行聚类。   在上述步骤中,大规模数据的适应度计算会耗费大量时间。因此,本文采用MapReduce计算适应度值。   1.3 基于MapReduce的适应

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档