一种基于并行计算技术的K-means单属性聚类算法处理机的制作方法

文档序号:6599807阅读:161来源:国知局
专利名称:一种基于并行计算技术的K-means单属性聚类算法处理机的制作方法
技术领域
本发明涉及聚类算法领域,尤其是一种基于并行计算技术的K-means单属性聚类 算法处理机。
背景技术
K-means聚类算法是一个经典的聚类算法,大量应用于数据挖掘中。尽管K-means聚类算法是个非常高效的聚类算法,但对大规模海量数据进行聚类 时,仍然存在着计算时间长,不能及时提供计算结果的问题。为了解决这个问题,有大量的研究者从并行计算方面着手,希望利用超级计算机 的多处理器机制,来解决上述问题。但是,由于K-means聚类算法十分经典,其算法并不适 合进行并行处理,导致很多并行处理效率低下,其在多个CPU的情况下,加速比只能维持在 1. 2-1. 8 左右。聚类分析是发现数据在相似性方面的联系,即数据的聚集模式。它是一种重要的 人类行为,目前已经广泛地应用于统计学、机器学习、空间数据库、生物学和市场研究等领 域,它正在蓬勃发展,且已经成为数据挖掘研究领域中一个非常活跃的研究课题。聚类挖掘 方法有划分方法、层次方法、基于密度的方法、基于网格的方法、基于模型的方法。其中,基 于划分方法的K-means方法是由Mac Queen最早提出并且最广泛使用的。目前,世界上有 很多人在进行K-means聚类算法的研究。K-means算法比较简单,首先随机选取k个初始质心,其中k是想要划分的簇的个 数(聚类个数),每个点指派到最近的质心,指派到一个质心的所有点的集合构成一个簇, 接下来根据指派到簇的点,更新每个簇的质心,重复指派和更新过程,直到簇不发生变化或 者质心不发生变化。当结果簇是密集的且簇与簇之间的区别明显时,K-means方法的效果 较好,对于较大数据集该算法具有较高的效率和相对的可伸缩性。虽然K-means方法具有上述优点,但在应用中越来越多的研究者发现该算法存在 一些缺陷,主要有必须事先给出簇的数目,增加了用户的负担;并且聚类结果随初始质心 的不同而不一样,有时甚至出现无解的情况;不适用于有分类属性的数据;不适用于结果 簇差别很大的数据集;对噪声点和孤立点很敏感;后期收敛速度较慢;通常以局部最优结 束;只能发现球状簇。许多文献提出了针对K-means算法的改进方法,归纳起来主要有结合遗传算法 的改进,结合免疫算法的改进,结合群智能的改进,结合模拟退火的改进。如Manish Sarkar 等人把进化算法思想引入聚类算法中提出了基于进化编程的聚类算法;Mali采用了聚类 中心的浮点编码方式,设计了浮点数交叉和变异算法,提高了遗传聚类算法的搜索效率; Forgy提出了随机选点的方法,也可以凭借经验选取有代表性的点作为初始聚类中心; P. S. Bradley和UsamaM. Fayyad提出了基于取样的方法来确定初始聚类中心;Babu GP等人 根据遗传算法的原理提出以K均值算子来代替遗传算法中的交叉算子,提出了一种混合遗 传聚类算法;刘静,钟伟才等提出的免疫进化聚类算法;行小帅等提出的基于免疫规划的K-means聚类算法;刘靖明,韩丽川等提出了基于粒子群的K均值聚类算法。近年来,DavidArthur 和 Sergei Vassilvitskii 提出 K-means++算法。该算法依次迭代选取新的质心点,使得新选取的质心点比已选取的质心点更接近聚类中心,直到K 个质心点全部选取为止,然后再用传统的K-means算法进行计算。但是,该算法需要较多的 迭代次数,才可以取得近似最优解。虽然,现在科研人员提出了几种并行化方案,但是其大多效率比较低下,难以取得 让人满意的加速比。此外,现有技术的缺点可以是成本高,效率低,耗时间等类似问题。

发明内容
本发明的目的是,针对现有技术的上述不足,提供一种基于并行计算技术的 K-means单属性聚类算法处理机,解决了上述技术存在的不足,以串行计算的方式对 K-means聚类算法进行根本改进,提高其计算效率,并在该串行算法的基础上,进一步实现 了并行化处理,是一种成本低,效率高,数据处理速度快的新技术。为了达到上述设计目的,本发明采用的技术方案如下一种基于并行计算技术的K-means单属性聚类算法处理机,由网络交换机、管理 与控制单元、数据预处理单元和并行计算单元组成,所述网络交换机上并列连接管理与控 制单元、数据预处理单元和并行计算单元,管理与控制单元、数据预处理单元和并行计算单 元之间的数据通信通过网络交换机进行;其工作方法为将原来无法使用数据分割并行计 算的数据经数据预处理单元进行预处理,使得改造后的数据具有适合数据分割并行计算的 形式,并将算法与并行计算机相结合,形成一个基于并行计算技术的K-means单属性“左右 互博”聚类算法处理机。其工作原理为用排序法将待处理数据从小到大依次排列,计算出初始质心后,将 数据按照质心点进行分割,原来循环一次需要处理所有数据的算法,变成了只需要处理左 右互博争夺区中的数据。所述的数据预处理单元是在将数据排序后,按照从小到大的顺序依次排列,划分 成2K个半区,最左边的半区和最右边的半区不参与计算,剩余的2K-2个半区,两相邻质心 点争夺处于其之间的数据,那个数据距离自己比距离对方更近,该数据就被划分给该质心
点ο所述的预处理模块的具体过程为1、输入需要进行聚类分析的单属性数据,给出聚类个数K。2、对这些数据进行排序,并计算出其最大、最小、平均值。3、根据其最大、最小、平均值,计算出各个质心的初始值。4、以这些质心点为界,质心点中最小值的左半边和质心点最大值的右半边不参与计算。5、将剩余的数据以质心点为界,分成K-I个区,在每个区中进行以两边质心点为 参考的聚类计算,得出各个半区的聚类结果。6、将各个半区的数据合成一个,重新计算新的质心点。7、进行精度判断,如果满足要求,则结束计算,并给出计算结果;如果不满足要求 则继续第4步,直到满足要求为止。
本发明所述的基于并行计算技术的K-means单属性聚类算法处理机的有益效果 是1、采用基于“左右互博”的K-means聚类串行算法,比传统的串行K-means聚类算 法计算效率提高一倍多。2、采用基于“左右互博”的K-means聚类并行算法,与传统的K-means聚类并行算 法计算相比,计算效率大幅度提高。3、将一个算法划分为管理和控制单元、数据预处理单元和左右互博并行计算单 元,并分别分配到两个串行计算硬件系统和一个并行计算硬件系统,形成一个软、硬件结合 的高效率单属性并行K-mean “左右互博”聚类算法处理机。降低了使用成本,提高了效率, 缩短了数据处理时间。


图1是本发明所述的基于并行计算技术的K-means单属性聚类算法处理机的示意 图;图2是本发明所述的基于并行计算技术的K-means单属性聚类算法处理机的原理 图。图中1、网络交换机;2、管理与控制单元;3、数据预处理单元;4、并行计算单元。
具体实施例方式如图1所示,所述的基于并行计算技术的K-means单属性聚类算法处理机,主要由 网络交换机1、管理与控制单元2、数据预处理单元3和并行计算单元4组成,所述网络交换 机1上并列连接管理与控制单元2、数据预处理单元3和并行计算单元4,管理与控制单元 2、数据预处理单元3和并行计算单元4之间的数据通信通过网络交换机1进行。所述管理 与控制单元2负责并行计算任务的接受、待处理对象数据的接受、任务的划分管理及协调、 收据的接受、计算结果的返回等工作;所述数据预处理单元3负责数据的预处理,包括数据 的排序、平均值、最大值、最小值的计算、初始质心点的计算等,并将预处理结果提交给管理 与控制单元2 ;所述并行计算单元4接受管理与控制单元2下发的数据,并按照相关参数进 行计算,然后将计算结果返回给管理与控制单元2 ;管理与控制单元2、数据预处理单元3和 并行计算单元4相互配合,构成了基于并行计算技术的K-means单属性“左右互博”聚类算 法处理机。其工作方法为将原来无法使用数据分割并行计算的数据经数据预处理单元3进行预处理,使得改造后的数据具有适合数据分割并行计算的形式,并将算法与并行计算机 相结合,形成一个基于并行计算技术的K-means单属性“左右互博”聚类算法处理机。由于 本发明将传统K-means聚类算法进行了根本性的改造,而且与并行计算的硬件相结合,其 结果不但可以实现高效率的并行计算,即使在串行计算中,改造后的算法也大大提高了其 计算效率。如图2所示,其工作原理为用排序法将待处理数据从小到大依次排列,计算出初 始质心后,将数据按照质心点进行分割,原来循环一次需要处理所有数据的算法,变成了只 需要处理左右互博争夺区中的数据,数据处理量明显减少,使得该算法不但在改进后的串行算法比传统的串行算法计算效率提高一倍多,并且在改进后的并行算法同样大幅度提高 了算法的计算效率。将算法划分为管理和控制单元、数据预处理单元和并行计算单元,并分 别分配到两个串行计算硬件系统和一个并行计算硬件系统,形成一个软、硬件结合的高效 率单属性并行K-mean “左右互博”聚类算法处理机。所述数据预处理单元该部分主要负责将给定的数据进行排序、计算出平均值和最大最小值、计算出初始质心点,该部分划分给一个串行硬件计算单元,形成数据预处理单兀。所述并行计算单元将排序后的数据和初始质心点放在并行计算机上进行计算, 利用“左右互博”的方式进行划分数据,得出各个质心点所划分的数据集,该部分划分给一 个并行计算硬件单元,形成左右互博并行计算单元。所述管理和控制单元该部分负责数据的输入和输出、其它计算单元的调度、数据 的整合、计算结果的判断等工作,该部分分配给一个串行硬件计算单元,形成管理与控制单兀。所述的数据预处理单元是在将数据排序后,数据按照从小到大的顺序依次排列, 划分成2K个半区,由于最左边的半区和最右边的半区没有质心点与其争夺,可以不参与计 算,剩余的2K-2个半区,左边的质心点与相邻右边的质心点争夺处于两个质心点之间的数 据,那个数据距离自己比距离对方更近,该数据就被划分给该质心点。所述的预处理模块的具体过程为1、输入需要进行聚类分析的单属性数据,给出聚类个数K。2、对这些数据进行排序,并计算出其最大、最小、平均值。3、根据其最大、最小、平均值,计算出各个质心的初始值。4、以这些质心点为界,质心点中最小值的左半边和质心点最大值的右半边不参与计算。5、将剩余的数据以质心点为界,分成K-I个区,在每个区中进行以两边质心点为 参考的聚类计算,得出各个半区的聚类结果。6、将各个半区的数据合成一个,重新计算新的质心点。7、进行精度判断,如果满足要求,则结束计算,并给出计算结果;如果不满足要求 则继续第4步,直到满足要求为止。本具体实施方式
只是本发明的优选实施例,并不能对本发明进行限定,具体权利 范围由权利要求书限定。
权利要求
一种基于并行计算技术的K-means单属性聚类算法处理机,其特征在于由网络交换机、管理与控制单元、数据预处理单元和并行计算单元组成,所述网络交换机上并列连接管理与控制单元、数据预处理单元和并行计算单元,管理与控制单元、数据预处理单元和并行计算单元之间的数据通信通过网络交换机进行。
2.根据权利要求1所述的基于并行计算技术的K-means单属性聚类算法处理机,其特 征在于其工作原理为用排序法将待处理数据从小到大依次排列,计算出初始质心后,将 数据按照质心点进行分割,原来循环一次需要处理所有数据的算法,变成了只需要处理左 右互博争夺区中的数据。
3.根据权利要求1或2所述的基于并行计算技术的K-means单属性聚类算法处理机, 其特征在于所述的数据预处理单元是在将数据排序后,按照从小到大的顺序依次排列,划 分成2K个半区,最左边的半区和最右边的半区不参与计算,剩余的2K-2个半区,两相邻质 心点争夺处于其之间的数据,那个数据距离自己比距离对方更近,该数据就被划分给该质 心点。
4.根据权利要求3所述的基于并行计算技术的K-means单属性聚类算法处理机,其特 征在于所述的预处理模块的具体过程为一、输入需要进行聚类分析的单属性数据,给出聚类个数K;二、对这些数据进行排序,并计算出其最大、最小、平均值;三、根据其最大、最小、平均值,计算出各个质心的初始值;四、以这些质心点为界,质心点中最小值的左半边和质心点最大值的右半边不参与计算;五、将剩余的数据以质心点为界,分成K-I个区,在每个区中进行以两边质心点为参考 的聚类计算,得出各个半区的聚类结果;六、将各个半区的数据合成一个,重新计算新的质心点;七、进行精度判断,如果满足要求,则结束计算,并给出计算结果;如果不满足要求则继 续第四步,直到满足要求为止。
全文摘要
本发明公开了一种基于并行计算技术的K-means单属性聚类算法处理机,由网络交换机、管理与控制单元、数据预处理单元和并行计算单元组成,所述管理与控制单元、数据预处理单元和并行计算单元之间的数据通信通过网络交换机进行;其工作方法为将并行计算的数据经数据预处理单元进行预处理,改造后的数据具有适合数据分割并行计算的形式,并将算法与并行计算机相结合;所述的数据预处理单元是在将数据排序后,按照从小到大的顺序依次排列,划分成2K个半区,最左边的半区和最右边的半区不参与计算,剩余的2K-2个半区,相邻两质心点争夺处于其之间的数据,那个数据距离自己比距离对方更近,该数据就被划分给该质心点。
文档编号G06F15/16GK101819563SQ20101013332
公开日2010年9月1日 申请日期2010年3月26日 优先权日2010年3月26日
发明者廖玉芳, 杜东升, 白树仁, 谢健, 赵福华, 马亿旿 申请人:湖南省气候中心;湖南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1