CN105354243B - 基于归并聚类的并行化频繁概率子图搜索方法 - Google Patents
基于归并聚类的并行化频繁概率子图搜索方法 Download PDFInfo
- Publication number
- CN105354243B CN105354243B CN201510666545.0A CN201510666545A CN105354243B CN 105354243 B CN105354243 B CN 105354243B CN 201510666545 A CN201510666545 A CN 201510666545A CN 105354243 B CN105354243 B CN 105354243B
- Authority
- CN
- China
- Prior art keywords
- probability
- subgraph
- node
- cluster
- merger
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于归并聚类的并行化频繁概率子图搜索方法。本发明针对现有频繁子图搜索方法中时空消耗大、无法满足大数据环境要求等问题,首先采用节点电压法将概率子图映射为电路拓扑进行处理;然后利用归并聚类对概率子图进行聚类,有效降低时间开销;最后基于Spark框架对方法进行实现,进一步提升计算速度及可扩展性。
Description
技术领域
本发明涉及一种基于归并聚类的并行化频繁概率子图挖掘方法,用于实现大规模概率网络中频繁概率子图的快速挖掘与识别,属于计算机数据挖掘技术领域。
背景技术
随着信息及互联网技术的不断涌现,产生了大量的网络数据,如社交网络、生物网络等,这些网络均可以用图模型来表示。如何高效地实现图数据集上的数据挖掘,已经成为数据挖掘研究领域的热点问题之一。在实际应用中,很多图数据是以概率的形式存在的。例如,在生物信息学领域,研究得到的生物网络数据通常带有不可避免的实验误差或噪声数据;同时,生物进化过程本身也是一种动态变化的过程。在社会网络中,人与人的关系往往存在一定的不确定性。因此,在这些以图模型描述的数据对象中,节点和边的属性值通常在一定值域内满足某种概率分布,边的存在通过概率进行表达。因为图的不确定性的广泛存在,所以针对概率图集的数据挖掘方法研究具有十分重要的意义。但总的来说,目前这方面的研究工作还比较少。
在图论领域,传统的频繁模式挖掘多是在确定图数据上进行的,主要的方法包括gSpan、Gaston、FFSM、FSG和AGM等。为了减少冗余的子图,研究人员提出基于SPIN算法来识别极大频繁子图。此外,研究人员还提出了发现闭合频繁子图模式的CloseGraph算法。然而,目前已有的许多非概率图频繁模式发现算法,都很难应用到概率图频繁子图的识别中。在不确定数据挖掘领域,与概率图频繁子图识别相关的算法也比较少。虽然在概率频繁项集识别方面,已有研究人员提出基于概率数据流识别频繁项的随机算法、裁剪方法和U-Apriori算法,以及针对裁剪方法的改进算法等。但是,这些针对概率频繁项集识别的方法也很难扩展到概率图上。
针对上述问题,基于电路模拟的概率子图挖掘方法具有一定优势。但是,该方法的处理过程较为复杂,尤其在处理对称图时,该方法会产生多种可能的映射序列,从而需退化成枚举顶点映射序列再进行邻接矩阵匹配的计算,效率愈加低下。此外,当采用该方法对大量概率子图进行搜索时,如何高效地进行聚类是影响该方法执行效率的关键,而传统方法往往采用简单层次聚类进行频繁子图挖掘。但在简单层次聚类过程中,通常需首先选取所有子图类中距离最小的两个子图进行合并,再更新所有子图之间的距离,每次聚类只能减小一类,因而其时空复杂度高达O(n3),这显然不适合用来处理规模较大的图数据。综上,现有概率子图搜索方法在处理大规模概率图数据时存在很大不足。因此,亟需针对大规模概率图数据,设计一种能够充分利用概率图特性的频繁概率子图挖掘方法。
发明内容
发明目的:针对现有技术中存在的问题与不足,本发明提供一种基于归并聚类的并行化频繁概率子图搜索方法,该方法能够在保证计算精度的基础上,有效解决采用简单层次聚类处理大规模概率图数据的时空复杂度过高的问题。
技术方案:一种基于归并聚类的并行化频繁概率子图搜索方法,与已有方法不同的是,首先,该方法在对节点电压序列的计算时,添加一个参考节点,并在原图中每个节点与此参考节点之间添加一条带权边,对此参考节点施加全激励,从而使原来需要求解2n个n-1阶的线性代数方程组,变成求解2个n阶的线性方程组(n为图的顶点数),可以使效率大大提高;然后,利用归并聚类处理大部分概率子图,加速聚类过程,大大降低计算的时空开销;最后,为适应日益增长的数据量及并行化环境的需求,本发明还建立了基于Spark并行框架的实现结构,进一步提高了该方法的性能和可扩展性。
具体可分为四个步骤:步骤1预处理概率子图,首先对输入的概率网络(概率图)进行概率子图划分,得到指定节点个数的概率子图集,将概率子图对应的邻接矩阵存储为HDFS文件,然后加载到弹性分布式数据集(Resilient Distributed Datasets,RDD);步骤2对每个Spark计算节点中的概率子图,将其邻接矩阵转换成对应的伴随电路,再根据节点电压法,得到节点电压序列;步骤3对每个Spark计算节点中的概率子图均进行归并聚类计算,得到若干概率子图同构类,直到每个Spark计算节点均收敛,再将结果汇总,并对汇总的概率子图同构类再进行一次归并聚类;步骤4计算每个概率子图同构类的子图数量,得出频率,进而得到频繁概率子图。
在预处理概率子图阶段,从输入的概率网络(概率图)中不重复、不遗漏地识别出所有具有给定节点个数的概率子图,采用基于Spark框架的实现结构,将得到的概率子图存储到HDFS文件系统,然后将所有子图加载到RDD。
在将所有概率子图的邻接矩阵转换为伴随电路求节点电压序列时,首先将概率子图的邻接矩阵转换成对应的伴随电路,然后添加一个参考节点,通过节点电压法对整个伴随电路施加全激励得到节点电压序列。具体步骤为:
1)针对输入的概率子图g(假设有k个节点v1、v2、…、vk),将概率图g的每一条边均用其概率p(即p∈(0,1))的倒数1/p表示电阻值(即当边概率值趋于0时,该段电路断开,表示该段电路对整个节点电压影响很小)。
2)增加一个参考节点vk+1,并在新增的节点与原图中每个节点之间增加一个电阻值为1/2的电阻,得到概率子图g的伴随电路N。
3)以新增节点vk+1为参考节点,对伴随电路N施加全激励(即在节点vk+1与其他任意节点之间施加相同的电流源Is,电流值均选为1A,在vk+1与其余k个节点之间的电流均从节点vk+1指向其余节点)。
4)根据U/R=I(其中R=1/P)得出概率子图g的节点电压序列U。
采用基于Spark框架的实现结构,对每个Spark计算节点中的概率子图均进行归并聚类计算,得到若干概率子图同构类,直到每个计算节点均收敛,再将各计算节点的结果汇总,对汇总的概率子图同构类再进行一次归并聚类,归并聚类的具体步骤为:
1)聚类初始化:假设共有n个概率子图构成概率子图集G={g1,g2,…,gn},则先让其中每个概率子图自成一类,它们作为n个聚类树的n个叶子节点,而概率子图的标号集Rg={1,2,…,n},并设置阈值参数ε和θ。
2)归并聚类:假设聚类总数L,而flag用来标识归并聚类过程中是否有聚合操作,其初始值为0;对于从i=1到i=L/2的概率子图,计算gi和gi+L/2是否同构(采用比较间隔步长为L/2,每层聚类后将打乱当前的图类序列,以避免在每层聚类时,由于两两比较的类别没有发生变化而产生聚类的效果较差的情况)。具体步骤为:
(a)首先根据两个概率子图gi、gi+L/2的节点电压序列U和U′,利用欧式距离求出两个概率子图的距离矩阵D。
(b)再利用匈牙利算法处理距离矩阵D,得出概率子图gi和gi+L/2的节点映射关系,同时计算出两概率子图节点电压序列的错配值VMval。
(c)接着根据节点映射关系调整两个概率子图gi、gi+L/2的邻接矩阵d和d′,然后计算调整后d和d′之间的错配值PMval。
(d)根据上述计算结果进行判断,若VMval<ε且PMval<θ,则将两概率子图聚成一类。同时修改概率子图集Rg,修改flag为1。
3)重新计算聚类总数L,若flag为1则回到步骤2)继续计算,直到flag不再为1时停止归并聚类,并汇总各个Spark计算节点的聚类结果,然后再进行一次归并聚类。
通过统计每个概率子图同构类中子图数量sum,并利用初始概率子图集的子图数量n,判断sum/n与预设的频繁度f之间的关系,若sum/n>f,则判定其是否为频繁概率子图。
有益效果:本发明与现有技术相比,具有以下优点:
1.将概率子图的拓扑结构转换为对应的伴随电路,避免了采用传统可能世界模型(possible world model)的枚举策略,并且通过增加一个参考节点,极大缩短计算时间。
2.利用归并聚类方法,解决传统的简单层次聚类中任意两个概率子图两两判定方法复杂度过高的问题。在保证聚类准确度的同时,有效降低了时空复杂度。
3.建立了基于Spark并行框架的实现结构,进一步提高频繁概率子图搜索方法的执行速度,并增加了方法的可扩展能力,使之能够适应大数据环境的应用需求。
附图说明
图1为本发明实施例中概率子图g转换成对应伴随电路N的过程图;
图2为本发明实施例的基于Spark框架的并行化方案图;
图3为本发明实施例的归并聚类流程图。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明具体实施时包括以下几个阶段:
步骤1,对概率子图进行预处理。从输入的概率网络(概率图)中不重复、不遗漏地识别出所有给定节点大小的概率子图。采用基于Spark并行框架的实现结构,将得到的概率子图存储到HDFS文件系统,然后将所有概率子图文件加载到弹性分布式数据集(ResilientDistributed Datasets,RDD),以便后续处理。
步骤2,计算概率子图的节点电压序列。首先将概率子图的邻接矩阵转换成对应的伴随电路,然后添加一个参考节点,通过节点电压法对整个伴随电路施加全激励,得到节点电压序列。其过程如图1所示。
考虑一个具有4个节点v1、v2,v3和v4的概率子图g(图1-A),其对应的邻接矩阵如图1-B所示,首先将概率图g的每一条边均用其概率p(即p∈(0,1))的倒数1/p表示电阻值(图1-C);接着,增加一个参考节点v5,将新增的节点与原图中每个节点之间增加一个阻值为1/2的电阻,即电导为2,得到概率子图g的伴随电路N;然后,以新增节点v5为参考节点,对伴随电路N施加全激励(即在节点v5与其他任意节点之间施加相同的电流源Is,电流值均选为1A,在v5与其余4个节点之间电流都是从节点v5指向其余节点,如图1-D所示);最后,根据U/R=I(其中R=1/P)得出概率子图g的节点电压序列U。
步骤3,归并聚类阶段。采用基于Spark框架的实现结构,对每个Spark计算节点中的概率子图均进行归并聚类计算,得到若干概率子图同构类,直到每个Spark计算节点均收敛(即聚类个数不再变化),再将结果汇总,并对汇总的概率子图同构类再进行一次归并聚类,其过程如图2所示。
在上述过程中的归并聚类过程如图3中所示,包括如下子步骤:
1)聚类初始化:假设共有n个概率子图构成概率子图集G={g1,g2,…,gn},则先让其中每个概率子图自成一类,它们作为n个聚类树的n个叶子节点,而概率子图的标号集Rg={1,2,…,n},并设置阈值参数ε和θ。
2)归并聚类:假设聚类总数L,而flag用来标识归并聚类过程中是否有聚合操作,其初始值为0;对于从i=1到i=L/2的概率子图,计算gi和gi+L/2是否同构(采用比较间隔步长为L/2,每层聚类后将打乱当前的图类序列,以避免在每层聚类时,由于两两比较的类别没有发生变化而产生聚类的效果较差的情况)。具体步骤和计算公式如下:
(a)首先根据两个概率子图gi、gi+L/2的节点电压序列U和U′,求出两个概率子图的距离矩阵D,具体计算公式如下。例如,求矩阵A和矩阵B的距离矩阵DAB,其计算公式如下:
(b)再利用匈牙利算法处理距离矩阵D,得出概率子图gi和gi+L/2的节点映射关系<map,map′>,同时计算出两个节点序列s和s′的错配置VMval,其计算公式如下:
(c)接着根据映射关系<map,map′>调整两个概率子图gi、gi+L/2的邻接矩阵d和d′,然后计算调整后d和d′之间的错配置PMval,其计算公式如下:其中vij和分别表示在邻接矩阵d和d′中,位于第i行、第j列的元素。
(d)设置同构标志iso的初值为0,根据上述计算结果进行判断,若VMval<ε且PMval<θ,则将同构标志iso置为1,将两概率子图聚成一类。同时修改概率子图集Rg,修改flag为1。
3)重新计算聚类总数L,若flag为1则回到步骤2)继续计算,直到flag不再为1时停止归并聚类,并汇总各个Spark计算节点归并聚类的结果,然后进行一次归并聚类。
步骤4,概率子图频繁度计算。在通过归并聚类得到概率图集后,计算每个概率子图同构类中的子图数量sum,并利用初始概率子图集的子图数量n,判断sum/n与预设的频繁度f之间的关系,若sum/n>f则判定其为频繁概率子图。
最后应说明的是:本发明还可有其他多种实施方式,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (5)
1.一种基于归并聚类的并行化频繁概率子图搜索方法,其特征在于,包括以下步骤:
步骤1:预处理概率子图;首先将待处理的概率网络,进行概率子图划分,得到指定节点个数的概率子图集,然后将这些概率子图对应的邻接矩阵存储为HDFS文件,并将所有概率子图集加载到弹性分布式数据集(Resilient Distributed Datasets,RDD);
步骤2:对每个Spark计算节点中的概率子图,将其邻接矩阵转换成对应的伴随电路,通过添加一个参考节点,并根据节点电压法,得到概率子图的节点电压序列;
步骤3:对每个Spark计算节点中的概率子图均进行归并聚类计算,得到若干概率子图同构类,直到每个计算节点均收敛,将结果汇总,对汇总的概率子图同构类再进行一次归并聚类;
步骤4:计算每个概率子图同构类的概率子图数量,得出频率,进而得到频繁概率子图。
2.根据权利要求1所述的基于归并聚类的并行化频繁概率子图搜索方法,其特征在于:在预处理概率子图阶段,从输入的概率网络中不重复、不遗漏地识别出所有具有给定节点个数的概率子图,采用基于Spark框架的实现结构,将得到的概率子图存储到HDFS文件系统,然后将所有子图加载到RDD。
3.根据权利要求1所述的基于归并聚类的并行化频繁概率子图搜索方法,其特征在于:在将所有概率子图的邻接矩阵转换为伴随电路求节点电压序列时,首先将概率子图的邻接矩阵转换成对应的伴随电路,然后添加一个参考节点,通过节点电压法对整个伴随电路施加全激励得到节点电压序列;具体步骤为:
1)针对输入的概率子图g,假设有k个节点v1、v2、…、vk,将概率图g的每一条边均用其概率p的倒数1/p表示电阻值,p∈(0,1);
2)增加一个参考节点vk+1,并在新增的节点与原图中每个节点之间增加一个电阻值为1/2的电阻,得到概率子图g的伴随电路N;
3)以新增节点vk+1为参考节点,对伴随电路N施加全激励,即在节点vk+1与其他任意节点之间施加相同的电流源Is,电流值均选为1A,在vk+1与其余k个节点之间的电流均从节点vk+1指向其余节点;
4)根据U/R=I得出概率子图g的节点电压序列U,其中R=1/P。
4.根据权利要求1所述的基于归并聚类的并行化频繁概率子图搜索方法,其特征在于:采用基于Spark框架的实现结构,对每个Spark计算节点中的概率子图均进行归并聚类计算,得到若干概率子图同构类,直到每个计算节点均收敛,再将各计算节点的结果汇总,对汇总的概率子图同构类再进行一次归并聚类,归并聚类的具体步骤为:
1)聚类初始化:假设共有n个概率子图构成概率子图集G={g1,g2,…,gn},则先让其中每个概率子图自成一类,它们作为n个聚类树的n个叶子节点,而概率子图的标号集Rg={1,2,…,n},并设置阈值参数ε和θ;
2)归并聚类:假设聚类总数L,而flag用来标识归并聚类过程中是否有聚合操作,其初始值为0;对于从i=1到i=L/2的概率子图,计算gi和gi+L/2是否同构,采用比较间隔步长为L/2,每层聚类后将打乱当前的图类序列,以避免在每层聚类时,由于两两比较的类别没有发生变化而产生聚类的效果较差的情况;具体步骤为:
(a)首先根据两个概率子图gi、gi+L/2的节点电压序列U和U′,利用欧式距离求出两个概率子图的距离矩阵D;
(b)再利用匈牙利算法处理距离矩阵D,得出概率子图gi和gi+L/2的节点映射关系,同时计算出两概率子图节点电压序列的错配值VMval;
(c)接着根据节点映射关系调整两个概率子图gi、gi+L/2的邻接矩阵d和d′,然后计算调整后d和d′之间的错配值PMval;
(d)根据上述计算结果进行判断,若VMval<ε且PMval<θ,则将两概率子图聚成一类,同时修改概率子图集Rg,修改flag为1;
3)重新计算聚类总数L,若flag为1则回到步骤2)继续计算,直到flag不再为1时停止归并聚类,并汇总各个Spark计算节点的聚类结果,然后再进行一次归并聚类。
5.根据权利要求1所述的基于归并聚类的并行化频繁概率子图搜索方法,其特征在于:通过统计每个概率子图同构类中子图数量sum,并利用初始概率子图集的子图数量n,判断sum/n与预设的频繁度f之间的关系,若sum/n>f,则判定其是否为频繁概率子图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510666545.0A CN105354243B (zh) | 2015-10-15 | 2015-10-15 | 基于归并聚类的并行化频繁概率子图搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510666545.0A CN105354243B (zh) | 2015-10-15 | 2015-10-15 | 基于归并聚类的并行化频繁概率子图搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105354243A CN105354243A (zh) | 2016-02-24 |
CN105354243B true CN105354243B (zh) | 2018-05-18 |
Family
ID=55330216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510666545.0A Active CN105354243B (zh) | 2015-10-15 | 2015-10-15 | 基于归并聚类的并行化频繁概率子图搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105354243B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570173B (zh) * | 2016-11-09 | 2020-09-29 | 重庆邮电大学 | 一种基于Spark的高维稀疏文本数据聚类方法 |
CN111737321B (zh) * | 2020-07-02 | 2024-06-14 | 大连理工大学人工智能大连研究院 | 基于数据挖掘的城市大气污染联防联控区域划分方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446978A (zh) * | 2008-12-11 | 2009-06-03 | 南京大学 | 基于频繁项集挖掘的核心节点发现方法 |
CN104899283A (zh) * | 2015-06-02 | 2015-09-09 | 中国人民解放军国防科学技术大学 | 一种针对单个不确定图的频繁子图挖掘与优化方法 |
-
2015
- 2015-10-15 CN CN201510666545.0A patent/CN105354243B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446978A (zh) * | 2008-12-11 | 2009-06-03 | 南京大学 | 基于频繁项集挖掘的核心节点发现方法 |
CN104899283A (zh) * | 2015-06-02 | 2015-09-09 | 中国人民解放军国防科学技术大学 | 一种针对单个不确定图的频繁子图挖掘与优化方法 |
Non-Patent Citations (2)
Title |
---|
一种新的图同构判定算法——电路模拟;商慧亮;《中国博士学位论文全文数据库》;20091115(第11期);全文 * |
生物概率网络中频繁模式识别算法的研究;邱坤浦;《东南大学硕士论文》;20140918;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105354243A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
He et al. | Mr-dbscan: an efficient parallel density-based clustering algorithm using mapreduce | |
Ding et al. | Research on data stream clustering algorithms | |
CN102915347B (zh) | 一种分布式数据流聚类方法及系统 | |
Qiao et al. | A fast parallel community discovery model on complex networks through approximate optimization | |
Ghesmoune et al. | A new growing neural gas for clustering data streams | |
Zhang et al. | Local community detection based on network motifs | |
Ma et al. | Large-scale schema-free data deduplication approach with adaptive sliding window using mapreduce | |
Zhao et al. | Data clustering using particle swarm optimization | |
Tang et al. | Efficient Processing of Hamming-Distance-Based Similarity-Search Queries Over MapReduce. | |
Kanezashi et al. | Adaptive pattern matching with reinforcement learning for dynamic graphs | |
Hu et al. | Parallel clustering of big data of spatio-temporal trajectory | |
Hassani et al. | I-hastream: density-based hierarchical clustering of big data streams and its application to big graph analytics tools | |
CN105354243B (zh) | 基于归并聚类的并行化频繁概率子图搜索方法 | |
Chehreghani | Efficient computation of pairwise minimax distance measures | |
Suguna | Ensemble fuzzy clustering for mixed numeric and categorical data | |
Singh et al. | Survey on outlier detection in data mining | |
Ma et al. | Parallel NoSQL entity resolution approach with MapReduce | |
Nguyen Mau et al. | Audio fingerprint hierarchy searching strategies on GPGPU massively parallel computer | |
Gholami et al. | A survey on algorithms of mining frequent subgraphs | |
Rivero et al. | On isomorphic matching of large disk-resident graphs using an XQuery engine | |
He et al. | A Novel DBSCAN Based on Binary Local Sensitive Hashing and Binary‐KNN Representation | |
Chen et al. | DisITQ: A distributed iterative quantization hashing learning algorithm | |
Luo et al. | Survey on real-time anomaly detection technology for big data streams | |
Das et al. | Challenges and approaches for large graph analysis using map/reduce paradigm | |
Han et al. | Tensor based relations ranking for multi-relational collective classification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |