CN109615550A - 一种基于相似性的局部社团检测方法 - Google Patents
一种基于相似性的局部社团检测方法 Download PDFInfo
- Publication number
- CN109615550A CN109615550A CN201811419316.9A CN201811419316A CN109615550A CN 109615550 A CN109615550 A CN 109615550A CN 201811419316 A CN201811419316 A CN 201811419316A CN 109615550 A CN109615550 A CN 109615550A
- Authority
- CN
- China
- Prior art keywords
- corporations
- vertex
- network
- community structure
- similitude
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 94
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 42
- 238000012360 testing method Methods 0.000 abstract description 20
- 238000013459 approach Methods 0.000 abstract description 11
- 230000000875 corresponding effect Effects 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 6
- 238000005295 random walk Methods 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000003786 synthesis reaction Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006854 communication Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 244000257790 Brassica carinata Species 0.000 description 1
- 235000005156 Brassica carinata Nutrition 0.000 description 1
- 241000244203 Caenorhabditis elegans Species 0.000 description 1
- 241001481833 Coryphaena hippurus Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241000282553 Macaca Species 0.000 description 1
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002503 metabolic effect Effects 0.000 description 1
- 230000037353 metabolic pathway Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000010397 one-hybrid screening Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 238000005211 surface analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Marketing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于相似性的局部社团检测方法——NSA(Node Similarity based Algorithm),是一种基于相似性的高效的、稳定的局部社团检测方法,该方法的实现过程包含两个阶段,第一阶段构建网络的初始社团结构,第二阶段对初始社团结构进行优化,将其中一些较小的、稀疏的社团进行合并,得到最终的社团结构。本发明能够解决全局方法因效率低无法适用于大规模网络的问题,同时能解决许多现有局部方法性能不稳定、检测结果质量不佳的问题。同时,本发明还提出了一个度量指标——community metric,综合衡量社团的规模以及稀疏程度,可以有效地进行小社团的合并。
Description
技术领域
本发明属于复杂网络分析的技术领域,涉及一种从复杂网络中检测社团结构的方法,具体涉及一种基于节点相似性的局部社团检测方法。
背景技术
社团结构是复杂网络最为显著的结构特征,网络中的顶点可以自然地划分为多个分组,同一分组内部顶点之间的连接比较稠密,而位于不同分组的顶点之间的边则相对稀疏,其中每一分组即为一个“社团”。
在复杂网络中,社团往往对应于网络的功能单元。例如,WWW网络中相同主题的Web页面分组;蛋白质分子相互作用网络中的功能模块,新陈代谢网络中的代谢通道;社会网络中拥有共同特征的一组人,如科学家合作关系网络中研究方向相同的科学家组成的研究团队,恐怖网络中的恐怖组织等。检测网络的社团结构,可以透过结构特征探索、推断、预测网络及相关组件的功能,可以识别网络的性能瓶颈,改善网络的性能,提升网络的服务质量,还可以探索网络的演化机制以及动力学行为。因此,社团检测的研究不仅具有重要的理论研究意义,而且具有很强的实际应用价值。研究人员利用网络的相关特征,已经提出了很多算法进行社团检测,提取社团结构。
基于图论的方法一般将社团检测作为传统的图剖分问题进行研究,利用图剖分方法将网络划分为多个子网络。例如,Kernighan-Lin方法[1]首先将网络随机划分为两个子网络,然后通过重复交换两个子网中的部分顶点,使得预先给定的增益函数达到最大值。
层次聚类方法或以分裂的方式或以凝聚的方式或以二者混合的方式进行社团检测。例如,GN算法[2],[3]通过重复从网络中删除介数最高的边检测社团结构,其输出是一个树状图,表示层次嵌套的可能的网络划分,对应于度量指标“模块度”值[3]最大的一个层次即为最终的社团结构。FastQ[4],[5]首先将每一个顶点作为一个社团,然后通过重复将相关社团进行合并提取社团结构。其输出同样为树状图,其上对应于模块度最大的层次为最终结果。Zarandi等人[6]先移除网络中相似性较小的边得到初始社团,然后将其中一些进行合并得到最终社团结构。
基于模块度优化的算法利用模块度的物理含义——模块度值越大,社团结构越紧凑,质量越高——将模块度作为目标函数,通过对其进行优化提取社团结构。FastQ[4],[5]重复合并能使得模块度增量最大的两个社团。Louvain算法[7]首先将每个顶点作为一个社团,然后将每一顶点移入能使得模块度增益最大的一个社团。SLM(Smart Local Moving)算法[8]通过重复使用网络的分裂与顶点的移动策略搜索能使得模块度达到最大值的可能方案。
LPA(Label Propagation Algorithm)算法[9]首先为网络中的每个顶点赋一个唯一的标签,随后将每个顶点的标签更新为其邻居中出现最为频繁的一个标签,直到每个顶点的标签均为其邻居中占多数的标签。算法结束时,具有同样标签的顶点构成一个社团。该算法简单、效率高,因此其后提出了许多变体或改进算法。例如,Barber等人[10]为标签传播过程添加了一些约束,提出了一系列变体算法,LPAm是其中影响最大的一个,它试图在标签传播过程中使得模块度达到最大值。Chin等人[11]利用互近邻的数目得到初始社团,对标签传播过程添加约束,并用带约束的标签传播算法将网络中剩余的顶点添加于相应的社团中。Ding等人[12]利用基于密度的聚类算法Fdp[13]和切比雪夫不等式从网络中选取社团的中心点,并用改进的LPA算法将所选中心点的标签传播于整个网络。
基于密度的算法在网络上定义了“密度”的概念,并利于此概念进行社团检测。SCAN算法[14]借用了基于密度的聚类算法DBSCAN[15]的思想从网络中识别社团,HUB节点以及孤立点。SCAN++算法[16]从SCAN演化而来,使用了新的数据结构并减少了计算密度的次数,因此降低了算法的时间消耗。IsoFdp算法[17]将顶点映射为一个低维的流形空间中的数据点,并利用基于密度的聚类算法Fdp[13]提取最终的社团结构。LCCD算法[18]同样利用Fdp算法[13]确定网络的社团中心,接着利用一个局部搜索过程对社团进行扩张。
基于网络动力学的方法通过在网络上模拟动力学过程探查网络的社团结构。随机游走是典型的一种网络动力学过程,由于社团结构的特点——社团内部连接稠密,而社团之间的边比较稀疏——因此,遍历者在短距离的游走过程中更倾向于被陷入一个社团内部,跨越社团边界游走进入另外一个社团的可能性较小,在一趟短距离的游走过程中所访问的顶点在同一个社团的可能性极大。Walktrap算法[19]计算在一趟随机游走过程中从一个顶点游走到另一个顶点的概率,继而计算顶点之间、社团之间的相似性。PPC算法[20]将整个网络作为一个社团,然后利用随机游走计算顶点之间的相似性并利用该相似性重复将网络划分为子网络。RWA算法[21]利用随机游走计算顶点属于一个社团的概率,并通过持续吸引最相似的顶点加入社团对其进行扩张。除了基于随机游走的方法之外,Attractor算法[22]利用距离动力学过程检测社团结构,顶点之间的交互会改变顶点之间的距离,而距离的改变反过来能够影响顶点之间的交互作用。在这种交替作用下,同一社团的顶点逐渐靠近,不同社团的顶点逐渐远离。
谱分析方法利用与网络相关的各种矩阵的特征值、特征向量检测网络的社团结构。例如,Amini等人[23]基于归一化的拉普拉斯矩阵使用谱聚类方法得到网络初始的划分,将其通过一个极大似然估计算法拟合随机块模型提取最终的社团结构。de Lange等人[24]通过检测归一化的拉普拉斯矩阵的特征谱从猕猴和猫的解剖神经网络提取社团结构,同时从秀丽线虫的微观神经网络中检测社团结构。Krzakala等人[25]基于非回溯随机游走过程对应的非回溯矩阵,提出了一系列谱分析算法检测网络的社团结构。Shi等人[26]提出的LLSA算法利用Lanczos方法获取概率转移矩阵最大特征值对应的特征向量的近似值,该特征向量的元素给出了对应顶点属于某个社团的概率。
上述这些方法大多为全局方法(global methods),它们检测社团结构时往往需要网络的一些全局信息作为先验知识,如网络中社团的数目,网络相关的矩阵的特征值、特征向量等。但随着大数据时代的到来,网络的规模越来越大,这些全局信息越来越难以获取。另外,这些全局方法往往时间复杂度较高,运算效率低下。这些缺陷使得这些全局方法无法有效地适用于大规模的网络。
为了克服全局方法的这些缺陷,研究人员也提出了一些局部方法(localmethods)。例如,上述的LPA及其大多数变体算法仅根据顶点的邻居信息确定将其标签更新为哪个邻居顶点的标签;LCCD考虑顶点的局部密度和相对于大密度顶点的距离确定社团的中心顶点,并使用一个局部搜索过程从中心点开始扩张社团;LLSA算法利用快速热核扩散(fast heat kernel diffusing)方法对网络进行采样得到包含一个社团中全部顶点的子网络,然后对该子网络的转移矩阵执行Lanczos方法获取其最大特征值对应的特征向量,其元素给出了对应顶点的社团归属。此外,ComSim算法0通过识别网络中顶点的圈子获取社团核心,然后将其余顶点分配给与其最相似的社团。每一个圈子是一个顶点构成的访问链,从某顶点出发沿其出边向前访问直到到达一个已访问顶点,访问过程走过的环路构成一个圈子。识别圈子的过程只使用相关顶点的邻居信息。
与全局方法相比,局部方法的效率较高,能适用于规模较大的网络。但上述这些方法在追求运算效率的同时,往往以牺牲最终检测得到的社团结构的质量为代价;另外,一些方法的性能不稳定,适用范围较小,在一些网络上能够检测得到较好的结果,但在其它网络上其效果不甚理想。
背景技术部分中的参考文献如下:
[1]Kernighan BW and Lin S.An efficient heuristic procedure forpartitioning graphs.Bell System Technical Journal 1970;49(2):291–307.DOI:10.1002/j.1538-7305.1970.tb01770.x.
[2]Girvan M and Newman ME(2002)Community structure in social andbiological networks.Proceedings of the national academy of sciences 99(12):7821–7826.
[3]Newman ME and Girvan M(2004)Finding and evaluating communitystructure in networks.Physical review E 69(2):026113.
[4]Clauset A,Newman ME and Moore C(2004)Finding community structurein very large networks.Physical review E 70(6):066111.
[5]Newman ME(2004)Fast algorithm for detecting community structure innetworks.Physical review E69(6):066133.
[6]Zarandi FD and Rafsanjani MK.Community detection in complexnetworks using structural similarity.Physica A:Statistical Mechanics and itsApplications 2018;503:882–891.
[7]Blondel V D,Guillaume J L,Lambiotte R,et al.Fast unfolding ofcommunities in large networks[J].Journal of Statistical Mechanics,2008,2008(10):155-168.
[8]Waltman L,Eck N J V.Asmart local moving algorithm for large-scalemodularity-based community detection[J].European Physical Journal B,2013,86(11):471.
[9]Raghavan UN,Albert R and Kumara S(2007)Near linear time algorithmto detect community structures in large-scale networks.Physical review E 76(3):036106.
[10]Barber MJ and Clark JW.Detecting network communities bypropagating labels under constraints.Physical Review E 2009;80(2):026129.
[11]Chin JH and Ratnavelu K.Asemi-synchronous label propagationalgorithm with constraints for community detection in complexnetworks.Scientific Reports 2017;7:45836.
[12]Ding J,He X,Yuan J et al.Community detection by propagating thelabel of center.Physica A:Statistical Mechanics and its Applications 2018;503:675–686.DOI:https://doi.org/10.1016/j.physa.2018.02.174.URL http://www.sciencedirect.com/science/article/pii/S0378437118302632.
[13]Rodriguez A and Laio A.Clustering by fast search and find ofdensity peaks.Science 2014;344(6191):1492–1496.DOI:10.1126/science.1242072.
[14]Xu X,Yuruk N,Feng Z et al.Scan:A structural clustering algorithmfor networks.In Proceedings of the 13th ACM SIGKDD International Conferenceon Knowledge Discovery and Data Mining.KDD’07,New York,NY,USA:ACM.ISBN 978-1-59593-609-7,pp.824–833.DOI:10.1145/1281192.1281280.
[15]Ester M,Kriegel HP,Sander J et al.Adensity-based algorithm fordiscovering clusters a density-based algorithm for discovering clusters inlarge spatial databases with noise.In Proceedings of the Second InternationalConference on Knowledge Discovery and Data Mining.KDD’96,AAAI Press,pp.226–231.
[16]Shiokawa H,Fujiwara Y and Onizuka M.Scan++:Efficient algorithmfor finding clusters,hubs and outliers on large-scale graphs.Proc VLDB Endow2015;8(11):1178–1189.DOI:10.14778/2809974.2809980.URL http://dx.doi.org/10.14778/2809974.2809980.
[17]You T,Cheng HM,Ning YZ,Shia BC and Zhang ZY(2016)Communitydetection in complex networks using density-based clustering algorithm andmanifold learning.Physica A:Statistical Mechanics and its Applications 464(Supplement C):221–230.DOI:https://doi.org/10.1016/j.physa.2016.07.025..
[18]Wang X,Liu G,Li J et al.Locating structural centers:Adensity-based clustering method for community detection.PloS one 2017;12(1):e0169355.
[19]Pons P and Latapy M(2005)Computing communities in large networksusing random walks.In:International symposium on computer and informationsciences.Springer,pp.284–293.
[20]Tabrizi SA,Shakery A,Asadpour M et al.Personalized pagerankclustering:Agraph clustering algorithm based on random walks.Physica A:Statistical Mechanics and its Applications 2013;392(22):5772–5785.DOI:http://dx.doi.org/10.1016/j.physa.2013.07.021.
[21]Su Y,Wang B and Zhang X.Aseed-expanding method based on randomwalks for community detection in networks with ambiguous communitystructures.Scientific Reports 2017;7:41830–.
[22]Shao J,Han Z,Yang Q and Zhou T(2015)Community detection based ondistance dynamics.In:Proceedings of the 21th ACM SIGKDD InternationalConference on Knowledge Discovery and Data Mining.ACM,pp.1075–1084.
[23]Amini AA,Chen A,Bickel PJ et al.Pseudo-likelihood methods forcommunity detection in large sparse networks.The Annals of Statistics 2013;41(4):2097–2122.URL http://www.jstor.org/stable/23566541.
[24]de Lange S,de Reus M and Van Den Heuvel M.The laplacian spectrumof neural networks.Frontiers in Computational Neuro-science 2014;7(189).DOI:10.3389/fncom.2013.00189.
[25]Krzakala F,Moore C,Mossel E et al.Spectral redemption inclustering sparse networks.Proceedings of the National Academy of Sciences2013;110(52):20935–20940.DOI:10.1073/pnas.1312486110.URL http://www.pnas.org/content/110/52/20935.abstract.http://www.pnas.org/content/110/52/20935.full.pdf.
[26]Shi P,He K,Bindel D et al.Local lanczos spectral approximationfor community detection.In Joint European Conference on Machine Learning andKnowledge Discovery in Databases.Springer,pp.651–667.
Tackx R,Tarissan F and Guillaume JL.Comsim:Abipartite communitydetection algorithm using cycle and node’s similarity.In InternationalWorkshop on Complex Networks and their Applications.Springer,pp.278–289.
发明内容
本发明提供了一种基于相似性的高效的、稳定的局部社团检测方法——NSA(NodeSimilarity based Algorithm),能够解决全局方法因效率低无法适用于大规模网络的问题,同时能解决许多现有局部方法性能不稳定、检测结果质量不佳的问题。
本发明所采用的技术方案是:
一种基于相似性的局部社团检测方法,该社团检测方法由两个阶段构成,第一阶段基于度中心性及顶点之间的相似性构建初始的社团结构,第二阶段对初始社团结构进行调优,合并其中一些小社团或稀疏社团,得到最终的社团结构;具体如下:
第一阶段:构建初始社团结构
首先从网络中选择度最大的顶点,将其作为一个社团的代表点,并将与其最相似的邻居顶点加入该社团中,如果与其最相似的邻居顶点不止一个,则选取其中度小的一个作为其最相似的邻居;然后从剩余的顶点中选出度最大的顶点,将其加入与其最相似的邻居顶点所在的社团;如果与其最相似的邻居顶点尚未加入某个社团,则为其创建一个新社团,将所选的度最大的顶点作为该新社团的代表顶点,并将与其最相似的邻居顶点加入该社团;重复此过程,直到网络中的每一个顶点都被分配到某个社团为止,至此,得到一系列社团,每一社团内的顶点之间紧密相连,这些社团构成网络的初始社团结构。
上述过程中每一对顶点(u,v)之间的相似性sim(u,v)按照公式(1)计算
其中Γ(u)和Γ(v)分别是顶点u和v的邻居顶点构成的集合。
第二阶段:合并小社团、稀疏社团
通过合并规模过小或者内部连接过于稀疏的社团对初始社团结构进行调优,得到最终的社团结构,要达到这一目的,首先需要确定哪些是需要合并的社团,其次需要选择将其并入哪些社团。
确定哪些是需要合并的社团原则:通过度量指标——社团接受度,communitymetric——同时考虑社团的规模和稀疏性两个因素来确定哪些社团需要进行合并;下面以定义形式给出相关的概念及计算方法。
定义1.关于社团稀疏性的定义,社团Ci的稀疏性用公式(2)进行定义
其中是社团Ci内部的边构成的集合,是社团Ci内部的顶点与其它社团中顶点相连的边的集合;社团Ci内部的边越多,αi的值越大,反之亦然。
定义2.关于社团规模的定义,社团Ci的规模定义为公式(3)
其中Vi是社团Ci内顶点的集合;V是整个网络的顶点集合;社团Ci中顶点越多,该比例越大,反之亦然。
定义3.关于社团接受度的定义,Community metric,社团Ci的接受度是其社团稀疏性与社团规模的组合,按公式(4)进行计算
γi=αi*βi. (4)
基于上述概念和定义,确定哪些是需要合并的社团的方法是:通过设置一个社团接受度阈值δ加以解决;亦即,如果γi<δ,那么社团Ci需要被并入其它社团。
选择小社团或稀疏社团并入哪些社团的方法是:使用相似性作为社团合并的依据,将小社团或稀疏社团并入与其最相似的社团;社团Ci与社团Cj之间的相似性用公式(5)进行计算
其中sim(u,v)是社团Ci中的顶点u与社团Cj中的顶点v之间的相似性,用公式(1)进行计算;Vi、Vj分别是社团Ci和Cj中的顶点构成的集合;在合并过程中,Ci是待合并的社团,Cj是与Ci相邻接的一个社团。
本发明的有益效果:
1.本发明提出的社团检测方法思想简单,易于实现;
2.本发明提出方法时间复杂度较低,运行效率高,能适用于大规模的网络;
3.本发明提出的社团接受度(community metric)度量指标能综合地衡量社团的规模、社团稀疏性,其计算公式简单、可行有效,可与多种社团检测方法结合使用;
4.本发明提出的方法在一定程度上克服了分辨率限制问题,其性能稳定,适用范围广,从各种类型的网络中均能提取出高质量的社团结构。
附图说明
图1是本发明的流程框架图;
图2是本发明及对比算法从包含1000个顶点的人工合成网络中得到的社团结构对应的度量指标的曲线图:(a)从包含小社团(每个社团的规模在10~50个顶点之间)的网络中检测到的结果,(b)从包含大社团(每个社团的规模在20~100个顶点之间)的合成网络中检测到的结果;
图3是本发明及对比算法从包含5000个顶点的人工合成网络中得到的检测结果对应的度量指标的曲线图:(a)从包含小社团的合成网络中检测到的结果,(b)从包含大社团的合成网络中检测到的结果;
图4是空手道俱乐部网络上的检测结果图:(a)该网络的真实社团结构,(b)NSA方法的检测结果;
图5是海豚社交网络上的检测结果图:(a)该网络的真实社团结构,(b)NSA方法的检测结果图;
图6是Risk游戏地图网络上的检测结果:(a)该网络的真实社团结构,(b)NSA方法的检测结果;
图7是科学家合著关系网络上的检测结果图:(a)该网络的真实社团结构,(b)NSA方法的检测结果图;
图8是NSA方法及对比算法从社团结构未知的9个网络中检测到的社团结构对应的度量指标的柱状图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
一,对本发明的方案详细阐述:
本发明提出的NSA方法是一种由两个阶段构成的社团检测方法,第一阶段基于度中心性及顶点之间的相似性构建初始的社团结构,第二阶段对初始社团结构进行调优,合并其中一些小社团或稀疏社团,得到最终的社团结构,整个社团检测方法的总体流程框架如图1所示。
1.第一阶段:构建初始社团结构
该过程的思想非常简单。首先从网络中选择度最大的顶点,将其作为一个社团的代表点,并将与其最相似的邻居顶点加入该社团中,如果与其最相似的邻居顶点不止一个,则选取其中度小的一个作为其最相似的邻居;然后从剩余的顶点中选出度最大的顶点,将其加入与其最相似的邻居顶点所在的社团。如果与其最相似的邻居顶点尚未加入某个社团,则为其创建一个新社团,将所选的度最大的顶点作为该新社团的代表顶点,并将与其最相似的邻居顶点加入该社团。重复此过程,直到网络中的每一个顶点都被分配到某个社团为止。以这一方式,网络中紧密相连的顶点会很快在它们的代表顶点上达成一致。该过程结束,将会得到一系列社团,每一社团内的顶点之间紧密相连,这些社团构成网络的初始社团结构。
这一过程中每一对顶点(u,v)之间的相似性sim(u,v)起着非常重要的作用,初始社团结构是根据顶点之间的相似性进行划分的。考虑到计算效率,顶点之间相似性的计算应该只使用它们自身的局部信息。因此,本发明按照公式(1)计算顶点u和v的相似性,
其中Γ(u)和Γ(v)分别是顶点u和v的邻居顶点构成的集合。
2.第二阶段:合并小社团、稀疏社团
这一阶段通过合并规模过小或者内部连接过于稀疏的社团对初始社团结构进行调优,得到最终的社团结构。要达到这一目的,必须解决两个问题,首先需要确定哪些是需要合并的社团,其次需要选择将其并入哪些社团。
为了解决第一个问题,本发明提出了一个度量指标——社团接受度(communitymetric)——同时考虑社团的规模和稀疏性两个因素来确定哪些社团需要进行合并。这里,以定义形式给出相关的概念及计算方法。
定义1.(社团稀疏性)社团Ci的稀疏性用公式(2)进行定义
其中是社团Ci内部的边构成的集合,是社团Ci内部的顶点与其它社团中顶点相连的边的集合。社团Ci内部的边越多,αi的值越大,反之亦然。
定义2.(社团规模)社团Ci的规模定义为公式(3)
其中Vi是社团Ci内顶点的集合。社团Ci中顶点越多,该比例越大,反之亦然。
定义3.(社团接受度,Community metric)社团Ci的接受度(community metric)是其社团稀疏性与社团规模的组合,按公式(4)进行计算
γi=αi*βi. (4)
基于上述概念和定义,第一个问题可以通过设置一个社团接受度阈值δ加以解决。亦即,如果γi<δ,那么社团Ci需要被并入其它社团。
对于第二个问题的解决,本发明使用了一个与初始社团构建过程一致的方法。初始社团是基于顶点之间的相似性构建起来的,因此,本阶段同样使用相似性作为社团合并的依据,将小社团或稀疏社团并入与其最相似的社团。社团Ci与社团Cj之间的相似性用公式(5)进行计算
其中sim(u,v)是社团Ci中的顶点u与社团Cj中的顶点v之间的相似性,用公式(1)进行计算;Vi、Vj分别是社团Ci和Cj中的顶点构成的集合。在合并过程中,Ci是待合并的社团,Cj是与Ci相邻接的一个社团。
二,分析本发明检测结果的质量:
NSA方法以度中心性为依据,每次都从剩余的顶点中选取度最大的一个,并根据其邻居是否已经在某个社团中而决定加入该社团还是新建一个社团。这样的策略可以取得很好的效果,顶点的选取过程按度从大到小的顺序进行,充分考虑了顶点的影响力在构建社团结构过程中的作用,可以避免将同一个社团中多个影响力较大的顶点(度较大)硬性拆分到多个社团中,而是以其中度最大的一个为核心组建了一个联系紧密的社团。但同时又给了以所选的影响力较大的顶点作为种子创建新社团的机会,可以避免将本该属于多个社团的顶点强制性地拉入一个社团。
另外,在得到初始社团结构之后,用提出的community metric指标作为依据,将一些太小的或稀疏的社团进行了合并。这一过程相当于对社团结构进行了优化,消除了影响结果质量的不利因素,使得社团结构质量大幅度提升。此外,这一优化过程采用的是自底向上的凝聚策略,在合并过程中可以方便地控制结果社团的规模,因此得到的结果在一定程度上可以克服分辨率限制问题。
上述讨论说明,NSA方法从网络中检测得到的社团结构的质量是可以得到保障的。
下面分析NSA方法的效率:
NSA方法的实现过程包含两个阶段,第一阶段构建初始社团结构,其时间消耗主要集中于选取当前度最大的顶点以及与其最相似的顶点。实现过程中使用大顶堆数据结构,则度最大的顶点可在O(logn)时间以内选出,其中n为网络中顶点的数目;同理,与度最大的顶点最相似的顶点也可以O(log<d>)时间消耗为代价获得,其中<d>为网络中顶点的度的均值。由于d<<n,因此,最坏情况下该阶段的时间复杂度为O(nlogn)。
第二阶段合并规模过小或过于稀疏的社团,其主要的时间消耗于确定需要合并的社团以及并入的社团。假定第一阶段结束时得到的初始社团结构中包含K个社团,与第一阶段一样使用大顶堆数据结构,则确定每一个需要合并的社团以及并入的社团均可在O(logK)内完成。因此,最坏情况下,该阶段需要消耗O(KlogK)的时间。
因为K<<n,所以与第一阶段的时间消耗相比,第二阶段花费的时间可以忽略不计。因此,NSA方法总的时间复杂度为O(nlogn)。相对于其它很多社团检测算法而言,这样的时间复杂度是较低的。这样,从理论上证明了NSA方法具有较高的工作效率,可以适用于大规模的网络。
三,本发明的实验过程及结果:
发明人分别在4组人工合成网络和13个实际网络上对NSA进行了实验。4组人工合成网络均使用LFR网络生成工具软件0生成,该工具需要一些参数以控制生成的网络的特征,生成这4组网络时所用的参数如表1所示。这四组网络分别包含1000个顶点和5000个顶点,网络名称中的后缀‘s’和‘b’分别代表生成的网络中包含的社团其规模较小(最少包含10个顶点,最多包含50个顶点)、较大(最少包含20个顶点,最多包含100个顶点)。
表1:LFR合成网络的参数设置
除了在人工合成网络上的实验之外,还在13个实际网络上进行了实验,这13个实际网络的相关信息如表2所示。这13个网络分为两组,第一组包含了表2中前4个网络,这几个网络拥有公认的真实社团结构;第二组包含了表2中其余9个网络,这些网络的真实社团结构是未知的。
表2:测试NSA方法的实际网络的信息
发明人在这些网络上运行NSA方法,以标准化互信息量NMI(Normalized MutualInformation)和模块度(Q)作为衡量社团结构质量的度量指标,将检测结果与FastQ[1],[2]、WalkTrap[3]、LPA[4]、Attractor[5]以及IsoFdp[6]5个流行的社团检测算法从同样的网络提取得到的社团结构进行了对比。
1.人工合成网络
除了表1中的参数以外,LFR网络生成工具还有一个混合参数μ,其含义为与每个顶点关联的边中与社团外部的顶点相连的边所占的比例。μ值越小,生成的网络中社团结构越清晰,μ=0.5是一个转折点,大于0.5以后,μ值越大,社团之间的边界越模糊。实验过程中使μ的取值从0.1开始,以0.1为步长增长到0.8,对于μ的每一个取值与表4中每一行参数的组合,均生成了10个网络,在其上运行NSA方法及对比算法,其结果分别如图2和图3中的曲线所示。
图2和图3中的结果表明,在检测社团结构时,对比算法的性能不稳定,在一些网络上表现较好,但在另外一些网络上则无法得到很好的结果。然而,NSA方法却几乎在所有的网络上均稳定地表现出良好的性能,这是NSA方法的一个非常明显的优势。对比这些社团检测方法对应的曲线,NSA方法的曲线下降趋势最为平缓,表明NSA方法性能最为稳定。此外,对图2和图3中NSA方法自身的曲线进行对照,还可以得出结论:NSA方法更倾向于从包含小社团的大网络中得到更好的结果,这一特性使得NSA方法在某种程度上克服了分辨率限制问题。这样的优势及结果与前面的理论分析得出的结论相一致。
2.实际网络
实际网络可分为两组,第一组包含表2中前4个网络,其真实的社团结构已知;第二组包含表2中其余9个网络,其上没有已知的公认的社团结构。
2.1已知社团结构的网络
因为其真实的社团结构已知,因此在此类网络上用NMI和模块度Q作为度量指标衡量检测得到的社团结构的优劣。将这些网络作为NSA方法以及对比算法的输入,得到的度量指标值如表3所示,图4-图7给出了真实的社团结构与NSA方法从这些网络中检测出的结果。
表3:社团结构已知的网络上检测结果的度量指标值(两个度量指标的最大值均以粗体显示)
通过分析表3以及4个实际网络(图4-图7)的检测结果,可以发现NSA方法能从网络中检测出较小规模的社团,在某种程度上克服了分辨率限制问题;其检测结果具有较高的质量,检测得到的度量指标一般为最优或次优。
2.2社团结构未知的网络
因为其真实的社团结构未知,无法计算NMI,因此在此类网络上用模块度Q作为度量指标衡量检测得到的社团结构的优劣。将这些网络作为NSA方法以及对比算法的输入,得到的度量指标值如表4所示,图8以柱状图形式直观地给出了NSA方法及对比算法从这些网络中检测出的度量指标的对比结果。
表4:社团结构未知的网络上检测结果的度量指标
从表4和图8中可以看出,对于全部的9个网络,相比于对比算法,NSA方法的结果在其中的8个上均为最优,在剩余的ColiNeta网络上其结果仍为次优。而反观对比方法,仅有FastQ在ColiNeta网络上得到一次最优的结果;WalkTrap在DBLP和Amazon两个网络上无法得到有效的社团结构,因为这两个网络的规模比较大,而WalkTrap是基于随机游走方法的社团检测算法,其时间消耗较大以致于在较大规模的网络上无法在有效的时间范围内获得有效的结果;同样的原因,IsoFdp在这两个网络上也无法在较短的时间内检测到有效的社团结构,另外IsoFdp只适用于连通的网络,而ColiNeta、NetScience和YeastL三个网络均不连通,因此IsoFdp同样无法从这三个网络中检测出结果;对于LPA和Attractor两个方法而言,在所有的网络上倒是可以检测出社团结构,不过其质量无法令人满意。
这样的结果再次证实,NSA方法的性能非常稳定,可以从各种类型的网络中稳定地检测到最优或者次优的社团结构,NSA方法为社团检测问题提供了一种切实可行的解决方案。
具体实施方式部分采用的参考文献:
[1]Newman ME.Fast algorithm for detecting community structure innetworks.Physical review E 2004;69(6):066133.
[2]Clauset A,Newman ME and Moore C.Finding community structure invery large networks.Physical review E 2004;70(6):066111.
[3]Pons P and Latapy M.Computing communities in large networks usingrandom walks.In International symposium on computer and informationsciences.Springer,pp.284–293.
[4]Raghavan UN,Albert R and Kumara S.Near linear time algorithm todetect community structures in large-scale networks.Physical review E 2007;76(3):036106.
[5]Shao J,Han Z,Yang Q et al.Community detection based on distancedynamics.In Proceedings of the 21th ACM SIGKDD International Conference onKnowledge Discovery and Data Mining.ACM,pp.1075–1084.
[6]You T,Cheng HM,Ning YZ et al.Community detection in complexnetworks using density-based clustering algorithm and manifoldlearning.Physica A:Statistical Mechanics and its Applications 2016;464(Supplement C):221–230.
[7]Zachary WW.An information flow model for conflict and fission insmall groups.Journal of anthropological research 1977;33(4):452–473.
[8]Lusseau D.The emergent properties of a dolphin socialnetwork.Proceedings of the Royal Society of London B:Biological Sciences2003;270(Suppl 2):S186–S188.
[9]Steinhaeuser K and Chawla NV.Identifying and evaluating communitystructure in complex networks.Pattern Recognition Letters 2010;31(5):413–421.
[10]Girvan M and Newman ME.Community structure in social andbiological networks.Proceedings of the national academy of sciences 2002;99(12):7821–7826.
[11]Newman ME.The structure and function of complex networks.SIAMreview 2003;45(2):167–256.[12]Newman ME.Modularity and community structure innetworks.Proceedings of the national academy of sciences 2006;103(23):8577–8582.
[13]Jeong H,Tombor B,Albert R et al.The large-scale organization ofmetabolic networks.Nature 2000;407(6804):651.
[14]Newman ME.Finding community structure in networks using theeigenvectors of matrices.Physical review E 2006;74(3):036104.
[15]Guimera R,Danon L,Diaz-Guilera A et al.Self-similar communitystructure in a network of human interactions.Physical review E 2003;68(6):065103.
[16]Milo R,Shen-Orr S,Itzkovitz S et al.Network motifs:simplebuilding blocks of complex networks.Science 2002;298(5594):824–827.
[17]BogunáM,Pastor-Satorras R,Díaz-Guilera A et al.Models of socialnetworks based on social distance attachment.Physical review E 2004;70(5):056122.
[18]Yang J and Leskovec J.Defining and evaluating network communitiesbased on ground-truth.Knowledge and Information Systems 2015;42(1):181–213.
Lancichinetti A,Fortunato S and Radicchi F.Benchmark graphs fortesting community detection algorithms.Physical review E 2008;78(4):046110.
Claims (1)
1.一种基于相似性的局部社团检测方法,其特征在于,该社团检测方法由两个阶段构成,第一阶段基于度中心性及顶点之间的相似性构建初始的社团结构,第二阶段对初始社团结构进行调优,合并其中一些小社团或稀疏社团,得到最终的社团结构;具体如下:
第一阶段:构建初始社团结构
首先从网络中选择度最大的顶点,将其作为一个社团的代表点,并将与其最相似的邻居顶点加入该社团中,如果与其最相似的邻居顶点不止一个,则选取其中度小的一个作为其最相似的邻居;然后从剩余的顶点中选出度最大的顶点,将其加入与其最相似的邻居顶点所在的社团;如果与其最相似的邻居顶点尚未加入某个社团,则为其创建一个新社团,将所选的度最大的顶点作为该新社团的代表顶点,并将与其最相似的邻居顶点加入该社团;重复此过程,直到网络中的每一个顶点都被分配到某个社团为止,至此,得到一系列社团,每一社团内的顶点之间紧密相连,这些社团构成网络的初始社团结构;
上述过程中每一对顶点(u,v)之间的相似性sim(u,v)按照公式(1)计算
其中Γ(u)和Γ(v)分别是顶点u和v的邻居顶点构成的集合;
第二阶段:合并小社团、稀疏社团
通过合并规模过小或者内部连接过于稀疏的社团对初始社团结构进行调优,得到最终的社团结构,要达到这一目的,首先需要确定哪些是需要合并的社团,其次需要选择将其并入哪些社团;
确定哪些是需要合并的社团原则:通过度量指标——社团接受度,communitymetric——同时考虑社团的规模和稀疏性两个因素来确定哪些社团需要进行合并;下面以定义形式给出相关的概念及计算方法:
定义1.关于社团稀疏性的定义,社团Ci的稀疏性用公式(2)进行定义
其中是社团Ci内部的边构成的集合,是社团Ci内部的顶点与其它社团中顶点相连的边的集合;社团Ci内部的边越多,αi的值越大,反之亦然;
定义2.关于社团规模的定义,社团Ci的规模定义为公式(3)
其中Vi是社团Ci内顶点的集合;V是整个网络的顶点集合;社团Ci中顶点越多,该比例越大,反之亦然;
定义3.关于社团接受度的定义,Community metric,社团Ci的接受度是其社团稀疏性与社团规模的组合,按公式(4)进行计算
γi=αi*βi. (4)
基于上述概念和定义,确定哪些是需要合并的社团的方法是:通过设置一个社团接受度阈值δ加以解决;亦即,如果γi<δ,那么社团Ci需要被并入其它社团;
选择小社团或稀疏社团并入哪些社团的方法是:使用相似性作为社团合并的依据,将小社团或稀疏社团并入与其最相似的社团;社团Ci与社团Cj之间的相似性用公式(5)进行计算
其中sim(u,v)是社团Ci中的顶点u与社团Cj中的顶点v之间的相似性,用公式(1)进行计算;Vi、Vj分别是社团Ci和Cj中的顶点构成的集合;在合并过程中,Ci是待合并的社团,Cj是与Ci相邻接的一个社团。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811419316.9A CN109615550A (zh) | 2018-11-26 | 2018-11-26 | 一种基于相似性的局部社团检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811419316.9A CN109615550A (zh) | 2018-11-26 | 2018-11-26 | 一种基于相似性的局部社团检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109615550A true CN109615550A (zh) | 2019-04-12 |
Family
ID=66005144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811419316.9A Pending CN109615550A (zh) | 2018-11-26 | 2018-11-26 | 一种基于相似性的局部社团检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109615550A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598128A (zh) * | 2019-09-11 | 2019-12-20 | 西安电子科技大学 | 一种对抗女巫攻击的用于大规模网络的社团检测方法 |
CN110750732A (zh) * | 2019-09-30 | 2020-02-04 | 华中科技大学 | 基于团扩张和二次优化的社交网络全局重叠社团检测方法 |
CN111834996A (zh) * | 2019-04-19 | 2020-10-27 | 国网甘肃省电力公司电力科学研究院 | 电网线损计算方法和装置 |
CN111860866A (zh) * | 2020-07-24 | 2020-10-30 | 西华师范大学 | 一种具有社团结构的网络表示学习方法及装置 |
CN112149000A (zh) * | 2020-09-09 | 2020-12-29 | 浙江工业大学 | 一种基于网络嵌入和节点相似性的在线社交网络用户社区发现方法 |
CN113326880A (zh) * | 2021-05-31 | 2021-08-31 | 南京信息工程大学 | 基于社团划分的无监督图像分类方法 |
CN113436674A (zh) * | 2021-06-23 | 2021-09-24 | 兰州大学 | 一种基于topsis种子扩张的增量式社团检测方法—tseia |
-
2018
- 2018-11-26 CN CN201811419316.9A patent/CN109615550A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111834996A (zh) * | 2019-04-19 | 2020-10-27 | 国网甘肃省电力公司电力科学研究院 | 电网线损计算方法和装置 |
CN111834996B (zh) * | 2019-04-19 | 2021-12-03 | 国网甘肃省电力公司电力科学研究院 | 电网线损计算方法和装置 |
CN110598128A (zh) * | 2019-09-11 | 2019-12-20 | 西安电子科技大学 | 一种对抗女巫攻击的用于大规模网络的社团检测方法 |
CN110598128B (zh) * | 2019-09-11 | 2022-08-09 | 西安电子科技大学 | 一种对抗女巫攻击的用于大规模网络的社团检测方法 |
CN110750732A (zh) * | 2019-09-30 | 2020-02-04 | 华中科技大学 | 基于团扩张和二次优化的社交网络全局重叠社团检测方法 |
CN111860866A (zh) * | 2020-07-24 | 2020-10-30 | 西华师范大学 | 一种具有社团结构的网络表示学习方法及装置 |
CN112149000A (zh) * | 2020-09-09 | 2020-12-29 | 浙江工业大学 | 一种基于网络嵌入和节点相似性的在线社交网络用户社区发现方法 |
CN112149000B (zh) * | 2020-09-09 | 2021-12-17 | 浙江工业大学 | 一种基于网络嵌入的在线社交网络用户社区发现方法 |
CN113326880A (zh) * | 2021-05-31 | 2021-08-31 | 南京信息工程大学 | 基于社团划分的无监督图像分类方法 |
CN113436674A (zh) * | 2021-06-23 | 2021-09-24 | 兰州大学 | 一种基于topsis种子扩张的增量式社团检测方法—tseia |
CN113436674B (zh) * | 2021-06-23 | 2023-02-17 | 兰州大学 | 一种基于topsis种子扩张的增量式社团检测方法—tseia |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109615550A (zh) | 一种基于相似性的局部社团检测方法 | |
Zhao et al. | A community detection algorithm based on graph compression for large-scale social networks | |
Berahmand et al. | A link-based similarity for improving community detection based on label propagation algorithm | |
Gupta et al. | Parallel quantum-inspired evolutionary algorithms for community detection in social networks | |
Ribeiro et al. | Efficient parallel subgraph counting using g-tries | |
CN104657434B (zh) | 一种社交网络结构构建方法 | |
Sun et al. | An improved link prediction algorithm based on degrees and similarities of nodes | |
Cheng et al. | Neighbor similarity based agglomerative method for community detection in networks | |
Laassem et al. | Label propagation algorithm for community detection based on Coulomb’s law | |
Sheng et al. | Community detection based on human social behavior | |
Wang et al. | Community discovery algorithm of complex network attention model | |
Pan et al. | Overlapping community detection via leader-based local expansion in social networks | |
Zhao et al. | Anyscan: An efficient anytime framework with active learning for large-scale network clustering | |
Chen et al. | Overlapping community detection of complex network: A survey | |
CN109255433B (zh) | 一种基于相似性的社区检测的方法 | |
Wang et al. | A novel measure for influence nodes across complex networks based on node attraction | |
Aldabobi et al. | An improved Louvain algorithm based on Node importance for Community detection | |
Mitchell et al. | Local optima networks of the black box optimisation benchmark functions | |
Ferdowsi et al. | Generating high-quality synthetic graphs for community detection in social networks | |
Wang et al. | Community detection in complex networks using proximate support vector clustering | |
Li et al. | Explore of the fuzzy community structure integrating the directed line graph and likelihood optimization | |
Noveiri et al. | Community detection in social networks using ant colony algorithm and fuzzy clustering | |
CN106599187B (zh) | 一种基于边不稳定度的社区发现系统及方法 | |
Grando et al. | Computing vertex centrality measures in massive real networks with a neural learning model | |
Noveiri et al. | ACFC: ant colony with fuzzy clustering algorithm for community detection in social networks |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190412 |
|
RJ01 | Rejection of invention patent application after publication |