基于相似度矩阵的K—neans算法的MapReduce并行化实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:pw1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:为了提高基于相似度矩阵的K-Means算法(SMK-means)处理大数据的能力,它使用MapReduce分布式编程模型,并结合SMK-means算法自身的特点,设计出了SMK-means算法基于MapReduce的并行化实现。通过设计Map和Re-duce函数实现了SMK-means算法的并行化。Map函数通过计算样本和聚簇中心的相似度来确定样本的聚簇归属,Re-duce函数用于完成聚簇中心的计算。实验结果证明,基于MapReduce的并行化的SMK-means算法在保证文本挖掘性能不降的前提下,使得运行效率得到了大幅度提升。
  关键词:K-Means算法;相似度矩阵;MapReduce模型;并行计算;文本挖掘
  中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)18-0018-03
  1概述
  随着大数据时代的到来,人们所接触到的数据量成PB级别快速增长,同时还要求快速高效地处理所得到的数据。对于数据处理有两方面的要求,一是要比数据产生的速度快,二是还要达到数据使用者对处理结果的预期。尽管这两个要求通过使用并行计算的框架得到了一定程度上的满足,但是MPI等传统的并行框架还存在不少缺点,像技术人员需要自己实现对任务分配、集群管理等工作的编码,它在可扩展性上也有一定的限制等问题,这样就直接增高了传统并行框架的使用门槛,也无法将成本控制在一个较低的水平。而MapReduce等并行计算框架的出现较好地解决了并行计算实现难和成本高的问题。本文使用MapReduce并行框架,对基于相似度矩阵的K-Means算法(SMK-means)进行并行化处理。
  2 MapReduce编程模型
  MapReduce处理大数据集,其关键步骤为Map函数和Re-duce函数的设计与实现。用户根据自己的要求对这两个函数进行自定义,函数的输入与输出都是使用键值对的形式。
  Map函数中,MapReduce模型首先把数据集平均分割成若干个数据块,再把各数据块解析成in,Vin>对的形式。各个数据块经过Map函数的处理得到一组相应的结果,其结果记录为m,Vm>对。然后这些结果将会被输入到Reduce函数中。
  Reduce函数中,第一步先是把各Map函数的输出结果进行预处理包括合并与按一定次序排列,预处理结果的形式为m,list{vm>对,第二步则使用Reduce函数将预处理结果作为输入执行相应的操作,最后记录其运行结果out,vout>对。
  3 SMK-means算法的并行化实现方法
  3.1 SMK-means算法的基本思路
  K-means算法是一种经典的文本聚类算法,初始聚簇中心选择的好坏与否直接影响聚类的性能,也就是说初始聚簇中心与真实的聚簇中心越接近,K-means算法的聚类准确度就会越高。SMK-means算法是在传统K-means算法的基础上进行了改进,它通过选择合适的初始中心点来获得较为理想的分析结果。SMK-means算法的改进部分就是通过计算相似度矩阵选取初始聚簇中心,初始聚簇中心选择的过程中用到的计算包括对矩阵的行求和与排序。相比较传统K-means算法易受初始聚簇中心选择的影响,导致多次运行的结果差别很大,即使结果簇相对比较稀疏,SMK-means算法也能得到较好的分析结果,同时还能够降低噪声和孤立点这类数据对分析结果造成的影响。
  3.2 SMK-means算法的MapReduce并行化方法
  SMK-means算法基于MapReduce的并行化步骤如下:
  1)计算相似度矩阵,通过运算相似度矩阵选取K个初始聚簇中心。
  2)将数据集解析为行的表达形式,然后由MapReduce模型完成对数据集的分割。
  3)为各个数据点分配聚簇,该过程的并行化由Map函数执行。Map函数的输入输出的数据格式分别为<序号,数据向量>和<聚簇标号,数据向量>,其中输入的数据为全部数据点和上一轮迭代输出的聚簇中心(或初始聚簇中心)。运行过程中Map函数通过计算数据点与聚簇中心之间相似度将相似度最大的聚簇设置为数据点的类别标签,然后输出计算结果。Map函数的伪代码如图1所示。
  4)计算各个聚簇中数据点的均值來更新聚簇中心,该过程的并行化由Reduce函数执行。Reduce函数输入输出的数据格式为<聚簇标号,{数据向量}>和<聚簇标号,聚簇中心向量>。在运行过程中Reduce函数把数据按照其被分配的聚簇进行整合,使得属于同一聚簇的数据被同一个Reduce函数接收,然后聚簇中心更新为聚簇数据点的均值。Reduce函数的伪代码如图2所示。
  5)计算更新前后聚簇中心的距离,用以确定算法结束与否。此过程只需由一个Reduce函数来执行。运行过程中首先计算更新前后聚簇中心的距离,然后将此距离与阀值进行比较,当两者的距离比阀值小时,则算法结束,否则转回3。
  4实验与结果分析
  在实验过程中,本文所选用的数据集为北京大学的人民日报语料库。
  4.1 F值对比分析
  为验证MapReduce框架下SMK-means算法的仍能保持较高的聚类F值,将其与DE K-means算法、Filtering算法、K-means算法和SMK-means算法做了比较。实验中,随机地从语料的娱乐类、体育类、文化类、科技类、经济类和政治类数据中各取20,000篇。实验结果如表1所示。
  表1的结果表明,并行化SMK-means算法的聚类F值明显高于DE K-means算法、和K-means算法的F值,与Filtering算法相比其F值也有一定程度的提高。更重要的是,经过MapRe-duce分布模型并行化处理的SMK-means算法所获得的F值与未经过并行化处理的SMK-means算法的F值属于同一个级别,差别很小,这就说明了经过MapReduce分布模型并行化处理的SMK-means算法仍能保持较好的聚类性能。
  4.2聚类时间开销对比分析
  为验证MapReduce框架下SMK-means算法的运行效率得到了大幅度提高,将其与DE K-means算法、Filtering算法、K-means算法和SMK-means算法做了比较。实验结果如图3所示。
  图3的结果表明,并行化的SMK-means算法的运行效率最快,Filtering算法具有最高的时间开销,与SMK-means算法和DE K-means算法相比,K-means算法的运行时间要短一些。由于DE K-means算法、Filtering算法和SMK-means算法这三种算法均是在K-means算法的基础上进行的改良,计算复杂度相应的增加,因此运行时间变长了。尽管SMK-means算法在提高聚类准确度的同时一定程度上降低了运行效率,但是经过MapReduce分布模型并行化处理后大幅度缩短了运行时间,这就说明了经过MapReduce分布模型并行化处理的SMK-means算法确实可以提升运行效率。
  总之,对SMK-means算法进行MapReduce并行化处理是一种有效的方式,它在保持较高的聚类F值的同时还大幅度地提升了运行效率。
  5结束语
  为了提高基于相似度矩阵的K-Means算法(SMK-means)处理大数据的能力,本文对其进行了并行化处理。文中使用MapReduce分布式编程模型,并结合SMK-means算法自身的特点,对相应的Map函数和Reduce函数进行了设计。通过实验证明了系统的有效性,对SMK-means算法的并行化处理是一种有效的方式。实验结果也表明了它在保持较高的聚类F值的同时还大幅度地提升了运行效率。
其他文献
摘要:根据汉字由字根组成,字根由笔画组成,而笔画是汉字最基本的组成元素这一特点,采用笔画编码、字根与数字构图以及字根相似助记五笔字根的方法,以使每个五笔字根都能与相应的数字键盘键位建立直观、形象、易于联想的紧密联系的关系,从而达到事半功倍、快速持久的记忆效果。同时,用户使用数字编码的五笔字型去联想记忆中华汉字,达到以形判意。  关键词:五笔字根;五笔技能;数字编码  中图分类号:G633.67 文
摘要:以一种MSP430为核心处理器的低成本、智能化的指纹自行车锁系统。该系统解决传统自行车锁存在着的操作不便,安全性欠佳等问题所设计的。借用智能手机上的指纹识别模块来担负指纹采集、对比、搜索等功能,选用HC05蓝牙通讯模块为指纹锁与手机建立可靠连接。与此同时,本文提出了密码指纹并行解锁方案与蜂鸣器自动报警方案。最后,在电路设计与软件方面进行了的低功耗设计。实际测试结果表明,本智能化指纹车锁系统使
摘要:产品质量安全是发展质量的基础,关系到国计民生,关系到人的健康和安全,它是社会公共利益的重要组成部分。因此质量安全一直以来是质量监管部门的重点。质量风险信息采集是质量安全监管工作的前提。本文研究基于大数据技术的质量风险信息采集與应用技术。  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)32-0254-02  1 建设的意义、目的  2016年4月国务院办公厅
摘要:随着大数据时代的到来,Python语言越来越凸显出它的优势。Python丰富的工具包让它在科学计算、文件处理、数据处理、数据可视化等领域越来越凸显其价值。使用Python处理学校一卡通消费信息,得到可视化图像能让我们从数据中发现学生的消费水平、消费习惯等隐藏的信息。通过对这些数据进行统计、分析,可以对一卡通用户的消费有一个整体的把握,对具体的消费行为也有一个精准的判断,这不仅可以为以后的一卡
摘要:随着全球信息化、网络化的发展,信息素养已成为当代人全面发展的一项基本内涵。大学生作为国家的未来,民族的希望,更应在培养其信息素养这一工作上费心思、下功夫。当前,我国大学生普遍存在信息知识匮乏、信息道德低下的尴尬处境,该文在基于正确认识和对待图书馆之于提升大学生信息素养这一场所育人领域中的优势与困难,结合西安建筑科技大学实际,提出了及早树立意识、完善交流机制和改善教育模式这三项思考对策。  关
摘要:该文介绍一种全新的网络运营模式,既能做到校园网的可管、可控和统一管理,实现“网络覆盖、数据畅通、应用可靠、服务贴心”,又能提高校务服务和管理的效率,促进教学科研的发展,为高校“十三五”信息化建设提供良好的基础保障。  关键词:校园网;统一平台;运营商;SAM  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)30-0278-03  Abstract: This
摘要:基于3DSMax软件平台,采用AutoCAD图纸、数码影像等工具实现对校园建筑模型的操作,以铜仁学院图书馆建模为例。研究基于3DS Max创建校园三维模型的多边形建模方法,具体叙述创建校园三维模型的流程,探讨如何编辑Auto-CAD图纸及快速建模的方法,为初涉3DSMax的用户提供可操作性的参考。最后,通过对铜仁学院图书馆建模的实例,分析矢量数据处理及导入数据时的注意事项,对以后初涉者具有一
摘要:该文以网络技术专业局域网组建课程的实践教学改革实施为例,在探讨了实践教学与理论教学的关系及实践教学中存在问题的基础上,对实践教学实施流程进行了深入研究,并将研究结果应用到教学中。  关键词:局域网组建;实践教学革;层次化  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)29-0139-03  Abstract: In this paper, with the
摘要:近年来,推荐系统被广泛认为是解决“信息过载”及“信息迷航”的一个有效工具。多准则评分比单一整体评分具有更为丰富的用户个性化偏好信息,但传统的多准则推薦系统研究未考虑到用户兴趣漂移的情况。针对这一问题,本文将时间信息与基于用户的多准则协同过滤算法相结合,在多准则算法中引入基于遗忘规律的艾宾浩斯遗忘曲线拟合用户兴趣漂移,修正用户之间的相似度计算结果。实验结果表明,与传统的多准则协同过滤算法相比,
摘要:随着职业教育教学方法的改革和现代化教育技术手段的广泛应用, 学生在教学关系中的主体地位越来越重要。如何让学生利用课余时间来全面提高自己的素质?笔者从实际出发,探索以社团带动学生的专业发展这条教学新路径。通过创建一个学术性、技能型的社团,让学生在共同学习中得到知识的补充和技能的提升,在集体活动中得到性情的陶冶和精神的愉悦。  关键词:网站开发;学生;技能;社团;管理  中图分类号:G424 文