一种基于适应度比例共享的流数据聚类方法和系统与流程

文档序号:31184121发布日期:2022-08-19 18:51阅读:85来源:国知局
一种基于适应度比例共享的流数据聚类方法和系统与流程

1.本发明涉及大数据人工智能领域。


背景技术:

2.传统的流数据聚类方法依赖于先验条件以及预定义参数(如簇中心数量或簇半径),且多数聚类方法对异常值和噪声敏感,而在实时数据场景下数据特征是未知的,先验条件难以获取。此外,传统的流数据聚类方法需事先设定阈值来克服异常值、噪声等对聚类过程的影响,并且重叠簇的存在对聚类过程影响较大。这些问题极大地限制了它们在实时数据场景下的应用。此外,现有的流数据聚类方法在存在重叠簇的情况下聚类过程会受到较大影响。
3.因此,需要能够改进现有技术中的缺陷的方法。


技术实现要素:

4.提供本发明内容来以简化形式介绍将在以下具体实施方式部分中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
5.本发明克服现有流数据聚类方法对于先验条件的依赖和设定阈值对聚类性能的影响,采用3σ原理区分异常值,避免高度重叠的聚类和离群点对聚类性能的影响,使得本发明中的聚类方法更适用于在实时数据场景。
6.在本发明的一个实施例中,基于数据密度递归下界对离线适应度比例共享(fps)聚类方式进行扩展,提出了基于动态适应度比例共享(dfps)数据聚类方法,不需要用户预先定义簇半径和簇中心数量等条件,且适用于有重叠聚类的情况下。基于高斯核函数的递归下界公式,将3σ原理应用到离群点检测过程中,推导了一个引理来区分离群点等异常值。该方法不需要事先制定阈值来区分异常值。
7.具体而言,在本发明的一个实施例中,提供了一种基于适应度比例共享的流数据聚类的方法,所述方法包括:
8.对数据流进行分块以生成初始数据块和多个后续数据块;
9.根据所述初始数据块来计算所述数据流的统计信息;
10.基于所述统计信息来对所述初始数据块进行适应度比例共享fps聚类以确定所述数据流的聚类情况信息;
11.根据所述多个后续数据块中的每个数据块来更新所述统计信息;
12.基于经更新的统计信息来对所述多个后续数据块中的每个数据块进行动态fps聚类;
13.检查潜在聚类簇的密度值以确定是否存在新聚类簇;
14.在确定存在新聚类簇的情况下进行聚类集群扩展;以及
15.更新所述数据流的所述聚类情况信息。
16.在本发明的一个实施例中,所述数据流是根据到达时间和速率来进行分块的。
17.在本发明的一个实施例中,所述统计信息包括全局均值、全局方差、稳定参数、聚类中心、半径和中心密度值。
18.在本发明的一个实施例中,所述统计量信息是基于从数据块中随机选取的数据样本所形成的数据样本集来计算的。
19.在本发明的一个实施例中,所述fps聚类包括对数据块中的数据样本的适应度值使用基于高斯核密度函数的目标函数。
20.在本发明的一个实施例中,对所述多个后续数据块进行所述动态fps聚类包括基于所述fps聚类对所述多个后续数据块中的数据样本的适应度值进行递归逼近。
21.在本发明的一个实施例中,所述检查基于3σ原理来进行以区分异常值并去除异常值。
22.在本发明的一个实施例中,所述聚类集群扩展包括删除冗余聚类。
23.在本发明的另一个实施例中,提供了一种基于适应度比例共享的流数据聚类的系统,所述系统包括:
24.数据流分块模块,其被配置成对数据流进行分块以生成初始数据块和多个后续数据块;
25.统计信息计算模块,其被配置成根据所述初始数据块来计算所述数据流的统计信息并根据所述多个后续数据块中的每个数据块来更新所述统计信息;
26.聚类情况信息确定模块,其被配置成:
27.基于所述统计信息来对所述初始数据块进行适应度比例共享fps聚类以确定所述数据流的聚类情况信息;
28.基于经更新的统计信息来对所述多个后续数据块中的每个数据块进行动态fps聚类;
29.检查潜在聚类簇的密度值以确定是否存在新聚类簇;
30.在确定存在新聚类簇的情况下进行聚类集群扩展;以及
31.更新所述数据流的所述聚类情况信息。
32.在本发明的一个实施例中,所述数据流分块模块被进一步配置成根据到达时间和速率来对所述数据流进行分块。
33.在本发明的一个实施例中,所述统计信息包括全局均值、全局方差、稳定参数、聚类中心、半径和中心密度值。
34.在本发明的一个实施例中,所述统计信息计算模块被进一步配置成基于从数据块中随机选取的数据样本所形成的数据样本集来计算所述统计量信息。
35.在本发明的一个实施例中,所述聚类情况信息确定模块被进一步配置成通过对数据块中的数据样本的适应度值使用基于高斯核密度函数的目标函数来进行所述fps聚类。
36.在本发明的一个实施例中,所述聚类情况信息确定模块被进一步配置成通过基于所述fps聚类对所述多个后续数据块中的数据样本的适应度值进行递归逼近来对所述多个后续数据块进行所述动态fps聚类。
37.在本发明的一个实施例中,所述聚类情况信息确定模块被进一步配置成基于3σ原理来进行所述检查以区分异常值并去除异常值。
38.在本发明的一个实施例中,所述聚类情况信息确定模块被进一步配置成删除冗余聚类。
39.在本发明的又一个实施例中,提供了一种存储计算机可执行指令的计算机可读介质,这些指令包括:
40.用于对数据流进行分块以生成初始数据块和多个后续数据块的指令;
41.用于根据所述初始数据块来计算所述数据流的统计信息的指令;
42.用于基于所述统计信息来对所述初始数据块进行适应度比例共享fps聚类以确定所述数据流的聚类情况信息的指令;
43.用于根据所述多个后续数据块中的每个数据块来更新所述统计信息的指令;
44.用于基于经更新的统计信息来对所述多个后续数据块中的每个数据块进行动态fps聚类的指令;
45.用于检查潜在聚类簇的密度值以确定是否存在新聚类簇的指令;
46.用于在确定存在新聚类簇的情况下进行聚类集群扩展的指令;以及
47.用于更新所述数据流的所述聚类情况信息的指令。
48.在结合附图研读了下文对本发明的具体示例性实施例的描述之后,本发明的其他方面、特征和实施例对于本领域普通技术人员将是明显的。尽管本发明的特征在以下可能是针对某些实施例和附图来讨论的,但本发明的全部实施例可包括本文所讨论的有利特征中的一个或多个。换言之,尽管可能讨论了一个或多个实施例具有某些有利特征,但也可以根据本文讨论的本发明的各种实施例使用此类特征中的一个或多个特征。以类似方式,尽管示例性实施例在下文可能是作为设备、系统或方法实施例进行讨论的,但是应当领会,此类示例性实施例可以在各种设备、系统、和方法中实现。
附图说明
49.为了能详细理解本公开的以上陈述的特征所用的方式,可参照各方面来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中阐示。然而应该注意,附图仅阐示了本公开的某些典型方面,故不应被认为限定其范围,因为本描述可允许有其他等同有效的方面。
50.图1是根据本公开的一个实施例的基于适应度比例共享的流数据聚类系统的示意性框图。
51.图2示出了根据本公开的一个实施例的聚类情况信息确定模块的示意性框图。
52.图3示出了根据本公开的一个实施例的动态fps聚类的处理流程图。
53.图4示出了根据本公开的一个实施例的基于适应度比例共享的流数据聚类方法的流程图。
54.图5示出了根据本公开的一个实施例的基于适应度比例共享的流数据聚类方法的随时间变化的聚类结果的示意图。
55.图6示出了根据本公开的一个实施例的基于适应度比例共享的流数据聚类方法的随时间变化且区分重叠聚类的聚类结果的示意图。
具体实施方式
56.以下将参考形成本发明一部分并示出各具体示例性实施例的附图更详尽地描述各个实施例。然而,各实施例可以以许多不同的形式来实现,并且不应将其解释为限制此处所阐述的各实施例;相反地,提供这些实施例以使得本公开变得透彻和完整,并且将这些实施例的范围完全传达给本领域普通技术人员。各实施例可按照方法、系统或设备来实施。因此,这些实施例可采用硬件实现形式、全软件实现形式或者结合软件和硬件方面的实现形式。因此,以下具体实施方式并非是局限性的。
57.各流程图中的步骤可通过硬件(例如,处理器、引擎、存储器、电路)、软件(例如,操作系统、应用、驱动器、机器/处理器可执行指令)或其组合来执行。如本领域普通技术人员将理解的,各实施例中所涉及的方法可以包括比示出的更多或更少的步骤。
58.针对现有技术中的缺陷,本发明采用fps聚类方法对所有聚类进行离线定位,同时采用动态fps(dfps)聚类方法保持聚类情况在线且随时间更新。并且在以前的集群和新集群之间执行可能的扩展,以删除所有冗余集群。然后更新聚类的情况,从能够连续捕捉数据流的特征以使得能够对数据流进行实时连续特征分析。
59.本发明中的这一聚类方法不依赖于先验条件,而是将聚类问题映射为多模态优化问题,并引入了基于密度的目标函数,采用适应度比例共享策略对聚类中心进行更有效的搜索。如下所述,算例表明,与5种常用的数据流聚类方法相比,本发明中的dfps聚类方法的性能具有更优的性能。而且,在本发明中,将3σ原理应用到离群点检测过程中,推导了一个引理来区分离群点等异常值,而不需要事先制定阈值来区分异常值。
60.下文中将通过框图、数据流图以及方法流程图对本公开的各方面进行详细描述。
61.图1是根据本公开的一个实施例的基于适应度比例共享的流数据聚类系统100的示意性框图。
62.如图1所示,流数据聚类系统100包括数据流分块模块102、统计信息计算模块104、以及聚类情况信息确定模块106。以下将对各个模块进行详细描述。
63.数据流分块模块102被配置成对接收到的数据流进行分块以生成初始数据块和多个后续数据块。具体而言,在本发明的一个实施例中,为了对数据流的密度分布进行动态估计,数据流分块模块102被配置成基于数据流的到达时间和速率,将数据流dt均匀划分为若干个数据块ct。通过分区,每个数据块ct成为数据流的一个子集,dt可以表示为:
[0064][0065]
其中:t为数据块到达时间索引,m为数据块的大小。如本领域技术人员可以理解的,上述式(1)仅仅是示例性的,而非限制性的,在其他实施例中也可使用任何其他合适的公式来表示dt,而不背离本发明的精神和范围。
[0066]
统计信息计算模块104被配置成根据初始数据块来计算数据流的统计信息并根据多个后续数据块中的每个数据块来更新该统计信息。具体而言,作为示例而非限制,对于初始数据块,统计信息计算模块104被配置成计算数据流的统计信息并且对于多个后续数据块,统计信息计算模块104被进一步配置成计算数据流统计信息以更新{μ
t

t

t
}。如本领域技术人员可以理解的,上述统计
信息表达方式仅仅是示例性的,而非限制性的,在其他实施例中也可使用任何其他合适的方式来表示数据流的统计信息。在本发明的一个实施例中,数据流的统计量信息是基于从数据块中随机选取的数据样本所形成的数据样本集来计算的。
[0067]
聚类情况信息确定模块106被配置成基于数据流的统计信息来对初始数据块进行fps聚类以确定该数据流的聚类情况信息,并且基于经更新的统计信息来对多个后续数据块中的每个数据块进行dfps聚类。聚类情况信息确定模块106被进一步配置成检查潜在聚类簇的密度值以确定是否存在新聚类簇并且在确定存在新聚类簇的情况下进行聚类集群扩展,以及更新该数据流的聚类情况信息。
[0068]
具体而言,聚类情况信息确定模块106执行的fps聚类方法将聚类问题映射为一个多模态优化问题,以密度函数为目标函数,密度分布达到局部最大值时为簇中心。基于高斯核密度函数,适应度值目标函数如下:
[0069][0070]
其中:β为数据方差;n是样本总数;γ为比例系数,用以模拟稳定的密度分布,γ
t
=γ0β
t
/β0,由于流数据的动态特性,γ值也需要随着新数据的到来而更新,以近似随时间变化的数据密度分布。
[0071]
如本领域技术人员可以理解的,上述fps聚类的计算方式仅仅是示例性的而非限制性的,在本发明的其他实施例中也可使用任何其他合适的计算公式来执行fps聚类,而不背离本发明的精神和范围。
[0072]
该fps聚类方法对数据块中的数据样本个体按降序排序实现聚类中心的搜索,对当前潜在聚类中心的小生境半径内的数据样本个体进行适应度比例共享,使其适应度值缩小,以使得能够为下一次竞争中搜索其他局部峰值提供了良好的机会。
[0073]
对于初始数据块c1,聚类情况信息确定模块106被配置成对初始数据块c1进行fps聚类以确立聚类情况信息(反映了数据流模式的变化),包括全局均值、全局方差、稳定参数、聚类中心、半径和中心密度值,如下所示:
[0074][0075]
如本领域技术人员可以理解的,上述聚类情况信息的表示方式仅仅是示例性的,而不是限制性的,在本发明的其他实施例中也可使用任何其他合适的表示方式来表示聚类情况信息,而不背离本发明的精神和范围。
[0076]
对于后续多个数据块ct,聚类情况信息确定模块106被配置成基于经更新的统计信息来对多个后续数据块中的每个数据块进行dfps聚类,以使得同时保持聚类情况在线并随时间更新。以下结合图2更详细地描述聚类情况信息确定模块106的细节。
[0077]
图2示出了根据本公开的一个实施例的聚类情况信息确定模块200的示意性框图。
[0078]
如图2所示,聚类情况信息确定模块200包括fps聚类组件202、dfps聚类组件204、聚类集群扩展组件206、以及聚类情况信息更新组件208。
[0079]
如上所述,fps聚类组件202采用fps聚类方法对所有聚类进行离线定位以确定数据流的聚类情况信息。
[0080]
dfps聚类组件204被配置成基于经更新的统计信息来对多个后续数据块中的每个数据块进行dfps聚类。具体而言,基于公式(2)提出递归公式,对样本的适应度值做递归逼近:
[0081][0082]
其中:d
ij
为新样本xi和前任簇中心之间的欧式距离;为前任簇中心j的密度值。
[0083]
定义t-1时刻第j个簇中心包含的样本为含的样本为可由下式获得:
[0084][0085]
其中,
[0086][0087]
该式中:β
t
为t时刻数据流的方差;为当前数据块ct的方差;μ
t
为t时刻的数据平均值;μ
ct
为当前数据块ct的平均值;γ
t
为稳定系数,决定了簇的形状。
[0088]
如本领域技术人员可以理解的,上述式(4)-(6)仅仅是示例性的,而不是限制性的,在本发明的其他实施例中也可使用任何其他合适的公式来对数据样本的适应度值进行递归逼近,而不背离本发明的精神和范围。
[0089]
通过以上基于fps的dfps聚类方法,合并新集群和历史集群,不断更新簇中心,并递归更新数据流的全局统计信息。因此,该方法不需要保存所有数据流,有效地解决了内存的限制问题。上述dfps聚类方法的更多细节以下将结合图3来描述。
[0090]
聚类集群扩展组件206被配置成检查潜在聚类簇的密度值以确定是否存在新聚类簇并在确定存在新聚类簇的情况下进行聚类集群扩展。具体而言,考虑到高斯分布的性质,基于3σ原理来去除异常值。现有簇中密度值大于平均密度值3σ的样本会有0.00135的概率被认为是簇中心,从而消除异常值对聚类的不良影响。基于公式(4)和3σ原理,如果下式满足,那么将生成新的聚类簇:
[0091][0092]
其中μ(f(z
t-1
))和σ(f(z
t-1
))分别为前任簇中心的平均值和方差。
[0093]
如本领域技术人员可以理解的,上述基于公式(4)和3σ原理的新聚类簇生成条件仅仅是示例性的,而不是限制性的,在本发明的其他实施例中也可使用任何其他合适的方式来表示新聚类簇生成条件,而不背离本发明的精神和范围。
[0094]
聚类情况信息更新组件208被配置成对于多个后续数据块更新聚类情况信息,如
下所示:
[0095][0096]
图3示出了根据本公开的一个实施例的动态fps聚类的处理流程图。
[0097]
如图3所示,对于数据块ct,dfps处理流程300首先包括计算数据统计信息302,具体而言是根据后续多个数据块来计算数据流的统计信息以更新先前针对初始数据块计算出的数据流统计信息。
[0098]
接着,流程继续至计算后续多个数据块中的数据样本的适应度值304。具体而言是基于所述fps聚类对所述多个后续数据块中的数据样本的适应度值进行递归逼近。
[0099]
然后,流程继续至检查潜在簇的密度值并确定新簇306。具体而言是基于3σ原理来检查数据块中的数据样本以区分异常值并去除异常值,从而避免高度重叠的聚类和离群点对聚类性能的影响。
[0100]
随后,流程继续至基于所确定的新簇来进行聚类簇集群扩展308。在本发明的一个实施例中,该集群扩展包括删除所有冗余集群。
[0101]
最后,流程继续至更新聚类情况信息310,以连续捕捉数据流的特征。
[0102]
随后对下一数据块ct+1继续重复执行该处理流程,以不断捕捉流数据的过去状态和现在状态之间的关联。
[0103]
图4示出了根据本公开的一个实施例的基于适应度比例共享的流数据聚类方法400的流程图。
[0104]
方法400开始于步骤402,对数据流进行分块以生成初始数据块和多个后续数据块。在本发明的一个实施例中,所述数据流是根据到达时间和速率来进行分块的。
[0105]
在步骤404,根据初始数据块来计算该数据流的统计信息。在本发明的一个实施例中,该统计信息包括全局均值、全局方差、稳定参数、聚类中心、半径和中心密度值。在本发明的一个实施例中,所述统计量信息是基于从数据块中随机选取的数据样本所形成的数据样本集来计算的。
[0106]
在步骤406,基于该统计信息来对该初始数据块进行fps聚类以确定该数据流的聚类情况信息。在本发明的一个实施例中,fps聚类包括对数据块中的数据样本的适应度值使用基于高斯核密度函数的目标函数。
[0107]
在步骤408,根据多个后续数据块中的每个数据块来更新该统计信息。
[0108]
在步骤410,基于经更新的统计信息来对该多个后续数据块中的每个数据块进行动态fps聚类。在本发明的一个实施例中,对所述多个后续数据块进行所述动态fps聚类包括基于所述fps聚类对所述多个后续数据块中的数据样本的适应度值进行递归逼近。
[0109]
在步骤412,检查潜在聚类簇的密度值以确定是否存在新聚类簇。在本发明的一个实施例中,所述检查基于3σ原理来进行以区分异常值并去除异常值。
[0110]
在步骤414,在确定存在新聚类簇的情况下进行聚类集群扩展。在本发明的一个实施例中,所述聚类集群扩展包括删除冗余聚类。
[0111]
方法400结束于步骤416,更新该数据流的聚类情况信息。
[0112]
性能评估
[0113]
为了提供对本发明中的基于适应度比例共享的流数据聚类方法的性能的综合评
价,分别使用[1]、[2]文献中的ri和ki评估原始数据与结果的一致性,其值越大则一致性越高,具体如下式所示,其中n为样本数量,属于簇i的样本数为n
rowi
=∑jn
ij
。最终数据块到达时计算ri和ki,包含了来自所有数据块的样本,反映了流数据的变化。
[0114][0115][0116]
[1]w.m.rand,“objective criteria for the evaluation of clustering methods,”j.amer.statist.assoc.,vol.66,no.336,pp.846

850,1971.
[0117]
[2]l.hubert and p.arabie,“comparing partitions,”j.classification,vol.2,no.1,pp.193

218,1985.
[0118]
以3个测试连续数据集合以及4个实际数据集为测试算例,共7场景下数据集特征说明如表1所示。
[0119]
表1:7种数据集特征说明
[0120][0121]
[3]m.lichman.(2013).uci machine learning repository.[online].available:http://archive.ics.uci.edu/ml
[0122]
[4]b.c.grabow,s.auer,j.kurths,d.witthaut,and m.timme,“taming instabilities in power grid networks by decentralized control,”eur.phys.j.special topics,vol.225,no.3,pp.569

582,2016
[0123]
模拟30次的ri/ki的平均值分别如表2和表3所示。基于stream、clustream、d-stream、hddstream、dbstream以及本发明所提方法的ri/ki值同样可见下表。
[0124]
表2:6种聚类方法ri值比较
[0125]
数据集streamclustreamd-streamhddstreamdbstream本发明d10.95780.96670.97570.97320.97720.9885d20.83140.85220.89520.86540.88740.9012
d30.93450.94540.94480.96560.96780.9745d40.90890.92060.91530.91420.90670.9282d50.82650.83120.83780.89470.89740.9280d60.59870.62430.61280.62670.62780.6495d70.86240.88480.90120.90340.91740.9211
[0126]
表3:6种聚类方法ki值比较
[0127]
数据集streamclustreamd-streamhddstreamdbstream本发明d10.92780.93570.95570.95890.96010.9782d20.81560.83670.86120.87540.85970.8998d30.91140.92410.92680.93580.93890.9495d40.88730.89230.88940.89920.89670.9015d50.78560.80240.80650.88730.89950.9192d60.06040.08560.10420.10750.11200.1132d70.82830.84740.86120.87810.89420.9004
[0128]
在最后一个数据块到达时,本发明中的的聚类方法能够成功捕获数据集中的所有自然聚类。对于数据集d1,表2和表3表明,本发明所提方法比现有的其他五种方法具有更高的聚类精度。
[0129]
图5示出了d1数据集在时间t=1,t=2,t=3,t=4,t=5((由上至下)的聚类结果,显示了使用本发明方法的聚类随时间变化的能力。d1中每个数据块的聚类结果如图5所示,可见本发明所提方法跟踪聚类随时间变化的能力。
[0130]
从表2和表3可以看出,本发明所提聚类方法对于d2的聚类性能优于其他5种聚类方法,ri和ki值较高,说明本发明所提方法对于聚类高度重叠的数据流的聚类效果较好。
[0131]
在d3中,在异常值存在的情况下测试了所提出聚类方法的稳健性,从表2和表3可以看出,本发明所提方法仍然比其他五种比较方法取得了更高的聚类精度,证明了其对离群点的鲁棒性。
[0132]
对于真实数据集,本发明的dfps聚类方法在d4数据集上的性能如图6所示,图6示出了d4数据集在时间t=1,t=2,t=3的聚类结果。可见,本发明所提方法不仅可以捕捉到流数据在时间序列中的聚类变化,而且可以区分重叠的聚类。从表2和表3中可以看出,与其他五种目前最先进的方法相比,本发明所提方法聚类精度更高,说明其对高数据维数和离群值的处理效果较好。对于d5、d6和d7,与其他五种方法相比,该方法仍表现出较好的性能,对于具有离群数据和重叠聚类的真实数据,本发明所提方法同样具有可比性甚至更优的性能。
[0133]
综上,在本发明中,基于fps聚类方法,dfps聚类方法可以随着数据流的变化而不断进化,同时更新前期聚类经验。与fps聚类方法类似,通过对前一个聚类和新聚类之间的聚类扩展来更新聚类信息,可以有效地捕捉数据流的过去状态和现在状态之间的关联。采用式(4)进行密度估计,在不丢失以往数据特征的情况下,大大降低了计算复杂度,提高了聚类速度。
[0134]
以上参考根据本发明的实施例的方法、系统和计算机程序产品的框图和/或操作说明描述了本发明的实施例。框中所注明的各功能/动作可以按不同于任何流程图所示的
次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。
[0135]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1