一种可交互的大数据并行k-means聚类方法技术

技术编号:20161138 阅读:49 留言:0更新日期:2019-01-19 00:13
本发明专利技术提供一种可交互的大数据并行k‑means聚类方法,本发明专利技术是一种可交互的大数据并行k‑means聚类方法,主要应用在针对大数据集的k‑means聚类,把一个大数据集分割成不同的类,使得同一个类里面的数据对象之间的相似性尽可能的大,同时不在同一个类里面的数据对象之间的差异性尽可能的大,本发明专利技术可提高针对大数据集的k‑means聚类处理的响应时间,另外,在聚类过程中,用户可通过给定聚类差别值约束条件对聚类过程进行干预,本发明专利技术根据类别差异度调整迭代次数,得到满足用户给定聚类差别值约束条件的聚类结果。

【技术实现步骤摘要】
一种可交互的大数据并行k-means聚类方法
本专利技术属于数据挖掘
,具体涉及一种可交互的大数据并行k-means聚类方法。
技术介绍
聚类分析是计算机科学及相关领域中的一个基础问题,在数据挖掘、模式识别、网络、生物信息等许多领域有着广泛的研究和应用。聚类分析就是按照某个特定标准(如距离准则)把一个数据集分割成不同的类,使得同一个类里面的数据对象之间的相似性尽可能的大,同时不在同一个类里面的数据对象之间的差异性尽可能的大。即聚类之后,使得同一类的数据尽量聚集到一起,不同类的数据尽量分离。在许多应用中需要对网页按照其内容进行聚类,或者对用户按照其行为进行聚类。例如,在社交网络中将具有某种关系准则联系在一起的人们划分为一个群体,然后可以针对这个群体预测其购买行为,设计针对性的营销方案等。随着互联网的飞速发展和数据的急剧增长,网络图以及社交网络图变得越来越大,例如,网络图可能包含数万亿条边。聚类计算任务所面临的数据规模越来越庞大,以至于单个节点无法满足数据存储,基于单节点单进程的串行执行方法已不可用。因此,设计云环境下的分布式k-means算法成为了目前亟需解决的问题。K-means算法从n个数据对象中随机地选取k个对象作为初始聚类中心,这就导致了聚集结果的好坏以及算法的效率直接受到初始聚类中心选择的影响。K-means算法是最为经典的基于划分的聚类方法,其基本思想是:选取n个数据对象中的k个作为初始聚类中心,对数据集中剩余的每个对象,根据其与各个聚类中心的距离将每个对象划分到最近的类簇中。重新计算每个聚类的均值,更新聚类中心的值。重复这一过程,直到标准准则函数收敛为止。通常采用误差平方和准则函数作为聚类准则函数,误差平分和函数定义为:其中V是数据集中对象与所在类簇的中心的平方差的总和。V越大说明类簇内的对象与中心的距离越大,类簇内的相似性就越低,反之则说明类簇内的相似性就越高。k是类簇的个数,x是类簇内的一个对象,Si表示第i个类簇,μi是Si类簇的聚类中心。MapReduce云计算框架是当下驾驭大型计算机集群能力的一种流行方式。MapReduce以数据为中心的思想,使得程序员只需要专注于应用到数据记录集上的转换操作,而关于分布式计算、网络通信、容错等细节统统交由MapReduce框架进行处理。在MapReduce计算框架下,程序员需要将计算表达为一系列的任务。任务的输入规定了产生key-value对的规范。每个任务都包括了两个阶段——map阶段和reduce阶段。第一阶段map,使用用户自定义的map函数对每条输入记录进行处理,产生一系列的中间结果key-value对。第二阶段reduce,map将具有相同key值的中间结果key-value对输出给同一个reduce,使用用户自定义的reduce函数对相同key值的中间values进行处理。MapReduce能够自动将这些函数执行并行化,并保证容错。在k-means算法中,计算样本集中对象与聚类中心之间距离这个基本操作是最为耗时的部分。由于样本集中某个对象与k个聚类中心进行距离比较的同时,样本集中其他对象也可以与k个聚类中心进行距离比较。因此,这个基本操作很容易并行化处理。基于MapReduce框架的k-means聚类算法思想:一个MapReduce任务对应了串行k-means算法的一次迭代过程。在Map阶段,进行样本集中数据对象与k个聚类中心的距离比较,在Reduce阶段进行新的聚类中心的计算。
技术实现思路
本专利技术的目的是提供一种可交互的大数据并行k-means聚类方法,能高效地找出大数据集的聚类结果,使得同一个类里面的数据对象之间的相似性尽可能的大,同时不在同一个类里面的数据对象之间的差异性尽可能的大。本专利技术提供了如下的技术方案:一种可交互的大数据并行k-means聚类方法,包括以下步骤:S1:面向大数据的初始聚类中心选择:对数据集进行随机采样,并使得采样的数据能够保留原始数据集中数据分布的特征;S2:基于聚类中心进行数据划分:把一个数据集分割成不同的类,使得同一个类里面的数据对象之间的相似性尽可能的大,同时不在同一个类里面的数据对象之间的差异性尽可能的大;S3:聚类中心重计算:基于MapReduce计算框架,重计算的结果首先写入内存,当内存满时,再写入硬盘,直接进入下一轮的迭代运算,进行聚类中心的重计算;S4:聚类中心重计算后,新的聚类中心集合和聚类偏差写入分布式共享内存中,若当前聚类偏差小于用户给定的偏差,则终止迭代运算。优选的,所述S1中面向大数据的初始聚类中心选择包括以下步骤:S11:对于数据集V中每个点p,产生R个随机数{v1,...vR};S12:{v1,...vR}中vi,若vi大于概率q,则将p点放入第i个样本中;S13:产生R个采样样本,混洗到R个Reduce任务中;S14:对每个样本进行k-means聚类,得到聚类中心;S15:计算R组聚类中心的误差平方和,选择结果最小的一组聚类中心作为初始聚类中心。优选的,所述S2中基于聚类中心进行数据划分包括以下步骤:(1)min-distance=MAXDISTANCE;(2)foreachpointpinVdo;(3)for(i=0;i<k;i++)do;(4)if(distance(p,c[i])<min-distance);(5)min-distance=distance(p,c[i]);(6)cID=i;(7)Emit(p,cID);优选的,所述S3中聚类中心重计算包括以下步骤:(1)foreachpointpinaclusterdo;(2)Num++;(3)for(i=0;i<dimension;i++)do;(4)sum[i]+=p[i];(5)for(i=0;i<dimension;i++)do;(6)newmean[i]=sum[i]/Num;(7)Emit(cID,newmean)。优选的,所述S3-S4的聚类过程中,用户通过分布式共享内存获取聚类结果和实时的聚类中心,根据这些数据和领域知识实时调整用户给定的偏差,得到满足用户给定的偏差的聚类结果。本专利技术的有益效果是:在基于采样的初始聚类中心的选取过程中,由于采样的数据样本远远小于原始数据集,因此迭代的次数很少,执行速度很快。当原始数据集的数据量非常大时,基于采样选取初始聚类中心的时间可以忽略不计,在面向大数据的计算模型中,由多个计算节点协同完成k-means聚类算法。假定每个计算节点完成M个任务,则面向大数据计算框架的k-means聚类算法的时间复杂度为k×n×i×O/M。但由于基于采样的初始聚类中心算法所选取的初始聚类中心比随机选取的初始聚类中心更接近真正数据分布的聚类中心,因此迭代次数i的值将会大大降低,算法的时间复杂度也会降低,算法的执行效率将会更高;在基于MapReduce计算框架的k-means算法中,每一次的迭代过程均需要在Map阶段从HDFS读取整个数据集,在Reduce阶段需要将最终结果写入到HDFS中,由于HDFS读写是基于磁盘的,因此读写速度相对较慢,而且HDFS中写入数据都是默认写三份的。每次迭代产生的结果只是中间结果,并不需要本文档来自技高网
...

【技术保护点】
1.一种可交互的大数据并行k‑means聚类方法,其特征在于,包括以下步骤:S1:面向大数据的初始聚类中心选择:对数据集进行随机采样,并使得采样的数据能够保留原始数据集中数据分布的特征;S2:基于聚类中心进行数据划分:把一个数据集分割成不同的类,使得同一个类里面的数据对象之间的相似性尽可能的大,同时不在同一个类里面的数据对象之间的差异性尽可能的大;S3:聚类中心重计算:基于MapReduce计算框架,重计算的结果首先写入内存,当内存满时,再写入硬盘,直接进入下一轮的迭代运算,进行聚类中心的重计算;S4:聚类中心重计算后,新的聚类中心集合和聚类偏差写入分布式共享内存中,若当前聚类偏差小于用户给定的偏差,则终止迭代运算。

【技术特征摘要】
1.一种可交互的大数据并行k-means聚类方法,其特征在于,包括以下步骤:S1:面向大数据的初始聚类中心选择:对数据集进行随机采样,并使得采样的数据能够保留原始数据集中数据分布的特征;S2:基于聚类中心进行数据划分:把一个数据集分割成不同的类,使得同一个类里面的数据对象之间的相似性尽可能的大,同时不在同一个类里面的数据对象之间的差异性尽可能的大;S3:聚类中心重计算:基于MapReduce计算框架,重计算的结果首先写入内存,当内存满时,再写入硬盘,直接进入下一轮的迭代运算,进行聚类中心的重计算;S4:聚类中心重计算后,新的聚类中心集合和聚类偏差写入分布式共享内存中,若当前聚类偏差小于用户给定的偏差,则终止迭代运算。2.根据权利要求1所述的一种可交互的大数据并行k-means聚类方法,其特征在于,所述S1中面向大数据的初始聚类中心选择包括以下步骤:S11:对于数据集V中每个点p,产生R个随机数{v1,...vR};S12:{v1,...vR}中vi,若vi大于概率q,则将p点放入第i个样本中;S13:产生R个采样样本,混洗到R个Reduce任务中;S14:对每个样本进行k-means聚类,得到聚类中心;S15:计算R组聚类中心的误差平方和,选择结果最小的一组聚类中心作为初始聚类中心。3.根据权利要求1所述的一种可交互的大数据并行k-...

【专利技术属性】
技术研发人员:刘亮张小峰方黎明瞿靓何汉邵中波章鹏程
申请(专利权)人:南京中一物联科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1