CN113704570B - 基于自监督学习式进化的大规模复杂网络社区检测方法 - Google Patents
基于自监督学习式进化的大规模复杂网络社区检测方法 Download PDFInfo
- Publication number
- CN113704570B CN113704570B CN202110665380.0A CN202110665380A CN113704570B CN 113704570 B CN113704570 B CN 113704570B CN 202110665380 A CN202110665380 A CN 202110665380A CN 113704570 B CN113704570 B CN 113704570B
- Authority
- CN
- China
- Prior art keywords
- population
- sub
- solution
- determining
- network
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 59
- 230000006870 function Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 230000001413 cellular effect Effects 0.000 claims description 2
- 230000006916 protein interaction Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 9
- 239000013598 vector Substances 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000004931 aggregating effect Effects 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于自监督学习式进化的大规模复杂网络社区检测方法,包括步骤:根据目标网络社区,确定目标网络社区对应的原始种群;将原始种群分解成第一子种群和第二子种群;采用基于自监督学习的方法对第一子种群进行更新,得到第一更新子种群,并采用基于广度学习的方法对第二子种群进行更新,得到第二更新子种群;根据原始种群、第一更新子种群以及第二更新子种群,确定目标网络社区对应的进化种群;当进化种群满足终止条件时,将进化种群作为最优种群。本发明将大规模复杂网络社区结构检测问题建模成一个两目标的优化问题,通过基于自监督学习式进化方法和基于广度学习的方法同时优化这两个目标,实现对大规模复杂网络的最优社区结构检测。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及的是一种基于自监督学习式进化的大规模复杂网络社区检测方法。
背景技术
进入21世纪的大数据时代,以因特网为代表的信息技术的迅猛发展使人类社会大步迈入了大规模复杂网络时代。在现实世界中许多系统以网络的形式存在,从互联网世界中的万维网到交通系统中的路线网,从电子领域中的超大规模集成电路到电力系统中的大型电力网络,从生物系统中的细胞神经网络到蛋白质互相作用网络,从社会关系中的社交网络到科学家之间的合作关系网,大规模复杂网络无处不在。社区结构检测是大规模复杂网络分析中的一项关键任务,它有助于理解以大规模复杂网络为代表的系统的特性,且对实际应用具有重要的意义。大规模复杂的网络结构由几十万甚至上百万对节点与节点之间的关系组成。大规模复杂网络研究的主要问题之一是对社区结构的高效快速检测。现实世界的网络通常由功能单元组成,这些功能单元以网络模块或社区的形式表现出来,同一社区内部的节点在连接程度非常紧密,不同社区之间的连接相对稀疏。社区结构作为复杂网络的重要特性,在一定程度上可以反映网络的重要特征。因此,识别社区结构对于描述网络组织结构和理解复杂系统至关重要。但是,随着网络规模的不断扩大使得网络结构变得非常复杂,很多传统的方法在处理大规模复杂网络的社区结构检测时存在一些缺陷。现有技术中存在的以下问题:(1)现有基于聚类的社区检测方法大多需要一定的先验知识来预先指明目标网络中社区的数量,而对于大规模复杂网络社区检测,网络中社区的数量是很难预先确定的;(2)现有的基于进化算法的社区检测方法只能处理小规模的网络社区检测问题,对于大规模复杂网络社区的检测,传统进化算法的搜索效率低且收敛速度很慢,因此很难实现的对大规模复杂网络社区的快速高效检测。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于自监督学习式进化的大规模复杂网络社区检测方法,旨在解决现有技术中很难实现对大规模复杂网络社区的快速高效检测的问题。
本发明解决技术问题所采用的技术方案如下:
一种基于自监督学习式进化的大规模复杂网络社区检测方法,其中,包括步骤:
根据目标网络社区,确定所述目标网络社区对应的原始种群;
将所述原始种群分解成第一子种群和第二子种群;其中,所述第一子种群的平均适应度值大于所述第二子种群的平均适应度值;
采用基于自监督学习的方法对所述第一子种群进行更新,得到第一更新子种群,并采用基于广度学习的方法对所述第二子种群进行更新,得到第二更新子种群;
根据所述原始种群、所述第一更新子种群以及所述第二更新子种群,确定所述目标网络社区对应的进化种群;
当所述进化种群满足终止条件时,将所述进化种群作为最优种群。
所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其中,所述检测方法还包括:
当所述进化种群不满足终止条件时,将所述进化种群作为原始种群,并继续执行将所述原始种群分解成第一子种群和第二子种群的步骤,直至所述进化种群满足终止条件时,将所述进化种群作为最优种群。
所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其中,所述采用基于自监督学习的方法对所述第一子种群进行更新,得到第一更新子种群,具体包括:
对所述目标网络中的所有网络节点进行分组,得到若干个变量组;
确定各变量组各自分别对应的自编码器;其中,所述自编码器包括编码单元和解码单元;
针对所述第一子种群中的每个解个体,根据该解个体和所有编码单元,得到该解个体对应的表示空间;对所述表示空间进行进化操作,得到新的表示空间;根据所述新的表示空间和所有解码单元,确定该解个体对应的更新的解个体,以得到第一更新子种群;其中,所述表示空间的维度小于所述解个体的维度。
所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其中,所述采用基于广度学习的方法对所述第二子种群进行更新,得到第二更新子种群,还包括:
确定所述第一子种群的若干个目标解个体;其中,所述目标解个体的数量与所述变量组的数量相同;
对于所述第二子种群中的每个解个体,根据所有目标解个体以及所有变量组对该解个体进行进化操作,确定该解个体对应的更新的解个体,以得到第二更新子种群。
所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其中,所述根据目标网络社区,确定所述目标网络社区对应的原始种群,具体包括:
根据目标网络社区,确定所述目标网络社区对应的目标网络;
根据所述目标网络,确定所述目标网络社区对应的原始种群。
所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其中,所述目标网络包括若干个网络节点;
所述根据所述目标网络,确定所述目标网络社区对应的原始种群,具体包括:
确定所述目标网络中各网络节点各自分别对应的度值;其中,所述度值为连接的网络节点的数量;
根据所有各网络节点的度值,确定所述目标网络的候选社区中心节点;
根据所述候选社区中心节点,确定所述目标网络社区对应的原始种群。
所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其中,所述将所述原始种群分解成第一子种群和第二子种群,具体包括:
确定所述原始种群对应的目标空间;所述目标空间包括:各解个体各自分别对应的目标函数值,所述目标函数值包括KKM目标函数值和RC目标函数值;
将所述目标空间分解成若干个子空间;其中,每个子空间包括至少两个解个体分别对应的目标函数值;
确定各子空间中各解个体各自分别对应的适应度值;
将各子空间的解个体分为第一类解个体和第二类解个体;其中,所述第一类解个体中解个体的适应度值大于所述第二类解个体中解个体的适应度值;
根据所有子空间中第一类解个体,确定所述第一子种群;
根据所有子空间中第二类解个体,确定所述第二子种群。
所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其中,所述根据所述原始种群、所述第一更新子种群以及所述第二更新子种群,确定所述目标网络社区对应的进化种群,具体包括:
根据所述原始种群中各解个体各自分别对应的目标函数值、所述第一更新子种群中各解个体各自分别对应的目标函数值以及所述第二更新子种群中各解个体各自分别对应的目标函数值,确定所述目标网络社区对应的进化种群。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
有益效果:本发明将大规模复杂网络社区结构检测问题建模成目标的优化问题,通过基于自监督学习式进化方法和基于广度学习的方法优化目标,实现对大规模复杂网络的最优社区结构检测。
附图说明
图1是本发明中基于自监督学习式进化的大规模复杂网络社区检测方法的第一流程图。
图2是本发明中基于参考方向引导的聚类方法分解得到子种群的示意图。
图3是本发明中随机分解变量组的示意图。
图4是本发明中基于自监督学习的方法更新子种群的示意图。
图5是本发明中本发明中基于自监督学习式进化的大规模复杂网络社区检测方法的第二流程图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请同时参阅图1-图5,本发明提供了一种基于自监督学习式进化的大规模复杂网络社区检测方法的一些实施例。
如图5所示,本发明实施例中基于自监督学习式进化的大规模复杂网络社区检测方法,包括以下步骤:
步骤S100、根据目标网络社区,确定所述目标网络社区对应的原始种群。
具体地,目标网络社区是指由大量节点与各节点之间的关系所形成的社区。原始种群是指根据目标网络社区初始化得到的种群。目标网络社区具体为大规模复杂网络社区,本发明将大规模复杂网络社区结构检测问题建模成一个两目标的优化问题。先根据目标网络社区,得到目标网络社区对应的原始种群。由于原始种群是根据目标网络社区初始化得到的种群,没有进行两目标优化,因此,原始种群并不是最优种群。
步骤S100具体包括:
步骤S110、根据目标网络社区,确定所述目标网络社区对应的目标网络。
具体地,这里可以将一个大规模复杂网络社区抽象成一个目标网络,目标网络可以用无向图表示,即G(V,E),其中V={v1,v2,...,vn}表示目标网络中所有网络节点的集合,E={(vi,vj)|vi∈V,vj∈V,and i≠j}表示目标网络中不同网络节点之间边的集合,n=|V|表示目标网络中网络节点的数目。
G(V,E)可以进一步用它的邻接矩阵A=(Ai,j)n×n表示,其中Ai,j=Aj,i且Ai,j∈{0,1}。这里一方面Ai,j=0表示G(V,E)中的第i个网络节点和第j个网络节点之间没有边相连,另一方面Ai,j=1表示G(V,E)中的第i个网络节点和第j个网络节点之间有边相连。
网络社区的网络节点的数量超过预设节点数量,且不同网络节点之间边的数量超过预设边数量时,则可以将该网络社区作为大规模复杂网络社区。本发明中所述目标网络包括若干个网络节点,网络节点的数量超过预设节点数量,不同网络节点之间边的数量超过预设边数量。
将对目标网络G(V,E)进行社区结构检测建模成一个两目标的优化问题,目的是通过寻找一组最优中心节点来实现最优的社区结构检测,主要包括以下步骤:
目标网络G(V,E)中的每一个网络节点都可以潜在地看作是某一个社区的中心节点,中心节点的个数用k表示,这也就意味着目标网络G(V,E)被检测为以各自的中心节点为聚类中心的k个社区。
确定社区中心节点的过程中,每一个解个体可以定义为一个n维的二进制向量b=(b1,b2,L,bi,L,bn)∈{0,1}n,其中n表示整个网络中节点的个数,bi表示第i个网络节点vi是否为中心节点,如果vi是中心节点那么bi=1,否则bi=0。
确定社区中心节点后,整个目标网络中的所有网络节点可以划分为两个类别,即中心节点的集合CN,以及非中心节点的集合NC。
通过计算CN中的中心节点以及NC中的非中心节点之间的距离来定义它们之间的关系矩阵U=(Ui,j)(n-k)×k,其中Ui,j表示NC中的第i个非中心节点NCi和CN中的第j个中心节点CNj之间的隶属度,Ui,j的具体计算如以下公式所示
其中dis(NCi,CNj)表示节点NCi和节点CNj之间的基于谱聚类的欧式距离,l表示社区的序号,k表示社区的数量。
把CN中的第j个中心节点CNj当成是第j个社区Cj的中心点,然后根据非中心节点与中心节点之间的关系矩阵U,如果Ui,j=maxl=1,...,kUi,l,就可以把NC中的第i个非中心节点NCi划分到第j个社区Cj中。
可以把目标网络G(V,E)检测为具有k个社区的结构C={C1,C2,…,Ck},那么目标网络G(V,E)中社区结构检测的两个优化目标就可以定义为如下:
其中Au,w是目标网络G(V,E)的邻接矩阵。这里的第一个目标函数KKM表示所有社区的内部链接密度,第二个目标RC表示不同社区之间的外部链接密度。通过最小化这两个目标函数可以确保最终的检测结果中每一个社区内网络节点之间的连接是密切的而不同社区之间的联系是稀疏的。
步骤S120、根据所述目标网络,确定所述目标网络社区对应的原始种群。
具体地,确定目标网络后,可以根据目标网络确定目标网络社区对应的原始种群。
步骤S120具体包括:
步骤S121、确定所述目标网络中各网络节点各自分别对应的度值;其中,所述度值为连接的网络节点的数量。
步骤S122、根据所有各网络节点的度值,确定所述目标网络的候选社区中心节点。
步骤S123、根据所述候选社区中心节点,确定所述目标网络社区对应的原始种群。
目标网络中每一网络节点的度值定义为与之相连的网络节点的个数,这样就可以计算出目标网络中每个网络节点的度值。例如,目标网络中某一网络节点与7个其它网络节点连接,则该网络节点的度值为7;再如,目标网络中某一网络节点与10个其它网络节点连接,则该网络节点的度值为10。
将度值较大的网络节点以较大的概率初始化为候选中心点,因为位于社区中心的网络节点很可能与其他网络节点有更多的连接。因此,初始的解个体中度值越大的网络节点越有可能成为中心节点,即对应的二进制变量大概率为bi=1。例如,度值最大的网络节点初始化为中心节点的概率为95%,而度值最小的网络节点初始化为中心节点的概率为5%。
根据以上的策略初始化一个拥有N个解个体的原始种群P,其中,每一个解个体是n维的二进制向量b,因此可形成一个n维的变量空间,当n的值非常大时(例如n的值达到几十万甚至几百万),也即网络中的网络节点非常多时,称之为大规模复杂网络的变量空间或者决策空间。
步骤S200、将所述原始种群分解成第一子种群和第二子种群;其中,所述第一子种群的平均适应度值大于所述第二子种群的平均适应度值。
具体地,平均适应度值是指原始种群中各解个体的适应度值的平均值,通过平均适应度值将原始种群分解成第一子种群和第二子种群。第一子种群的平均适应度值大于第二子种群的平均适应度值。
步骤S200具体包括:
步骤S210、确定所述原始种群对应的目标空间;所述目标空间包括:各解个体各自分别对应的目标函数值,所述目标函数值包括KKM目标函数值和RC目标函数值。
步骤S220、将所述目标空间分解成若干个子空间;其中,每个子空间包括至少两个解个体分别对应的目标函数值。
步骤S230、确定各子空间中各解个体各自分别对应的适应度值。
步骤S240、将各子空间的解个体分为第一类解个体和第二类解个体;其中,所述第一类解个体中解个体的适应度值大于所述第二类解个体中解个体的适应度值。
步骤S250、根据所有子空间中第一类解个体,确定所述第一子种群。
步骤S260、根据所有子空间中第二类解个体,确定所述第二子种群。
目标网络G(V,E)中社区结构检测的两个优化目标为目标函数KKM和RC,计算出原始种群P中的每一个解个体的目标函数值,从而构成一个二维的目标空间,目标空间中的目标函数值有KKM目标函数值和RC目标函数值,因此,该目标空间为二维的目标空间。
在二维的目标空间中采用一种基于参考方向引导的聚类方法将原始种群P分解为两个子种群:第一类子种群P1和第二类子种群P2,具体如图2所示。
首先,在基于KKM和RC的二维目标空间中均匀地采样N个参考向量r1,r2,…,rN,这样,整个二维目标空间被划分为N个子空间。
根据参考向量引导的权值和来计算每个子空间中解个体的适应度值。
将适应度值较大的解个体聚为第一类解个体,然后将适应度值较小的解个体聚为第二类解个体。例如,以子空间中解个体的适应度值的中位值作为参考,适应度值大于或等于该中位值的解个体归为第一类解个体,适应度值小于该中位值的解个体归为第二类解个体。当然,还可以以子空间中解个体的适应度值的平均值作为参考,适应度值大于或等于该平均值的解个体归为第一类解个体,适应度值小于该平均值的解个体归为第二类解个体。
将所有子空间的根据所有子空间中第一类解个体聚为所述第一子种群。根据所有子空间中第二类解个体聚为所述第二子种群,从而得到第一类子种群P1和第二类子种群P2。当然,由于第一类解个体的适应度值大于第二类解个体的适应度值,则第一类子种群P1的平均适应度值大于第二类子种群P2的平均适应度值。
相比于P2中的解个体的质量,P1中的解个体对于优化KKM和RC这两个目标整体表现出更好的收敛性和多样性。适应度值是指解个体的权值和,具体为解个体中目标的值乘以相应的参考向量中的权值然后再相加。
步骤S300、采用基于自监督学习的方法对所述第一子种群进行更新,得到第一更新子种群,并采用基于广度学习的方法对所述第二子种群进行更新,得到第二更新子种群。
具体地,在得到两个子种群后,采用不同方法分别对第一子种群和第二子种群进行更新。采用基于自监督学习的方法对所述第一子种群进行更新,且采用基于广度学习的方法对所述第二子种群进行更新。
步骤S300具体包括:
步骤S310、对所述目标网络中的所有网络节点进行分组,得到若干个变量组。
步骤S320、确定各变量组各自分别对应的自编码器;其中,所述自编码器包括编码单元和解码单元。
步骤S330、针对所述第一子种群中的每个解个体,根据该解个体和所有编码单元,得到该解个体对应的表示空间;对所述表示空间进行进化操作,得到新的表示空间;根据所述新的表示空间和所有解码单元,确定该解个体对应的更新的解个体,以得到第一更新子种群;其中,所述表示空间的维度小于所述解个体的维度。
步骤S340、确定所述第一子种群的若干个目标解个体;其中,所述目标解个体的数量与所述变量组的数量相同。
步骤S350、对于所述第二子种群中的每个解个体,根据所有目标解个体以及所有变量组对该解个体进行进化操作,确定该解个体对应的更新的解个体,以得到第二更新子种群。
将整个大规模复杂网络的n维变量空间变量空间随机分解为M个变量组:g1,g2,…,gi,…,gj,…,gM,如图3所示。
每一个变量组gi是一组随机网络节点的集合gi={vi,1,vi,2,...,vi,m},且i,j表示变量组序号,M表示变量组的数量,m表示变量组中网络节点的数量。
基于变量分组,P1和P2中的每一个解个体的变量空间可以相应的分解为M个子变量空间,目的是通过对大规模的变量空间分化为多个低维的子空间,然后分别在子空间中进行进化搜索,即分而治之的策略来提高进化搜索的有效性。
对第一子种群P1中的每个解个体按照基于自监督学习的方法进行更新。
根据M个变量分组g1,g2,…,gM,用P1中的解个体训练出M个自编码器,如下图4所示。在训练自编码器时,可以采用基于梯度下降的反向传播方法进行训练,损失函数可以是最小平方误差。
每个变量分组对应一个自编码器,其中每一个自编码器是一个3层的神经网络,包括输入层,隐藏层和输出层,输入层和输出层中的神经元个数都是与其对应的变量组中的变量个数,而隐藏层神经元的个数为1个。
根据以上训练好的自编码器,P1中的每个解个体可以自监督式的得到它的一个M维的表示(w1,w2,…,wM),其中wi代表它通过与第i个变量组gi相对应的自编码器而得到的隐藏层上神经元的编码单元。
P1中解个体在通过自监督构成的M维表示空间中进行进化操作,包括交叉和变异,从而进化学习到它们新的M维空间的表示。
将P1中解个体在M维表示空间中新学习到降维解依次通过相对应的M个自编码器的解码单元解码回原来的n维变量空间,从而有效的更新P1中解个体,得到第一更新子种群。
通过在降维的M维表示空间根据自监督式进化学习来更新P1中的解个体,可以有效的提升进化搜索的效率,并且能加快整个种群的收敛速度。
对子种群P2中的每个解个体按照基于广泛学习的方法进行更新。
因为P1中的解个体对于优化KKM和RC这两个目标整体表现出更好的收敛性和多样性,所以,对于P2中的每个解个体,从子种群P1中随机挑选M个解个体进行进化操作。
对于P2中的每个解个体x∈P2,分别挑选得到的M个解个体{y1,y2,...,yM},在变量分组g1,g2,…,gM,进行交叉和变异。具体过程是:x与y1进行进化操作时只限制改变x中属于g1的变量,x与y2进行进化操作时只限制改变x中属于g2的变量,以此类推。这样x的一次更新中分别与来自P1中的M个解个体进行了进化学习,即广度学习,从而得到第二更新子种群。
步骤S400、根据所述原始种群、所述第一更新子种群以及所述第二更新子种群,确定所述目标网络社区对应的进化种群。
具体地,得到第一更新子种群和第二更新子种群后,根据所述原始种群、所述第一更新子种群以及所述第二更新子种群,确定所述目标网络社区对应的进化种群。
步骤S400具体包括
步骤S410、根据所述原始种群中各解个体各自分别对应的目标函数值、所述第一更新子种群中各解个体各自分别对应的目标函数值以及所述第二更新子种群中各解个体各自分别对应的目标函数值,确定所述目标网络社区对应的进化种群。
具体地,合并原始种群P以及新的两个子种群P1,P2中的所有解个体,然后进行环境选择,环境选择是在根据合并种群中的解个体对于优化KKM和RC这两个目标整体表现情况,择优选取其中多样性和收敛性表现好的N个解作为下一代的进化种群P'。
例如,采取基于参考方向引导的聚类方法,先将以上合并种群分成两个子种群,然后保留其中表现较好(适应度值高)的种群作为下一代的进化种群P'。
步骤S500、当所述进化种群满足终止条件时,将所述进化种群作为最优种群。
具体地,终止条件可以是进化种群的迭代次数超过预设迭代次数,也可以是进化种群的平均适应度值大于预设适应度阈值。当进化种群达到终止条件时,则将进化种群作为最优种群,并输出最终进化种群P'中的帕累托最优解集,确定最优的社区结构检测。
步骤S600、当所述进化种群不满足终止条件时,将所述进化种群作为原始种群,并继续执行将所述原始种群分解成第一子种群和第二子种群的步骤,直至所述进化种群满足终止条件时,将所述进化种群作为最优种群。
具体地,当进化种群不满足终止条件时,则要将进化种群作为原始种群进行迭代,具体返回到步骤S200,直至进化种群满足终止条件,将所述进化种群作为最优种群。
综上,本发明公开了一种基于自监督学习式进化的大规模复杂网络社区检测方法,主要解决现有技术中存在的以下问题:(1)现有基于聚类的社区检测方法大多需要一定的先验知识来预先指明目标网络中社区的数量,而对于大规模复杂网络社区检测,网络中社区的数量是很难预先确定的;(2)现有的基于进化算法的社区检测方法只能处理小规模的网络社区检测问题,对于大规模复杂网络社区的检测,传统进化算法的搜索效率低且收敛速度很慢,因此很难实现的对大规模复杂网络社区的快速高效检测。本发明的实现步骤为:(1)将目标大规模复杂网络抽象成一个无向图,初始化系统参数,设置迭代停止条件;(2)将大规模复杂网络社区结构检测问题建模成一个两目标的优化问题;(3)基于网络图中度值较大的节点作为候选社区中心节点的策略初始化一个原始种群P;(4)在目标空间采用一种基于参考方向引导的聚类方法将原始种群P分解为两个子种群:P1,P2;(5)将整个大规模复杂网络的变量空间随机均匀地分解为M个组;(6)对子种群P1中的每个解个体按照基于自监督学习的方法进行进化更新;(7)对子种群P2中的每个解个体按照基于广度学习的方法进行进化更新;(8)合并原始种群P和两个更新子种群P1,P2中的解个体,通过环境选择更新下一代进化种群;(9)判断终止条件是否满足;(10)输出最终的进化种群P中的帕累托最优解,并确定最优的社区结构检测。
本发明将大规模复杂网络社区结构检测问题建模成一个两目标的优化问题,其中第一个目标是最大化同一社区内节点之间的链接密度,第二个目标是使得不同社区之间的链接密度最稀疏,然后通过基于自监督学习式进化方法同时最优化这两个目标,以实现对目标大规模复杂网络的最优社区结构检测。
本发明具有如下效果:
1.在基于分而治之的多目标进化搜索模式中结合自监督学习策略来提升对大规模复杂网络社区结构进行检测的性能。
2.通过自监督学习策略将原大规模复杂网络社区结构进行检测的问题转换为低维简单网络中的社区结构检测问题,从而可以提升计算效率以及搜索的收敛速度。
3.通过引入基于广度学习的策略,保证进化搜索过程中种群的多样性,从而提升检测结果的准确性。
基于上述任意实施例所述的基于自监督学习式进化的大规模复杂网络社区检测方法,本发明还提供了一种计算机设备的较佳实施例:
本实施例的计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
根据目标网络社区,确定所述目标网络社区对应的原始种群;
将所述原始种群分解成第一子种群和第二子种群;其中,所述第一子种群的平均适应度值大于所述第二子种群的平均适应度值;
采用基于自监督学习的方法对所述第一子种群进行更新,得到第一更新子种群,并采用基于广度学习的方法对所述第二子种群进行更新,得到第二更新子种群;
根据所述原始种群、所述第一更新子种群以及所述第二更新子种群,确定所述目标网络社区对应的进化种群;
当所述进化种群满足终止条件时,将所述进化种群作为最优种群。
基于上述任意实施例所述的基于自监督学习式进化的大规模复杂网络社区检测方法,本发明还提供了一种计算机可读存储介质的较佳实施例:
本实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
根据目标网络社区,确定所述目标网络社区对应的原始种群;
将所述原始种群分解成第一子种群和第二子种群;其中,所述第一子种群的平均适应度值大于所述第二子种群的平均适应度值;
采用基于自监督学习的方法对所述第一子种群进行更新,得到第一更新子种群,并采用基于广度学习的方法对所述第二子种群进行更新,得到第二更新子种群;
根据所述原始种群、所述第一更新子种群以及所述第二更新子种群,确定所述目标网络社区对应的进化种群;
当所述进化种群满足终止条件时,将所述进化种群作为最优种群。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (8)
1.一种基于自监督学习式进化的大规模复杂网络社区检测方法,其特征在于,包括步骤:
根据目标网络社区,确定所述目标网络社区对应的原始种群;
将所述原始种群分解成第一子种群和第二子种群;其中,所述第一子种群的平均适应度值大于所述第二子种群的平均适应度值;
采用基于自监督学习的方法对所述第一子种群进行更新,得到第一更新子种群,并采用基于广度学习的方法对所述第二子种群进行更新,得到第二更新子种群;
根据所述原始种群、所述第一更新子种群以及所述第二更新子种群,确定所述目标网络社区对应的进化种群;
当所述进化种群满足终止条件时,将所述进化种群作为最优种群;
所述根据目标网络社区,确定所述目标网络社区对应的原始种群,具体包括:
根据目标网络社区,确定所述目标网络社区对应的目标网络;
根据所述目标网络,确定所述目标网络社区对应的原始种群;
所述根据所述目标网络,确定所述目标网络社区对应的原始种群,具体包括:
确定所述目标网络中各网络节点各自分别对应的度值;其中,所述度值为连接的网络节点的数量;
根据所有各网络节点的度值,确定所述目标网络的候选社区中心节点;
根据所述候选社区中心节点,确定所述目标网络社区对应的原始种群;
所述目标网络社区是指由若干个网络节点与各网络节点之间的关系所形成的社区,网络节点的数量超过预设节点数量,且不同网络节点之间边的数量超过预设边数量,网络节点的数量为十万级或百万级;所述目标网络社区包括:互联网世界中的万维网、交通系统中的路线网、电子领域中的集成电路、电力系统中的大型电力网络、生物系统中的细胞神经网络到蛋白质互相作用网络、社会关系中的社交网络中的一种。
2.根据权利要求1所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其特征在于,所述检测方法还包括:
当所述进化种群不满足终止条件时,将所述进化种群作为原始种群,并继续执行将所述原始种群分解成第一子种群和第二子种群的步骤,直至所述进化种群满足终止条件时,将所述进化种群作为最优种群。
3.根据权利要求1所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其特征在于,所述采用基于自监督学习的方法对所述第一子种群进行更新,得到第一更新子种群,具体包括:
对所述目标网络中的所有网络节点进行分组,得到若干个变量组;
确定各变量组各自分别对应的自编码器;其中,所述自编码器包括编码单元和解码单元;
针对所述第一子种群中的每个解个体,根据该解个体和所有编码单元,得到该解个体对应的表示空间;对所述表示空间进行进化操作,得到新的表示空间;根据所述新的表示空间和所有解码单元,确定该解个体对应的更新的解个体,以得到第一更新子种群;其中,所述表示空间的维度小于所述解个体的维度。
4.根据权利要求3所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其特征在于,所述采用基于广度学习的方法对所述第二子种群进行更新,得到第二更新子种群,还包括:
确定所述第一子种群的若干个目标解个体;其中,所述目标解个体的数量与所述变量组的数量相同;
对于所述第二子种群中的每个解个体,根据所有目标解个体以及所有变量组对该解个体进行进化操作,确定该解个体对应的更新的解个体,以得到第二更新子种群。
5.根据权利要求1所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其特征在于,所述将所述原始种群分解成第一子种群和第二子种群,具体包括:
确定所述原始种群对应的目标空间;所述目标空间包括:各解个体各自分别对应的目标函数值,所述目标函数值包括KKM目标函数值和RC目标函数值;
将所述目标空间分解成若干个子空间;其中,每个子空间包括至少两个解个体分别对应的目标函数值;
确定各子空间中各解个体各自分别对应的适应度值;
将各子空间的解个体分为第一类解个体和第二类解个体;其中,所述第一类解个体中解个体的适应度值大于所述第二类解个体中解个体的适应度值;
根据所有子空间中第一类解个体,确定所述第一子种群;
根据所有子空间中第二类解个体,确定所述第二子种群。
6.根据权利要求1所述的基于自监督学习式进化的大规模复杂网络社区检测方法,其特征在于,所述根据所述原始种群、所述第一更新子种群以及所述第二更新子种群,确定所述目标网络社区对应的进化种群,具体包括:
根据所述原始种群中各解个体各自分别对应的目标函数值、所述第一更新子种群中各解个体各自分别对应的目标函数值以及所述第二更新子种群中各解个体各自分别对应的目标函数值,确定所述目标网络社区对应的进化种群。
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110665380.0A CN113704570B (zh) | 2021-06-16 | 2021-06-16 | 基于自监督学习式进化的大规模复杂网络社区检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110665380.0A CN113704570B (zh) | 2021-06-16 | 2021-06-16 | 基于自监督学习式进化的大规模复杂网络社区检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113704570A CN113704570A (zh) | 2021-11-26 |
CN113704570B true CN113704570B (zh) | 2024-01-05 |
Family
ID=78648139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110665380.0A Active CN113704570B (zh) | 2021-06-16 | 2021-06-16 | 基于自监督学习式进化的大规模复杂网络社区检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113704570B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114357312B (zh) * | 2022-03-16 | 2022-06-10 | 中南大学 | 基于图神经网络自动建模的社区发现方法及个性推荐方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413029A (zh) * | 2012-01-05 | 2012-04-11 | 西安电子科技大学 | 基于分解的局部搜索多目标复杂动态网络社区划分方法 |
CN102708407A (zh) * | 2012-05-15 | 2012-10-03 | 广东工业大学 | 一种基于种群分解的自适应混合多目标进化方法 |
CN104268629A (zh) * | 2014-09-15 | 2015-01-07 | 西安电子科技大学 | 一种基于先验信息和网络固有信息的复杂网络社区检测方法 |
CN106934722A (zh) * | 2017-02-24 | 2017-07-07 | 西安电子科技大学 | 基于k节点更新与相似度矩阵的多目标社区检测方法 |
CN107276843A (zh) * | 2017-05-19 | 2017-10-20 | 西安电子科技大学 | 一种基于Spark平台的多目标进化社区检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108133272A (zh) * | 2018-01-15 | 2018-06-08 | 大连民族大学 | 一种复杂网络社区检测的方法 |
-
2021
- 2021-06-16 CN CN202110665380.0A patent/CN113704570B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413029A (zh) * | 2012-01-05 | 2012-04-11 | 西安电子科技大学 | 基于分解的局部搜索多目标复杂动态网络社区划分方法 |
CN102708407A (zh) * | 2012-05-15 | 2012-10-03 | 广东工业大学 | 一种基于种群分解的自适应混合多目标进化方法 |
CN104268629A (zh) * | 2014-09-15 | 2015-01-07 | 西安电子科技大学 | 一种基于先验信息和网络固有信息的复杂网络社区检测方法 |
CN106934722A (zh) * | 2017-02-24 | 2017-07-07 | 西安电子科技大学 | 基于k节点更新与相似度矩阵的多目标社区检测方法 |
CN107276843A (zh) * | 2017-05-19 | 2017-10-20 | 西安电子科技大学 | 一种基于Spark平台的多目标进化社区检测方法 |
Non-Patent Citations (2)
Title |
---|
基于多目标进化的复杂网络社区检测;王聪;柴争义;;计算机技术与发展(第06期);正文全文 * |
基于进化多目标优化的复杂网络社区检测算法的研究;梁世娇;中国优秀硕士学位论文全文数据库 (基础科学辑)(第2期);正文全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113704570A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111079931A (zh) | 一种基于图神经网络的状态空间概率性多时间序列预测方法 | |
CN113190688B (zh) | 基于逻辑推理和图卷积的复杂网络链接预测方法及系统 | |
Lin et al. | A self-adaptive neural fuzzy network with group-based symbiotic evolution and its prediction applications | |
CN108734223A (zh) | 基于社区划分的社交网络好友推荐方法 | |
Kotary et al. | A many-objective whale optimization algorithm to perform robust distributed clustering in wireless sensor network | |
CN112270398A (zh) | 一种基于基因编程的集群行为学习方法 | |
CN113255366A (zh) | 一种基于异构图神经网络的方面级文本情感分析方法 | |
CN113704570B (zh) | 基于自监督学习式进化的大规模复杂网络社区检测方法 | |
Amir et al. | Verification-Aided Deep Ensemble Selection. | |
CN114897085A (zh) | 一种基于封闭子图链路预测的聚类方法及计算机设备 | |
Smith et al. | Multi-objective evolutionary recurrent neural network ensemble for prediction of computational fluid dynamic simulations | |
CN117272195A (zh) | 基于图卷积注意力网络的区块链异常节点检测方法及系统 | |
CN110866838A (zh) | 基于转移概率预处理的网络表示学习算法 | |
CN116031879A (zh) | 一种适应电力系统暂态电压稳定评估的混合智能特征选择方法 | |
CN115660882A (zh) | 社交网络中用户间关系预测方法及多头混合聚合图卷积网络 | |
Aung et al. | Modularity based ABC algorithm for detecting communities in complex networks | |
Li et al. | Surrogate-assisted multi-objective evolutionary optimization with a multi-offspring method and two infill criteria | |
Lu et al. | Quantum Wolf Pack Evolutionary Algorithm of Weight Decision‐Making Based on Fuzzy Control | |
CN113836818A (zh) | 一种基于bp神经网络预测模型的洋流运动预测算法 | |
CN112766464A (zh) | 基于时空聚合的灵活动态网络链路预测方法、系统及应用 | |
Feng et al. | Energy-efficient and robust cumulative training with net2net transformation | |
Zhang et al. | Hierarchical parameter estimation of GRN based on topological analysis | |
Maheshwari et al. | Representation learning on graphs by integrating content and structure information | |
Hu et al. | Learning deep representations in large integrated network for graph clustering | |
Li et al. | Graph Embedding Based on Feature Propagation for Community Detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |