数据聚类方法和装置制造方法

文档序号:6525937阅读:182来源:国知局
数据聚类方法和装置制造方法
【专利摘要】本发明公开了一种数据聚类方法和装置,其中,该方法包括:重复执行以下步骤直到完成对待聚类的样本集合中的所有样本的聚类:根据样本距离排序关系在当前待聚类样本集合中查找第一样本集合和/或第二样本集合;第二样本集合中的每个成员自身满足聚类条件,但与第二样本集合中的其他成员或者与第一样本集合中的成员之间不满足聚类条件;并行对第一样本集合中的每个成员和/或第二样本集合中的每个成员执行聚类操作,每个成员执行完成聚类操作后形成一个样本集合;根据聚类操作所得到的样本集合对当前待聚类样本集合中的成员进行更新。本发明解决了传统聚类过程中运行速度慢的技术问题,达到了降低复杂度,提高运行速度的技术效果。
【专利说明】数据聚类方法和装置
【技术领域】
[0001]本发明涉及计算机领域,具体而言,涉及一种数据聚类方法和装置。
【背景技术】
[0002]聚类是一种数据集合的划分方法,其主要过程是根据一定的相似性或距离计算函数按照距离相近的样本划分到相同的类中,而距离较远的样本划分到不同的类中的原则自动地将数据集分成若干类(簇)。由于聚类是一种无指导的学习方法,无需耗费大量的人力、物力,因此自动聚类技术已成为最有效的信息处理手段之一。
[0003]虽然聚类的用途很广泛,但传统的层次聚类算法的时间复杂度和空间复杂度高,对于大规模聚类问题运行速度慢,并对硬件的要求很高,需要用到服务器,无法在PC机上完成。传统的层次聚类算法,分为基于矩阵和基于优先队列两种,其相对最简单的单链接层次聚类的时间复杂度都分别达到了 0(n3)和0(n2log η),二者的空间复杂度为O (η2)。由此可见,传统的层次聚类算法的时间复杂度和空间复杂度都比较高,对于大规模聚类问题,特别是在通用的PC计算机上很难完成。目前,有一些处理大规模数据聚类的方法,如⑶RE和CURD,但算法过于复杂,需要预先对样本数据进行复杂分析,不适合在PC计算机上实现大规模数据聚类。
[0004]因此,从理论上和实用上的需求出发,研制一种面向普通PC计算机的大规模数据的层次聚类算法成为了急需解决的新课题。

【发明内容】

[0005]本发明实施例提供了一种数据聚类方法和装置,以至少解决传统聚类过程中运行速度慢的技术问题。
[0006]根据本发明实施例的一个方面,提供了一种数据聚类方法,包括:重复执行以下步骤直到完成对待聚类的样本集合中的所有样本的聚类,其中,当前待聚类样本集合的初始值为待聚类的样本集合中的每个样本:根据样本距离排序关系在当前待聚类样本集合中查找第一样本集合和/或第二样本集合,其中,第一样本集合和第二样本集合中的每个成员包含以下至少之一:样本、样本集合,其中,样本集合包括多个样本,第一样本集合中的每个成员各自形成一个阶梯簇;第二样本集合中的每个成员自身满足聚类条件,但与第二样本集合中的其他成员或者与第一样本集合中的成员之间不满足聚类条件;并行对第一样本集合中的每个成员和/或第二样本集合中的每个成员执行聚类操作,每个成员执行完成聚类操作后形成一个样本集合;根据聚类操作所得到的样本集合对当前待聚类样本集合中的成员进行更新。
[0007]作为一种可选的方案,在重复执行步骤直到完成对待聚类的样本集合中的所有样本的聚类之前,还包括:获取待聚类的样本集合中的每两个样本之间的距离;按照距离的大小对待聚类的样本集合中的每两个样本形成的样本对进行排序,形成样本距离排序关系O[0008]作为一种可选的方案,根据样本距离排序关系在当前待聚类样本集合中查找第一样本集合包括:若当前待聚类样本集合中的多个成员满足以下条件,则将满足以下条件的多个成员记录为第一样本集合中的一个成员:当前待聚类样本集合中的多个成员按照样本距离排序关系中记录的排序顺序依次满足聚类条件,且与当前待聚类样本集合中的其他成员不满足聚类条件。
[0009]作为一种可选的方案,根据样本距离排序关系在当前待聚类样本集合中查找第二样本集合包括:若当前待聚类样本集合中的相邻两个成员满足以下条件,则将满足以下条件的多个成员记录为第二样本集合中的一个成员:当前待聚类样本集合中的相邻两个成员之间满足聚类条件,且与当前待聚类样本集合中的其他成员不满足聚类条件。
[0010]作为一种可选的方案,根据聚类操作所得到的样本集合对当前待聚类样本集合中的成员进行更新包括:将当前待聚类样本集合中的成员更新为聚类操作所得到的样本集合;或者将当前待聚类样本集合中除未参与聚类操作的成员之外的成员更新为聚类操作所得到的样本集合,并在更新后的当前待聚类样本集合中保留未参与聚类操作的成员。
[0011]作为一种可选的方案,其特征在于,聚类条件包括以下至少之一:样本与样本之间的距离满足第一预定阈值;样本与样本集合之间的距离满足第二预定阈值;样本集合与样本集合之间的距离满足第三预定阈值。
[0012]作为一种可选的方案,距离包括以下至少之一:最近距离,最远距离。
[0013]根据本发明实施例的另一方面,还提供了一种数据聚类装置,包括:查找单元,用于根据样本距离排序关系在当前待聚类样本集合中查找第一样本集合和/或第二样本集合,其中,第一样本集合和第二样本集合中的每个成员包含以下至少之一:样本、样本集合,其中,样本集合包括多个样本,第一样本集合中的每个成员各自形成一个阶梯簇;第二样本集合中的每个成员自身满足聚类条件,但与第二样本集合中的其他成员或者与第一样本集合中的成员之间不满足聚类条件;聚类单元,用于并行对第一样本集合中的每个成员和/或第二样本集合中的每个成员执行聚类操作,每个成员执行完成聚类操作后形成一个样本集合;更新单元,用于根据聚类操作所得到的样本集合对当前待聚类样本集合中的成员进行更新;判断单元,用于判断是否完成对待聚类的样本集合中的所有样本的聚类,若未完成对待聚类的样本集合中的所有样本的聚类,则通知查找单元执行查找的操作,通知聚类单元执行聚类的操作以及通知更新单元执行更新的操作,其中,当前待聚类样本集合的初始值为待聚类的样本集合中的每个样本。
[0014]作为一种可选的方案,该装置还包括:获取单元,用于在根据样本距离排序关系在当前待聚类样本集合中查找第一样本集合和/或第二样本集合之前,获取待聚类的样本集合中的每两个样本之间的距离;排序单元,用于按照距离的大小对待聚类的样本集合中的每两个样本形成的样本对进行排序,形成样本距离排序关系。
[0015]作为一种可选的方案,查找单元包括:第一查找模块,用于若当前待聚类样本集合中的多个成员满足以下条件,则将满足以下条件的多个成员记录为第一样本集合中的一个成员:当前待聚类样本集合中的多个成员按照样本距离排序关系中记录的排序顺序依次满足聚类条件,且与当前待聚类样本集合中的其他成员不满足聚类条件。
[0016]作为一种可选的方案,查找单元还包括:第二查找模块,用于若当前待聚类样本集合中的相邻两个成员满足以下条件,则将满足以下条件的多个成员记录为第二样本集合中的一个成员:当前待聚类样本集合中的相邻两个成员之间满足聚类条件,且与当前待聚类样本集合中的其他成员不满足聚类条件。
[0017]作为一种可选的方案,更新单元包括:第一更新模块,用于将当前待聚类样本集合中的成员更新为聚类操作所得到的样本集合;或者第二更新模块,用于将当前待聚类样本集合中除未参与聚类操作的成员之外的成员更新为聚类操作所得到的样本集合,并在更新后的当前待聚类样本集合中保留未参与聚类操作的成员。
[0018]在本发明实施例中,采用阶梯簇优先合并的方式,通过将大规模样本数据分类,得到阶梯簇,使其优先合并,达到了降低复杂度的目的,从而实现了提高运行速度的技术效果,进而解决了传统聚类过程中运行速度慢的技术问题。
【专利附图】

【附图说明】
[0019]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0020]图1是根据本发明实施例的一种可选的数据聚类方法的流程图;
[0021]图2是根据本发明实施例的另一种可选的数据聚类方法的流程图;
[0022]图3是根据本发明实施例的一种可选的数据聚类方法的示意图;
[0023]图4是根据本发明实施例的另一种可选的数据聚类方法的示意图;
[0024]图5是根据本发明实施例的又一种可选的数据聚类方法的示意图;
[0025]图6是根据本发明实施例的一种可选的数据聚类装置的示意图;
[0026]图7是根据本发明实施例的另一种可选的数据聚类装置的示意图;
[0027]图8是根据本发明实施例的又一种可选的数据聚类装置的示意图;
[0028]图9是根据本发明实施例的又一种可选的数据聚类装置的示意图;以及,
[0029]图10是根据本发明实施例的又一种可选的数据聚类装置的示意图。
【具体实施方式】
[0030]下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0031]实施例1
[0032]根据本发明实施例,提供了一种数据聚类的方法,如图1所示,该方法包括:
[0033]S102,根据样本距离排序关系在当前待聚类样本集合中查找第一样本集合和/或第二样本集合;
[0034]可选地,在本实施例中第一样本集合和第二样本集合中的每个成员包含但不限于以下至少之一:样本、样本集合,其中,样本集合包括多个样本。
[0035]可选地,在本实施例中第一样本集合中的每个成员各自形成一个阶梯簇;第二样本集合中的每个成员自身满足聚类条件,但与第二样本集合中的其他成员或者与第一样本集合中的成员之间不满足聚类条件;
[0036]可选地,在本实施例中阶梯簇包括但不限于:待聚类的两个样本成员中至少一个是由单一样本构成。
[0037]进一步说明,对所有待聚类样本根据样本距离排序关系进行查找,结合图3中①所示,待聚类样本按照样本距离排序后得到如图所示的关系,其中,每个成员各自形成一个阶梯簇的作为第一样本集合;每个成员自身满足聚类条件,但与第二样本集合中的其他成员或者与第一样本集合中的成员之间不满足聚类条件的作为第二样本集合。
[0038]例如,结合图待聚类样本3中①所示,待聚类样本有21个,有3个阶梯簇形成的第一样本集合,其余包括:4个第二样本集合及I个未参与聚类的样本成员。
[0039]可选地,在本实施例中,所满足的聚类条件包括但不限于:样本距离满足预定阈值条件。
[0040]S104,并行对第一样本集合中的每个成员和/或第二样本集合中的每个成员执行聚类操作,每个成员执行完成聚类操作后形成一个样本集合;
[0041]可选地,将待聚类样本的成员根据已查找到的所属集合进行聚类,形成第一样本集合及第二样本集合。
[0042]进一步说明,结合图3中①-②所示,待聚类样本成员中的阶梯簇聚类形成第一样本集合,待聚类样本成员中满足聚类条件,但与第二样本集合中的其他成员或者与第一样本集合中的成员之间不满足聚类条件的样本聚类形成第二样本集合。
[0043]S106,根据聚类操作所得到的样本集合对当前待聚类样本集合中的成员进行更新;
[0044]可选地,将聚类后的样本集合作为新的待聚类样本成员,更新待聚类样本成员间样本距离的排序关系。
[0045]进一步说明,结合图3中②所示,完成一次聚类后,初始样本所构成的样本集合将作为新的待聚类样本成员,例如,结合图3中②所示,21个样本聚类后更新得到8个新的待聚类样本成员。然后对新的待聚类样本成员的排序关系进行更新,得到如图3中②所示的排序关系。
[0046]S108,判断是否完成对待聚类的样本集合中的所有样本的聚类。
[0047]可选地,判断更新后的样本集合是否完成对所有样本的聚类,若未完成,则重复上述步骤,执行步骤S102 ;若完成,则执行预定的后续操作,本实施例对上述后续操作不做限定,可以根据不同的需求执行不同的后续操作,例如,利用聚类后的样本或样本集合执行不同的操作。
[0048]通过本申请提供的实施例,利用阶梯簇一次合并大量样本的优势,大幅度提高聚类效率。
[0049]作为一种可选的方案,如图2所示,在重复执行步骤直到完成对待聚类的样本集合中的所有样本的聚类之前,还包括:
[0050]S202,获取待聚类的样本集合中的每两个样本之间的距离;
[0051]例如,结合图4所示,待聚类样本包括:A、B、C、D。其中,每两个样本之间的距离包括:AB,AC, AD, BC, BD, CD。
[0052]S204,按照距离的大小对待聚类的样本集合中的每两个样本形成的样本对进行排序,形成样本距离排序关系。
[0053]例如,结合图4所示,待聚类的样本中包括:A、B、C、D,其距离关系如图所示,每两个样本形成的样本对的排序关系从小到大依次为:AB〈BC〈AD〈BD〈AC,则得到如图4所示的有序序列。[0054]通过本申请提供的实施例,对待聚类样本成员进行排序,得到有序序列,利用其线性特点,在每次迭代过程中,可以一次合并生成所有阶梯簇,从而显著减少迭代次数和每次迭代的样本数,提高聚类效率。
[0055]作为一种可选的方案,根据样本距离排序关系在当前待聚类样本集合中查找第一样本集合包括:若当前待聚类样本集合中的多个成员满足以下条件,则将满足以下条件的多个成员记录为第一样本集合中的一个成员:当前待聚类样本集合中的多个成员按照样本距离排序关系中记录的排序顺序依次满足聚类条件,且与当前待聚类样本集合中的其他成员不满足聚类条件。
[0056]可选地,在本实施例中当前待聚类样本集合中的多个成员满足的条件包括但不限于:样本距离关系为最近距离、样本距离关系为最远距离。
[0057]基于不同的判断条件,本实施例提供了两种优选的实施方式来实现查找。
[0058]作为一种优选的实施方式,以样本距离关系为最近距离作为当前待聚类样本成员聚类的条件,结合图4所示,待聚类样本成员包括:A、B、C、D,其距离关系如图所示,每两个样本形成的样本对的排序关系从小到大依次为:AB<BC<AD<BD<AC。其中,AB间的距离最短,因此作为第一个样本对进行聚类的合并,合并后生成新簇A&B。AB合并后,比较剩余待聚类样本成员与新簇A&B的距离关系,因为以最近距离为聚类原则,查找得到第二相近的距离为BC的距离,因此将BC的距离作为待聚类样本成员C与新簇A&B的距离,根据有序序列排序关系将阶梯簇A&B&C中的A、B、C作为第一样本集合的样本成员。
[0059]作为另一种优选的实施方式,以样本距离关系为最远距离作为当前待聚类样本成员聚类的条件,结合图5所示,待聚类样本成员包括:A、B、C、D,其距离关系如图所示,每两个样本形成的样本对的排序关系从小到大依次为:AB<BC<AD<BD<AC。其中,AB间的距离最短,因此作为第一个样本对进行聚类的合并,合并后生成新簇A&B。AB合并后,比较剩余待聚类样本成员与A、B的距离关系,因为以最远距离为聚类原则,查找得到第二相近的距离为BC的距离,但并不能决定C与新 簇A&B的合并,还需要AC关系才能决定,而图中在BC关系之后分别为D到A或B的关系,查找得到待聚类样本成员C与新簇A&B的距离为较远的AC,待聚类样本成员D与新簇A&B的距离为较远的BD,根据如图所示的有序序列可知:BD〈AC,则将阶梯簇Α&Β&?中的A、B、D作为第一样本集合的样本成员。
[0060]可选地,假设两个待聚类样本集合成员包括P和Q,其中P包含的样本数量为num(P),Q包含样本的数量为num(Q),则P与Q间最后一个排序关系是对象P和Q中所包含样本间所有关系排名在num(P)*num(Q)的关系,因此当对排序关系进行扫描时还需通过记录两个待聚类样本成员间的关系数量完成聚类合并。
[0061]通过本申请提供的实施例,通过使有序排列的多个待聚类样本成员按照一定条件一次性聚类合并成阶梯簇,从而减少迭代次数提高了聚类效率。
[0062]作为一种可选的方案,根据样本距离排序关系在当前待聚类样本集合中查找第二样本集合包括:若当前待聚类样本集合中的相邻两个成员满足以下条件,则将满足以下条件的多个成员记录为第二样本集合中的一个成员:当前待聚类样本集合中的相邻两个成员之间满足聚类条件,且与当前待聚类样本集合中的其他成员不满足聚类条件。
[0063]可选地,在本实施例中当前待聚类样本集合中的相邻两个成员满足的条件包括但不限于:样本距离关系为最近距离、样本距离关系为最远距离。[0064]进一步说明,结合图3所示,在聚类的过程中某些待聚类样本成员的合并不会影响其它成员的聚类合并,并且它们之间的关系排序是小于其余待聚类样本成员的距离,因此应该通过有序排列的距离关系将相邻两个待聚类样本成员聚类合并。例如,当前待聚类样本集合中的相邻两个成员A与B之间距离关系为最近距离,且AB的聚类并不会影响其它待聚类样本成员的聚类合并,则将上述相邻两个样本成员A与B作为第二样本集合中的一个成员。
[0065]通过本申请提供的实施例,根据有序序列使相邻两个待聚类样本成员按照一定条件一次性聚类合并,从而减少迭代次数提高了聚类效率。
[0066]作为一个可选的方案,根据聚类操作所得到的样本集合对当前待聚类样本集合中的成员进行更新包括两种可选的方式:
[0067]作为一种可选的方式,将当前待聚类样本集合中的成员更新为聚类操作所得到的样本集合;
[0068]可选地,完成一次迭代后,将待聚类样本成员更新为完成聚类操作所得到得新的待聚类样本成员。例如,结合图3中②-③所示,待聚类样本成员为如图3中②所示8个,完成一次迭代后,如图3中③所示,得到新的待聚类样本为3个。
[0069]作为另一种可选的方式,将当前待聚类样本集合中除未参与聚类操作的成员之外的成员更新为聚类操作所得到的样本集合,并在更新后的当前待聚类样本集合中保留未参与聚类操作的成员。
[0070]可选地,完成一次迭代后,将参与聚类操作的待聚类样本成员更新为完成聚类操作所得到的样本集合,并将未参与迭代的样本成员保留在新的待聚类样本成员中。例如,结合图3中①-②所示,满足阶梯簇的聚类条件或满足相邻两样本聚类条件的,将完成聚类操作后的样本集合作为新的待聚类样本成员,不满足条件而未参与聚类的孤立样本将直接保留作为新的待聚类样本成员。
[0071]例如,如①所示,初始的21个待聚类样本,更新为如②所示的8个新的待聚类样本,将满足阶梯簇的聚类条件或满足相邻两样本聚类条件的,更新为完成聚类操作后的新的待聚类样本成员,未参与聚类的孤立样本直接保留作为新的待聚类样本成员。
[0072]基于上述两种可选的方式,可以利用计数器的十字链表的方法实现聚类,对计数器的操作主要由插入,修改、删除和更新操作。每次扫描新的距离关系时判断其是否在计数器中存在,如果不存在则需要插入响应节点,并且计数器的数值初始设为1,如果存在则响应计数器的数值加I。但计数器的数值达到更新操作时,则需对计数器进行修改,将合并的两个样本集合相应的链表进行合并,并删除当前合并两个样本集合之间的记录。
[0073]通过本申请提供的实施例,将完成聚类后的待聚类样本成员进行更新,便于完成多次重复迭代,提高了聚类效率。
[0074]作为一种可选的方案,聚类条件包括以下至少之一:样本与样本之间的距离满足第一预定阈值;样本与样本集合之间的距离满足第二预定阈值;样本集合与样本集合之间的距离满足第三预定阈值。
[0075]可选地,在本实施例中第一预定阈值,第二预定阈值,第三预定阈值包括但不限于以下至少之一:最近距离、最远距离、平均距离。
[0076]通过本申请提供的实施例,根据预定阈值判断样本成员间距离是否符合条件,进而实现待聚类样本成员地高效聚类。
[0077]本发明提供了一种优选的实施例来进一步对本发明进行解释,但是值得注意的是,该优选实施例只是为了更好的描述本发明,并不构成对本发明不当的限定。
[0078]实施例2
[0079]根据本发明实施例,还提供了一种数据聚类装置,如图6所示,本实施例中的数据聚类装置包括:
[0080](I)查找单元602,用于根据样本距离排序关系在当前待聚类样本集合中查找第一样本集合和/或第二样本集合;
[0081]可选地,在本实施例中第一样本集合和第二样本集合中的每个成员包含但不限于以下至少之一:样本、样本集合,其中,样本集合包括多个样本。
[0082]可选地,在本实施例中第一样本集合中的每个成员各自形成一个阶梯簇;第二样本集合中的每个成员自身满足聚类条件,但与第二样本集合中的其他成员或者与第一样本集合中的成员之间不满足聚类条件;
[0083]可选地,在本实施例中阶梯簇包括但不限于:待聚类的两个样本成员中至少一个是由单一样本构成。
[0084]进一步说明,对所有待聚类样本根据样本距离排序关系进行查找,结合图3中①所示,待聚类样本按照样本距离排序后得到如图所示的关系,其中,每个成员各自形成一个阶梯簇的作为第一样本集合;每个成员自身满足聚类条件,但与第二样本集合中的其他成员或者与第一样本集合中的成员之间不满足聚类条件的作为第二样本集合。
[0085]例如,结合图待聚类样本3中①所示,待聚类样本有21个,有3个阶梯簇形成的第一样本集合,其余包括:第二样本集合及未参与聚类的样本成员。
[0086]可选地,在本实施例中,所满足的聚类条件包括但不限于:样本距离满足预定阈值条件。
[0087](2)聚类单元604,用于并行对第一样本集合中的每个成员和/或第二样本集合中的每个成员执行聚类操作,每个成员执行完成聚类操作后形成一个样本集合;
[0088]可选地,将待聚类样本的成员根据已查找到的所属集合进行聚类,形成第一样本集合及第二样本集合。
[0089]进一步说明,结合图3中①-②所示,待聚类样本成员中的阶梯簇聚类形成第一样本集合,待聚类样本成员中满足聚类条件,但与第二样本集合中的其他成员或者与第一样本集合中的成员之间不满足聚类条件的样本聚类形成第二样本集合。
[0090](3)更新单元606,用于根据聚类操作所得到的样本集合对当前待聚类样本集合中的成员进行更新。
[0091]可选地,将聚类后的样本集合作为新的待聚类样本成员,更新待聚类样本成员间样本距离的排序关系。
[0092]进一步说明,结合图3中②所示,完成一次聚类后,初始样本所构成的样本集合将作为新的待聚类样本成员,例如,结合图3中②所示,21个样本聚类后更新得到8个新的待聚类样本成员。然后对新的待聚类样本成员的排序关系进行更新,得到如图3中②所示的排序关系。
[0093](4)判断单元608,用于判断是否完成对待聚类的样本集合中的所有样本的聚类,若未完成对待聚类的样本集合中的所有样本的聚类,则通知查找单元执行查找的操作,通知聚类单元执行聚类的操作以及通知更新单元执行更新的操作,其中,当前待聚类样本集合的初始值为待聚类的样本集合中的每个样本。
[0094]可选地,判断更新后的样本集合,是否完成对所有样本的聚类,若未完成,则重复上述步骤,执行步骤S102 ;若判断单元608判断出完成对待聚类的样本集合中的所有样本的聚类完成,则执行预定的后续操作,本实施例对上述后续操作不做限定,可以根据不同的需求执行不同的后续操作,例如,利用聚类后的样本或样本集合执行不同的操作。
[0095]通过本申请提供的实施例,利用阶梯簇一次合并大量样本的优势,大幅度提高聚类效率。
[0096]作为一种可选的方案,如图7所示,本实施例中的数据聚类装置还包括:
[0097](I)获取单元702,用于在根据样本距离排序关系在当前待聚类样本集合中查找第一样本集合和/或第二样本集合之前,获取待聚类的样本集合中的每两个样本之间的距离;
[0098]例如,结合图4所示,待聚类样本包括:A、B、C、D。其中,每两个样本之间的距离包括:AB,AC, AD, BC, BD, CD。
[0099](2)排序单元704,用于按照距离的大小对待聚类的样本集合中的每两个样本形成的样本对进行排序,形成样本距离排序关系。
[0100]例如,结合图4所示,待聚类的样本中包括:A、B、C、D,其距离关系如图所示,每两个样本形成的样本对的排序关系从小到大依次为:AB〈BC〈AD〈BD〈AC,则得到如图4所示的有序序列。
[0101]通过本申请提供的实施例,对待聚类样本成员进行排序,得到有序序列,利用其线性特点,在每次迭代过程中,可以一次合并生成所有阶梯簇,从而显著减少迭代次数和每次迭代的样本数,提高聚类效率。
[0102]作为一种可选的方案,如图8所示,上述查找单元602包括:
[0103](I)第一查找模块802,用于若当前待聚类样本集合中的多个成员满足以下条件,则将满足以下条件的多个成员记录为第一样本集合中的一个成员:当前待聚类样本集合中的多个成员按照样本距离排序关系中记录的排序顺序依次满足聚类条件,且与当前待聚类样本集合中的其他成员不满足聚类条件。
[0104]可选地,在本实施例中当前待聚类样本集合中的多个成员满足的条件包括但不限于:样本距离关系为最近距离、样本距离关系为最远距离、样本距离关系的平均距离。
[0105]基于不同的判断条件,本实施例提供了两种优选的实施方式来实现查找。
[0106]作为一种优选的实施方式,以样本距离关系为最近距离作为当前待聚类样本成员聚类的条件,结合图4所示,待聚类样本成员包括:A、B、C、D,其距离关系如图所示,每两个样本形成的样本对的排序关系从小到大依次为:AB<BC<AD<BD<AC。其中,AB间的距离最短,因此作为第一个样本对进行聚类的合并,合并后生成新簇A&B。AB合并后,比较剩余待聚类样本成员与新簇A&B的距离关系,因为以最近距离为聚类原则,查找得到第二相近的距离为BC的距离,因此将BC的距离作为待聚类样本成员C与新簇A&B的距离,根据有序序列排序关系将阶梯簇A&B&C中的A、B、C作为第一样本集合的样本成员。
[0107]作为另一种优选的实施方式,以样本距离关系为最远距离作为当前待聚类样本成员聚类的条件,结合图5所示,待聚类样本成员包括:A、B、C、D,其距离关系如图所示,每两个样本形成的样本对的排序关系从小到大依次为:AB<BC<AD<BD<AC。其中,AB间的距离最短,因此作为第一个样本对进行聚类的合并,合并后生成新簇A&B。AB合并后,比较剩余待聚类样本成员与A、B的距离关系,因为以最远距离为聚类原则,查找得到第二相近的距离为BC的距离,但并不能决定C与新簇A&B的合并,还需要AC关系才能决定,而图中在BC关系之后分别为D到A或B的关系,查找得到待聚类样本成员C与新簇A&B的距离为较远的AC,待聚类样本成员D与新簇A&B的距离为较远的BD,根据如图所示的有序序列可知:BD〈AC,则将阶梯簇Α&Β&?中的A、B、D作为第一样本集合的样本成员。
[0108]可选地,假设两个待聚类样本集合成员包括P和Q,其中P包含的样本数量为num(P),Q包含样本的数量为num(Q),则P与Q间最后一个是则是对象P和Q中所包含样本间所有关系排名在num(P)*num(Q)的关系,因此当对排序关系进行扫描时还需通过记录两个待聚类样本成员间的关系数量完成聚类合并。
[0109]通过本申请提供的实施例,通过使有序排列的多个待聚类样本成员按照一定条件一次性聚类合并成阶梯簇,从而减少迭代次数提高了聚类效率。
[0110]作为一种可选的方案,如图9所示,上述查找单元602还包括:
[0111](1)第二查找模块902,用于若当前待聚类样本集合中的相邻两个成员满足以下条件,则将满足以下条件的多个成员记录为第二样本集合中的一个成员:当前待聚类样本集合中的相邻两个成员之间满足聚类条件,且与当前待聚类样本集合中的其他成员不满足聚类条件。
[0112]可选地,在本实施例中当前待聚类样本集合中的相邻两个成员满足的条件包括但不限于:样本距离关系为最近距离、样本距离关系为最远距离、样本距离关系的平均距离。
[0113]进一步说明,结合图3所示,在聚类的过程中某些待聚类样本成员的合并不会影响其它成员的聚类合并,并且它们之间的关系排序是小于其余待聚类样本成员的距离,因此应该通过有序排列的距离关系将相邻两个待聚类样本成员聚类合并。例如,当前待聚类样本集合中的相邻两个成员A与B之间距离关系为最近距离,且AB的聚类并不会影响其它待聚类样本成员的聚类合并,则将上述相邻两个样本成员A与B作为第二样本集合中的一个成员。
[0114]通过本申请提供的实施例,根据有序序列使相邻两个待聚类样本成员按照一定条件一次性聚类合并,从而减少迭代次数提高了聚类效率。
[0115]作为一种可选的方案,如图10所示,上述更新单元606包括:
[0116](1)第一更新模块1002,用于将当前待聚类样本集合中的成员更新为聚类操作所得到的样本集合;
[0117]可选地,完成一次迭代后,将待聚类样本成员更新为完成聚类操作所得到得新的待聚类样本成员。例如,结合图3中①-③所示,初始待聚类样本成员为如图3中①所示21个,完成一次迭代后,如图3中②所示,得到新的待聚类样本为8个。
[0118](2)第二更新模块1004,用于将当前待聚类样本集合中除未参与聚类操作的成员之外的成员更新为聚类操作所得到的样本集合,并在更新后的当前待聚类样本集合中保留未参与聚类操作的成员。
[0119]可选地,完成一次迭代后,将参与聚类操作的待聚类样本成员更新为完成聚类操作所得到的样本集合,并将未参与迭代的样本成员保留在新的待聚类样本成员中。例如,结合图3中①-②所示,满足阶梯簇的聚类条件或满足相邻两样本聚类条件的,将完成聚类操作后的样本集合作为新的待聚类样本成员,不满足条件而未参与聚类的孤立样本将保留直接作为新的待聚类样本成员。
[0120]基于上述两种可选的方式,可以利用计数器的十字链表的方法实现聚类,对计数器的操作主要由插入,修改、删除和更新操作。每次扫描新的距离关系时判断其是否在计数器中存在,如果不存在则需要插入响应节点,并且计数器的数值初始设为1,如果存在则响应计数器的数值加I。但计数器的数值达到更新操作时,则需对计数器进行修改,将合并的两个样本集合相应的链表进行合并,并删除当前合并两个样本集合之间的记录。
[0121]通过本申请提供的实施例,将完成聚类后的待聚类样本成员进行更新,便于完成多次重复迭代,提高了聚类效率。
[0122]本发明提供了一种优选的实施例来进一步对本发明进行解释,但是值得注意的是,该优选实施例只是为了更好的描述本发明,并不构成对本发明不当的限定。
[0123]从以上的描述中,可以看出,本发明实现了如下技术效果:
[0124](I)不需要对样本进行复杂的预分析处理,利用有序序列的线性有序特点,在每次迭代过程中,可以一次性合并生成所有阶梯簇,从而显著减少迭代次数和每次迭代的样本数,提高聚类效率,使算法的时间复杂度降低。
[0125](2)本算法的聚类过程实际上主要是对有序序列的顺序扫描过程,因此对于大规模层次聚类问题,即使有序序列存放在外存中,也能高效地实现内存和外存的数据交换,在PC计算机上完成较大规模的层次聚类问题。
[0126]以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种数据聚类方法,其特征在于,包括:重复执行以下步骤直到完成对待聚类的样本集合中的所有样本的聚类,其中,当前待聚类样本集合的初始值为所述待聚类的样本集合中的每个样本: 根据样本距离排序关系在所述当前待聚类样本集合中查找第一样本集合和/或第二样本集合,其中,所述第一样本集合和所述第二样本集合中的每个成员包含以下至少之一:样本、样本集合,其中,所述样本集合包括多个样本,所述第一样本集合中的每个成员各自形成一个阶梯簇;所述第二样本集合中的每个成员自身满足聚类条件,但与所述第二样本集合中的其他成员或者与所述第一样本集合中的成员之间不满足所述聚类条件; 并行对所述第一样本集合中的每个成员和/或所述第二样本集合中的每个成员执行聚类操作,每个成员执行完成所述聚类操作后形成一个样本集合; 根据所述聚类操作所得到的样本集合对所述当前待聚类样本集合中的成员进行更新。
2.根据权利要求1所述的方法,其特征在于,在重复执行所述步骤直到完成对待聚类的样本集合中的所有样本的聚类之前,还包括: 获取所述待聚类的样本集合中的每两个样本之间的距离; 按照所述距离的大小对所述待聚类的样本集合中的每两个样本形成的样本对进行排序,形成所述样本距离排序关系。
3.根据权利要求1所述的方法,其特征在于,所述根据样本距离排序关系在所述当前待聚类样本集合中查找第一样本集合包括: 若所述当前待聚类样本集合中的多个成员满足以下条件,则将满足所述以下条件的所述多个成员记录为所述第一样本集合中的一个成员:所述当前待聚类样本集合中的所述多个成员按照所述样本距离排序`关系中记录的排序顺序依次满足所述聚类条件,且与所述当前待聚类样本集合中的其他成员不满足所述聚类条件。
4.根据权利要求1所述的方法,其特征在于,所述根据样本距离排序关系在所述当前待聚类样本集合中查找第二样本集合包括: 若所述当前待聚类样本集合中的相邻两个成员满足以下条件,则将满足所述以下条件的多个成员记录为所述第二样本集合中的一个成员:所述当前待聚类样本集合中的所述相邻两个成员之间满足所述聚类条件,且与所述当前待聚类样本集合中的其他成员不满足所述聚类条件。
5.根据权利要求1所述的方法,其特征在于,所述根据所述聚类操作所得到的样本集合对所述当前待聚类样本集合中的成员进行更新包括: 将所述当前待聚类样本集合中的成员更新为所述聚类操作所得到的样本集合;或者 将所述当前待聚类样本集合中除未参与所述聚类操作的成员之外的成员更新为所述聚类操作所得到的样本集合,并在更新后的所述当前待聚类样本集合中保留所述未参与所述聚类操作的成员。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述聚类条件包括以下至少之一: 样本与样本之间的距离满足第一预定阈值; 样本与样本集合之间的距离满足第二预定阈值; 样本集合与样本集合之间的距离满足第三预定阈值。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述距离包括以下至少之一:最近距离,最远距离。
8.一种数据聚类装置,其特征在于,包括: 查找单元,用于根据样本距离排序关系在当前待聚类样本集合中查找第一样本集合和/或第二样本集合,其中,所述第一样本集合和所述第二样本集合中的每个成员包含以下至少之一:样本、样本集合,其中,所述样本集合包括多个样本,所述第一样本集合中的每个成员各自形成一个阶梯簇;所述第二样本集合中的每个成员自身满足聚类条件,但与所述第二样本集合中的其他成员或者与所述第一样本集合中的成员之间不满足所述聚类条件; 聚类单元,用于并行对所述第一样本集合中的每个成员和/或所述第二样本集合中的每个成员执行聚类操作,每个成员执行完成所述聚类操作后形成一个样本集合; 更新单元,用于根据所述聚类操作所得到的样本集合对所述当前待聚类样本集合中的成员进行更新; 判断单元,用于判断是否完成对待聚类的样本集合中的所有样本的聚类,若未完成对所述待聚类的样本集合中的所有样本的聚类,则通知所述查找单元执行所述查找的操作,通知所述聚类单元执行所述聚类的操作以及通知所述更新单元执行所述更新的操作,其中,当前待聚类样本集合的初始值为所述待聚类的样本集合中的每个样本。
9.根据权利要求8所述的装置,其特征在于,还包括: 获取单元,用于在根据样本距离排序关系在所述当前待聚类样本集合中查找第一样本集合和/或第二样本集合之前,获取所述待聚类的样本集合中的每两个样本之间的距离; 排序单元,用于按照所述距离的大小对所述待聚类的样本集合中的每两个样本形成的样本对进行排序,形成所述样本距离排序关系。
10.根据权利要求8所述的装置,其特征在于,所述查找单元包括: 第一查找模块,用于若所述当前待聚类样本集合中的多个成员满足以下条件,则将满足所述以下条件的所述多个成员记录为所述第一样本集合中的一个成员:所述当前待聚类样本集合中的所述多个成员按照所述样本距离排序关系中记录的排序顺序依次满足所述聚类条件,且与所述当前待聚类样本集合中的其他成员不满足所述聚类条件。
11.根据权利要求8所述的装置,其特征在于,所述查找单元还包括: 第二查找模块,用于若所述当前待聚类样本集合中的相邻两个成员满足以下条件,则将满足所述以下条件的多个成员记录为所述第二样本集合中的一个成员:所述当前待聚类样本集合中的所述相邻两个成员之间满足所述聚类条件,且与所述当前待聚类样本集合中的其他成员 不满足所述聚类条件。
12.根据权利要求8所述的装置,其特征在于,所述更新单元包括: 第一更新模块,用于将所述当前待聚类样本集合中的成员更新为所述聚类操作所得到的样本集合;或者 第二更新模块,用于将所述当前待聚类样本集合中除未参与所述聚类操作的成员之外的成员更新为所述聚类操作所得到的样本集合,并在更新后的所述当前待聚类样本集合中保留所述未参与所述聚类操作的成员。
【文档编号】G06F17/30GK103699653SQ201310733986
【公开日】2014年4月2日 申请日期:2013年12月26日 优先权日:2013年12月26日
【发明者】季铎 申请人:沈阳航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1