CN102663141B - 一种基于多核并行的多路量化分级聚类方法 - Google Patents
一种基于多核并行的多路量化分级聚类方法 Download PDFInfo
- Publication number
- CN102663141B CN102663141B CN201210153891.5A CN201210153891A CN102663141B CN 102663141 B CN102663141 B CN 102663141B CN 201210153891 A CN201210153891 A CN 201210153891A CN 102663141 B CN102663141 B CN 102663141B
- Authority
- CN
- China
- Prior art keywords
- data
- cluster
- parallel
- algorithm
- sampling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开一种基于多核并行的多路量化分级聚类方法,包括如下步骤:1.对原始数据进行分级采样;2.应用K-均值聚类算法对第一级采样数据进行聚类;3.在并行框架下应用多路量化方法把下级采样数据量化到当前级的所有中心上;4.在并行框架下应用自适应K-均值聚类算法对当前级量化后的分组数据分别进行聚类;5.合并当前级各分组中的聚类中心成为一类大的中心。本发明的方法应用了分级采样、并行自适应聚类的方法,从而减少了聚类时间,而且本发明的方法应用了多路量化的方法提高了聚类的精度。
Description
技术领域
本发明属于聚类分析技术领域,涉及一种基于多核并行的多路量化分级聚类方法。
背景技术
近年来,计算机技术和通信技术的发展给人类文明带来了巨大的变化,人们能够以更快速、更方便的方式获取数据;并且这一势头仍将持续快速的发展下去,使得数据量呈指数级增长。但在拥有大规模数据的同时,我们对数据中所蕴涵的信息缺乏充分的理解和应用,应用传统的数据分析手段已经不能满足现在的数据分析和处理的要求。数据库中蕴藏的丰富信息得不到充分的发掘和利用,使我们陷入了一个数据丰富,信息匮乏的尴尬境地。人们迫切需要强有力的数据分析工具从繁杂的大规模数据中挖掘有用的信息,帮助人们进行决策和研究,从而产生巨大的信息价值。
聚类分析作为一项实用技术,已经被广泛应用于多个领域,如模式识别、信息检索、图像处理、数据分析和市场研究等。一般的聚类算法,能够有效的处理维度低,数量少的数据集,但是随着数据量增大,维数增多,很多聚类算法从计算能力,内存消耗上都超出了普通计算机的能力,无法再进行处理。随着数据库技术和互联网的发展,大规模数据越来越多,对大规模数据的聚类分析也越来越热。但如何有效聚类大规模数据,这就给研究人员带来了机遇和挑战。目前,分级聚类和并行聚类的方法是解决这一难题的有效方法。
HKM算法(D.Nist′er and H.Stew′enius.Scalable recognition with avocabulary tree.In Proc.CVPR,2006.)是一种自上而下基于划分的分级K-means(J.MacQueen,Some methods for classification and analysis ofmultivariate observations.Proc.5th Berkeley Symp.Math.Statist.Prob.,1967,1:281-297)聚类方法,由于采用了分级的方法使得该算法效率很高、适合大规模数据聚类,因此被广泛用于大规模的图像、视频检索等领域。并行计算机提供了良好的运行环境,可以在大型数据集上高效地执行聚类算法。最近,人们越来越关心并行聚类算法。文献Clara Pizzuti and Domenico Talia,“P-AutoClass:Scalable Parallel Clustering for Mining Large Data Sets”,IEEETransactions on Knowledge and Data Engineering,vol.15,no.3,pp.629-641,2003.提出了一个并行版本的基于贝叶斯模型AutoClass系统来确定大型数据集中的最佳类。
发明内容
本发明解决的问题在于提供一种基于多核并行的多路量化分级聚类方法,能够在大规模的数据中快速、精确的聚类分析。
本发明是通过以下技术方案来实现:
一种基于多核并行的多路量化分级聚类方法,包括以下步骤:
1)对原始数据应用随机采样算法进行分级采样;
2)应用K-均值聚类算法对第一级采样数据进行聚类,当聚类中心数达到预设值时才进行下一步;
3)在并行框架下通过分级比较多路量化和多线程并行量化把下级采样数据量化到当前级的所有中心上;
4)在并行框架下应用自适应K-均值聚类算法对当前级量化后的分组数据分别进行聚类;
5)合并当前级各分组中的聚类中心成为一类大的中心。
所述对原始数据应用随机采样算法进行分级采样是对原始数据进行分级采样,采样级数由将要聚类的级数决定,采样数据的数据量逐级增加;
所述的分级采样是把分散在各文件中的原始数据读取出来存放在一个文件中,形成一个数据集,然后应用随机采样算法对该数据集进行分级采样。
所述随机采样算法是从N个数据中随机取出n个取样数据:
从第N-n+1条数据开始,设当前处理的是第t个数据(n+1≤t≤N),u是产生的一个随机数(u∈(0,t-1)),若u<n,则把第u个数据换成第t个数据;其中分级采样是应用随机采样算法采出m个样本数据集,最后一级Um的数据大小至少为原始数据的5%且不少于30倍总的聚类中心数。
所述的聚类中心数的预设值为10。
所述分级比较多路量化为:
对需要量化的数据从第一级中心开始向下逐级量化,并且每一级量化的过程中都选择l个最近的分支,在最后一级的l个分支中选择最近的一个作为最终的量化中心;基于当前级k个聚类中心,对下级采样数据以最近邻准则进行分类,所有的数据按照离k个聚类中心的距离的远近而划分成k个组;
多线程并行量化为:分级比较多路量化过程中根据SPMD并行原理,把需要量化的数据和计算任务进行划分,使多个CPU并行执行量化程序,并且每一个CPU都在不同的数据上运行相同的分级比较多路量化代码。
所述在并行框架下应用自适应K-均值聚类算法对当前级量化后的分组数据分别进行聚类,包括自适应K-均值聚类和多线程并行聚类,其中:
自适应K-均值聚类:对量化后的每个分组的数据文件,继续采用K-均值算法进行聚类,进一步划分成k组,k的大小由每个分组数据的大小确定;
多线程并行聚类:在对下级分组采用自适应K-均值聚类过程中根据SPMD并行原理,把需要聚类的分组数据和计算机任务进行划分,使多个CPU并行执行聚类程序,并且每一个CPU都在不同的分组数据上运行相同的聚类代码。
所述k的大小由每个分组数据的大小确定为:
其中,Corg为预先设定的本级聚类中心的总数,Ntem为分组数据的个数,Nsam为本级采样数据的个数。
所述合并当前级各分组中的聚类中心成为一类大的中心为:指把当前级的km个分组数据经再次K-均值算法聚类后的中心进行合并;每当K-均值算法聚类完成后,就将这k个聚类中心依次写入下级中心文件中,经km次聚类产生一个大的中心文件,共km+1个聚类中心。
与现有技术相比,本发明具有以下有益的技术效果:
本发明方案具有以下有益效果:
(1)多路量化和自适应K-均值聚类方法使聚类结果更精确、可靠;
(3)适用范围广泛,适用于模式识别、数据分析、图像处理和信息检索等需要对大规模数据进行聚类分析的领域。
附图说明
图1为本发明的处理流程图;
图2为本发明的GNPL量化路径示意图;
图3为本发明的并行量化流程示意图;
图4为本发明的并行聚类流程示意图。
具体实施方式
下面结合具体的实施例对本发明做进一步的详细说明,所述是对本发明的解释而不是限定。
如图1所示,为本发明对大规模数据进行高效聚类的流程示意图,包括以下执行步骤:
首先执行步骤01,在分级采样模块中应用随机采样算法对原始数据进行分级采样。所述对原始数据应用随机采样算法进行分级采样是对原始数据进行分级采样,采样级数由将要聚类的级数决定,采样数据的数据量逐级增加;
所述的分级采样是把分散在各文件中的原始数据读取出来存放在一个文件中,形成一个数据集,然后应用随机采样算法对该数据集进行分级采样。
随机采样算法是指从N个数据中随机取出n个取样数据:从第N-n+1条数据开始,做以下操作,设当前处理的是第t个数据(n+1≤t≤N),u是产生的一个随机数(u∈(0,t-1)),若u<n,则把第u个数据换成第t个数据。其中分级采样,是指应用随机采样算法采出m个样本数据集:
Ui,i=1,...,m,并且U1<U2<...<Um
最后一级Um的数据大小至少为原始数据的%5且不少于30倍总的聚类中心数。
其次执行步骤02,应用K-均值聚类算法对第一级采样数据进行聚类,这里设置初始聚类中心数k为10,即把第一级数据划分成10个类,这样就可以得到10个初始中心。
然后执行步骤03,判断分类级数m是否达到预先设定的值。如果不满足条件则继续进行步骤04,否则程序结束。
接下来执行步骤04,在并行框架下应用多路量化方法把下级采样数据量化到当前级的所有中心上,包括分级比较多路量化和多线程并行量化两个算法。
分级比较多路量化,是指对需要量化的数据从第一级中心开始向下逐级量化,并且每一级量化的过程中都选择l个最近的分支,在最后一级的l个分支中选择最近的一个作为最终的量化中心。这样基于当前级k个聚类中心,对下级采样数据以最近邻准则进行分类,所有的数据就可以按照离k个聚类中心的距离的远近而划分成k个组。
多线程并行量化,是指在分级比较多路量化过程中根据SPMD并行原理,把需要量化的数据和计算任务进行划分,使多个CPU并行执行量化程序,并且每一个CPU都在不同的数据上运行相同的分级比较多路量化代码。
接下来执行步骤05,在并行框架下应用自适应K-均值聚类算法对当前级量化后的分组数据分别进行聚类,包括自适应K-均值聚类和多线程并行聚类两个算法。
自适应K-均值聚类,是指对量化后的每个分组的数据文件,继续采用K-均值算法进行聚类,进一步划分成k组,k的大小由每个分组数据的大小自适应地确定。所谓自适应是指假如k值初始值为10,如果分组数据量大则k值会大一些,反之,k值会小一些,这样根据分组数据量的大小来自动确定k的大小;
多线程并行聚类,是指在对下级分组采用自适应K-均值聚类过程中根据SPMD并行原理,把需要聚类的分组数据和计算任务进行划分,使多个CPU并行执行聚类程序,并且每一个CPU都在不同的分组数据上运行相同的聚类代码。
然后执行步骤06,合并当前级各分组中的聚类中心成为一类大的中心是指把当前级的km个分组数据经再次K-均值算法聚类后的中心进行合并。每当K-均值算法聚类完成后,就将这k个聚类中心依次写入下级中心文件中,这样经km次聚类就产生了一个大的中心文件,共km+1个聚类中心。
在步骤04的分级多路量化方法中,进一步提出一个贪婪的多路径量化方法(GNPL),充分利用树的独有特性采用多路量化方法来帮助提高HKM聚类算法的准确性。
首先,数据项被额外地分配到一些内部节点上,这些内部节点的路径从树根到叶子每级都分成l(l≥1)个分支。然后,在最后一级的l个分支中选出最小距离的一个分支作为数据项的量化中心。
如图2所示的GNPL量化路径示例图,其中l=3。实验结果表明对于一个合适的分支数l,本方法能够非常有效地提高聚类效果。而如果l=1这个方法就退化成HKM中的量化方法了。
在步骤04的并行量化方法中,对GNPL方法进行并行化处理(即多线程并行量化)。由于在原有的HKM算法中,分级量化耗费近60%的时间,所以在这里采用并行的量化方法可以大大的提高算法的速度。并行量化流程示意图如图3所示:首先把当前级样本数据分成p份,这样每个CPU只须处理原样本数据的1/p就可以了;然后根据SPMD并行方式,让每个CPU在不同的数据上运行一个循环代码。在并行运行的过程中,各个CPU需要进行通信,以把所有的中间结果收集起来并计算全局结果。
进一步,在步骤05的自适应K-均值方法中,对量化后的每个分组的数据集,继续采用K-均值算法进行聚类,进一步划分成k组,但k的大小由每个分组数据的大小自适应地确定:
其中,Corg为预先设定的本级聚类中心的总数,Ntem为分组数据的个数,Nsam为本级采样数据的个数。如果分组数据量大则k值会大一些,反之,k值会小一些,这样根据分组数据量的大小来自动确定k的大小。
采用固定k值的分级K-均值算法进行聚类的过程中,由于数据的分布不均匀,容易出现过度划分的问题,即可能会出现某一个分组中的数据非常的少,不足以进一步聚类划分或者可以进一步聚类划分但其结果不精确。采用这种自适应K-均值算法进行进一步聚类划分可以解决这种过度划分的问题。
在步骤05的并行聚类方法中,对自适应K-均值方法进行并行化处理。由于在原有的HKM算法中,对分类数据使用K-均值聚类以产生下级类中心耗费了近39.8%的时间,所以在这里采用并行的自适应K-均值方法可以大大的提高算法的速度。并行聚类流程示例图如图4所示,首先,把当前级须要聚类的K个分类数据分成p份,这样每个CPU只须处理原样本数据的K/p就可以了。然后,根据SPMD并行方式,让每个CPU在不同的数据上循环运行自适应K-均值聚类代码。
对于一个大小为n的数据集,分级聚类的级数为m,分支数为k,指定的聚类中心数为K=km,迭代次数为t,多路量化参数为l,并行的CPU核心数为p,则本发明聚类方法的时间耗费可以这样计算:
1)K-均值聚类算法的时间复杂度为O(nKt);
2)HKM须要循环运行K-均值聚类算法,这个时间复杂度为O(nkt),分级量化的时间复杂度为O(nmk),所以HKM的时间复杂度为O(nkt+nmk);
3)基于多路量化的HKM的时间复杂度为O(nkt+nmkl);
4)基于多核并行的多路量化分级聚类方法(PNHKM)的时间复杂度为
本发明的方法在TRECVID的视频拷贝检测数据库上进行了测试。实验中对TRECVID2007数据库中的109个视频,总共提取的特征数据1600万,分5级聚10万类;对TRECVID2009数据库中的400个视频,总共提取的特征数据3200万,分6级聚100万类;对TRECVID2010数据库中的8000个视频,总共提取的特征数据6400万,分6级聚100万类。在以上三个数据库中对HKM、多路量化的HKM(NHKM)、并行的HKM(PHKM)以及基于多核并行的多路量化HKM(PNHKM)四种方法进行了对比实验,在同样参数配置的情况下所得出的性能对比如表1和表2所示。
表1.本发明方法与HKM、NHKM和PHKM的运行时间性能对比。
HKM | NHKM | PHKM | PNHKM | |
TRECVID2007 | 46.3h | 54.6h | 3.6h | 4.7h |
TRECVID2009 | 87.4h | 100.2h | 4.2h | 5.6h |
TRECVID2010 | 166.5h | 191.8h | 5.5h | 6.8h |
表2.本发明方法与HKM、NHKM和PHKM的检索精度性能对比。
HKM | NHKM | PHKM | PNHKM | |
TRECVID2007 | 0.920 | 0.973 | 0.920 | 0.973 |
TRECVID2009 | 0.897 | 0.954 | 0.897 | 0.954 |
TRECVID2010 | 0.861 | 0.947 | 0.861 | 0.947 |
从表1和表2的对比实验可以看出本发明中的方法在聚类参数设置相同的时候,不仅具有聚类质量的提升同时还能够大幅度提升聚类的速度。
Claims (6)
1.一种基于多核并行的多路量化分级聚类方法,其特征在于,包括以下步骤:
1)对原始数据应用随机采样算法进行分级采样;
2)应用K-均值聚类算法对第一级采样数据进行聚类,当聚类中心数达到预设值时才进行下一步;
3)在并行框架下通过分级比较多路量化和多线程并行量化把下级采样数据量化到当前级的所有中心上;
所述分级比较多路量化为:
对需要量化的数据从第一级中心开始向下逐级量化,并且每一级量化的过程中都选择l个最近的分支,在最后一级的l个分支中选择最近的一个作为最终的量化中心,其中l≥1;基于当前级k个聚类中心,对下级采样数据以最近邻准则进行分类,所有的数据按照离k个聚类中心的距离的远近而划分成k个组;
多线程并行量化为:分级比较多路量化过程中根据SPMD并行原理,把需要量化的数据和计算任务进行划分,使多个CPU并行执行量化程序,并且每一个CPU都在不同的数据上运行相同的分级比较多路量化代码;
4)在并行框架下应用自适应K-均值聚类算法对当前级量化后的分组数据分别进行聚类;
所述在并行框架下应用自适应K-均值聚类算法对当前级量化后的分组数据分别进行聚类,包括自适应K-均值聚类和多线程并行聚类,其中:
自适应K-均值聚类:对量化后的每个分组的数据文件,继续采用K-均值算法进行聚类,进一步划分成k组,k的大小由每个分组数据的大小确定;
多线程并行聚类:在对下级分组采用自适应K-均值聚类过程中根据SPMD并行原理,把需要聚类的分组数据和计算机任务进行划分,使多个CPU并行执行聚类程序,并且每一个CPU都在不同的分组数据上运行相同的聚类代码;
5)合并当前级各分组中的聚类中心成为一类大的中心。
2.如权利要求1所述的基于多核并行的多路量化分级聚类方法,其特征在于,所述对原始数据应用随机采样算法进行分级采样是对原始数据进行分级采样,采样级数由将要聚类的级数决定,采样数据的数据量逐级增加;
所述的分级采样是把分散在各文件中的原始数据读取出来存放在一个文件中,形成一个数据集,然后应用随机采样算法对该数据集进行分级采样。
3.如权利要求2所述的基于多核并行的多路量化分级聚类方法,其特征在于,所述随机采样算法是从N个数据中随机取出n个取样数据:
从第N-n+1条数据开始,设当前处理的是第t个数据(n+1≤t≤N),u是产生的一个随机数(u∈(0,t-1)),若u<n,则把第u个数据换成第t个数据;其中分级采样是应用随机采样算法采出m个样本数据集,最后一级Um的数据大小至少为原始数据的5%且不少于30倍总的聚类中心数。
4.如权利要求1所述的基于多核并行的多路量化分级聚类方法,其特征在于,所述的聚类中心数的预设值为10。
5.如权利要求1所述的基于多核并行的多路量化分级聚类方法,其特征在于,k的大小由每个分组数据的大小确定为:
其中,Corg为预先设定的本级聚类中心的总数,Ntem为分组数据的个数,Nsam为本级采样数据的个数。
6.如权利要求1所述的基于多核并行的多路量化分级聚类方法,其特征在于,所述合并当前级各分组中的聚类中心成为一类大的中心为:指把当前级的km个分组数据经再次K-均值算法聚类后的中心进行合并;每当K-均值算法聚类完成后,就将这km个聚类中心依次写入下级中心文件中,经km次聚类产生一个大的中心文件,共km+1个聚类中心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210153891.5A CN102663141B (zh) | 2012-05-17 | 2012-05-17 | 一种基于多核并行的多路量化分级聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210153891.5A CN102663141B (zh) | 2012-05-17 | 2012-05-17 | 一种基于多核并行的多路量化分级聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102663141A CN102663141A (zh) | 2012-09-12 |
CN102663141B true CN102663141B (zh) | 2014-06-04 |
Family
ID=46772632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210153891.5A Expired - Fee Related CN102663141B (zh) | 2012-05-17 | 2012-05-17 | 一种基于多核并行的多路量化分级聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102663141B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543588A (zh) * | 2019-08-27 | 2019-12-06 | 中国科学院软件研究所 | 一种面向大规模流数据的分布式聚类方法及系统 |
CN110942783B (zh) * | 2019-10-15 | 2022-06-17 | 国家计算机网络与信息安全管理中心 | 一种基于音频多级聚类的群呼型骚扰电话分类方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833553A (zh) * | 2009-03-09 | 2010-09-15 | 夏普株式会社 | 对数据进行聚类的方法、设备和系统 |
CN102243641A (zh) * | 2011-04-29 | 2011-11-16 | 西安交通大学 | 大规模数据的高效聚类方法 |
-
2012
- 2012-05-17 CN CN201210153891.5A patent/CN102663141B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833553A (zh) * | 2009-03-09 | 2010-09-15 | 夏普株式会社 | 对数据进行聚类的方法、设备和系统 |
CN102243641A (zh) * | 2011-04-29 | 2011-11-16 | 西安交通大学 | 大规模数据的高效聚类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102663141A (zh) | 2012-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106845717B (zh) | 一种基于多模型融合策略的能源效率评价方法 | |
Xiao et al. | SMK-means: an improved mini batch k-means algorithm based on mapreduce with big data | |
CN104598565A (zh) | 一种基于随机梯度下降算法的k均值大规模数据聚类方法 | |
CN105913077A (zh) | 一种基于降维和抽样的数据聚类方法 | |
Ji et al. | A shapelet selection algorithm for time series classification: New directions | |
CN102243641A (zh) | 大规模数据的高效聚类方法 | |
CN113484837B (zh) | 一种面向电磁大数据的未知雷达辐射源智能识别方法 | |
CN103744935A (zh) | 一种计算机快速海量数据聚类处理方法 | |
Lei et al. | An incremental clustering algorithm based on grid | |
CN110619419A (zh) | 城市轨道交通的客流预测方法 | |
Genender-Feltheimer | Visualizing high dimensional and big data | |
Hu et al. | A novel segmentation and representation approach for streaming time series | |
CN109409407A (zh) | 一种基于le算法的工业监测数据聚类方法 | |
CN111612319A (zh) | 基于一维卷积自编码器的负荷曲线深度嵌入聚类方法 | |
CN102663141B (zh) | 一种基于多核并行的多路量化分级聚类方法 | |
CN105760478A (zh) | 一种基于机器学习的大规模分布式的数据聚类方法 | |
Xu et al. | NWP feature selection and GCN-based ultra-short-term wind farm cluster power forecasting method | |
Yang et al. | A fast and efficient grid-based K-means++ clustering algorithm for large-scale datasets | |
Nguyen et al. | Efficient agglomerative hierarchical clustering for biological sequence analysis | |
CN111914009B (zh) | 一种基于PySpark的储能数据计算和分析方法 | |
Qin | Software reliability prediction model based on PSO and SVM | |
Zhul et al. | A fast quantum clustering approach for cancer gene clustering | |
Feng et al. | A genetic k-means clustering algorithm based on the optimized initial centers | |
Zhou et al. | Energy-efficient pipelined DTW architecture on hybrid embedded platforms | |
CN107180391B (zh) | 一种风电数据跨度选取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140604 Termination date: 20170517 |
|
CF01 | Termination of patent right due to non-payment of annual fee |