基于节点相似性度量的社团结构划分方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于节点相似性度量的社团结构划分方法
梁宗文;杨帆;李建平
【摘要】针对复杂网络结构划分过程复杂、准确性差的问题,定义了节点全局和局部相似性衡量指标,并构建节点的相似性矩阵,提出一种基于节点相似性度量的社团结构划分算法.其基本思路是将节点(或社团)按相似性合并条件划分到同一个社团中,如果合并后的节点(或社团)仍然满足相似性合并条件,则继续合并,直到所有节点都得到准确的社团划分.实验结果表明,所提算法能成功正确地划分出真实网络中的社团结构,性能比标签传播算法(LPA)、GN (Girvan-Newman)、CNM (Clauset-Newman-Moore)等算法优秀,能有效提高结果的准确性和鲁棒性.
【期刊名称】《计算机应用》
【年(卷),期】2015(035)005
【总页数】6页(P1213-1217,1223)
【关键词】节点相似性;社团划分;社团结构;复杂网络
【作者】梁宗文;杨帆;李建平
【作者单位】电子科技大学计算机科学与工程学院,成都611731;Department of Electrical and Computer Engineering, Rutgers, The State University of New Jersey, Piscataway 08854, USA;电子科技大学计算机科学与工程学院,成都611731;电子科技大学计算机科学与工程学院,成都611731
【正文语种】中文
【中图分类】TP393;N945.1
社团划分是研究复杂网络结构和功能属性最基本的一项工作。
社团可以看作是在网络中拥有相似属性或者扮演相似角色的节点集合,通常这些社团内部的节点之间连接紧密, 而社团之间的节点则连接稀疏。
学术界提出许多进行社团划分的算法,但大多数算法都是基于模块度指标来划分的,这种划分方法不但计算复杂而且还可能出现误差,所以出现了大量的改进方法,如GN(Girvan-Newman)算法[1]、谱方法[2]、标签传播算法(Label Propagation Algorithm, LPA)[3]、Kernighan-Lin 算法[4]等。
GN算法其基本思想是不断地从网络中移除介数最大的边,直到每个节点就是一个退化社团为止;谱方法是基于图的Laplacian 矩阵,它往往尝试从全局上优化函数,便于理解和计算;LPA是用不同的标签来标识不同的社团,是一种线性的社团划分方法,适应于大规模网络场景;Kernighan-Lin算法是一种试探优化法,它是一种利用贪婪算法将复杂网络划分为两个社团的二分法,划分社团时必须事先知道网络中社团规模大小,适用于小规模网络。
此外,Yuan等[4]提出一种基于簇相似度的网络社团结构探测算法,对于边密度较高的网络性能比较理想;王兴元等[5]从节点对其邻居的依赖度出发,通过计算节点间的依赖度来划分社团,具有很好的可操作性;吕天阳等[6]基于统一的数据基础, 从社团评价指标的有效性和现有算法的效果两个角度开展研究,针对5个真实数据集, 分析现有的3种加权复杂网络社团发现算法的效果,具有一定的指导意义; 而Liang等[7-8]则基于共识聚类,用共识权来指引标签的传播,大大提升了标签传播算法的稳定性, 从而得到稳定的社团划分结果。
由于社团划分的基本思想是将属性相似或者角色相似的节点划分到同一个集合中,本文将从全局和局部来衡量节点的相似性,并构建节点的相似性矩阵(Node Similarity Matrix,NSM)NSM={Sij},其中,Sij表示节点i和节点j的相似程度值,基于该相似性矩阵,提出一种基于节点相似性度量的社团划分方法。
在真实网络中,节点与节点之间通常具有一定的相似性,在当前提出的节点相似性
衡量算法中,主要包含基于局部节点相似性指标的方法和基于全局节点相似性指标的方法。
在基于局部相似性指标方面, Pan 等[9]利用节点对之间相同邻居的度来评估节点的相似性,基于节点的相似性来进行社团划分,这种方法的缺陷是如果节点对之间并无相同邻居,则无法比较两者的相似性。
Chen等[10]认为如果两个节点之间拥有更多的邻居,则这两个节点更容易形成连边,基于这种方法来衡量节点的相似性,并进一步提出FOAF(Friend Of A Friend)算法来划分社团。
Zhang 等[11]使用相关邻居关系来衡量节点的相似性,从而得出两个节点被分配到同一个社团的可能性。
Lou等[12]在文献[11]的基础之上,使用相关邻居关系来指导LPA 的标签传播,从而能高效地进行社团划分。
而在基于全局性指标方法方面,Symeonidis等[13]将局部图特征扩展到全局图特征,然后利用全局图特征来计算节点的相似性。
Pan 等[14]提出一种随机游走算法,基于全局随机游走马尔可夫链模型来测量节点的相似性。
Jeh等[15]提出基于结构主题来计算节点的相似性,如果两个节点在网络中拥有更多相似的结构主题,则两个节点的相似性更好。
本文结合局部和全局的指标来计算节点对之间的相似性,采用相关邻居关系从局部上来衡量节点的相似性程度,然后将其推广到全局,提出一种混合算法来衡量节点的相似度。
相关邻居关系是从局部拓扑上来衡量相似性的一种方法,其计算方法如下:
P(vi,vj)=|E(vi,vj)|+|N(vi)∩N(vj)|+ |E(G[N(vi)∩N(vj)])|
其中:|E(vi,vj)|表示节点i和节点j之间直接相连的边数,|N(vi)∩N(vj)|表示节点i和节点j之间共同邻居节点个数,|E(G[N(vi)∩N(vj)])|表示节点i和节点j的共同邻居之间的边数。
基于相关邻居关系,本文定义节点对的局部相似性如下:
Lsim(vi,vj)=
其中:|N(vi)∩N(vj)|表示节点i和节点j的不重复邻居总数,|E(G[N(vi)∩N(vj)])|表
示节点i和节点j的所有邻居之间的边数。
如图1所示:
|E(v1,v2)|=1,|N(v1)∩N(v2)|=2,|E(G[N(v1)∩N(v2)])|=1,|N(v1)∪N(v2)|=4,
|E(G[N(v1)∪N(v2)])|=3,所以节点1和节点1之间的局部相似性为
(1+2+1)/(1+4+3)=0.5。
从式(2)可以看出,Lsim(vi,vj)∈[0,1],当节点i和节点j
之间既不存在边也不存在共同的邻居时,Lsim(vi,vj)=0;当节点i和节点j之间存在一条边同时拥有完全相同的邻居时,Lsim(vi,vj)=1。
将式(2)进行推广,本文定义节点对的全局相似性如下:
Gsim(vi,vj)=
其中:vq1=vi,vq(k+1)=vj,而节点qm(m=1,2,…,k)是指从节点i到节点j的最短路径上所有的中间节点集合。
所以,结合全局相似性和局部相似性,节点对之间的相似性计算方法如下:
sim(vi,vj)
在本文中,计算出所有节点对的相似性后,继续构建一个网络图G的相似性矩阵(NSM),矩阵的每一个元素代表两个节点的相似性程度值,即满足如下公式:NSM[vi,vj]=sim(vi,vj)
2.1 衡量社团结果性能的指标
衡量社团结果性能最著名的指标是模块度(Modularity), 由Newman等[16]提出,是目前最常用的一种衡量网络中社区稳定度的方法, 其基本想法是把划分社团后的网络与相应的零模型(Null Model)进行比较,以度量社团划分的质量。
常用的模
块度定义如下:
其中:Ii 表示社团i中内部边的个数,Di表示社团i中节点的度之和。
一般情况下,模块度值越大,社团分割结果越好。
另一个常见的衡量指标是标准化互信息(Normalized Mutual Information,NMI)[17], 它常常用在聚类中,用以度量2个聚类结果的相近程度,常见的标准化
互信息定义如下:
NMI(A,B)
其中:A、B分别表示真实的社团集合和通过算法划分得到的社团结果,I(A、B)是A,B两个向量的交互信息(Mutual Information), H(A)和H(B)分别表示是A向量
和B向量的标准熵(Standard Entropy)。
如果通过算法划分得到的社团结果跟真
实社团集合越吻合,则NMI值越大,说明对应的社团划分算法越优秀。
2.2 理论模型
由于孤立节点可以看作一个单独的社团,即对孤立节点进行社团划分是没有意义的,所以在本文中假设网络中不存在孤立的节点。
社团划分的目的是将属性相似或者角色相似的节点划分到同一个社团中,所以本文先采用式(4)来计算节点对的相似程度,构建一个相似性矩阵NSM={Sij},其中Sij表示节点i和节点j的相似程度值。
接下来,将进行3步操作:首先,将拥有最大相似值的节点对合并,得到一系列子
社团c1,c2,…,ck。
然后,计算这些子社团的模块度值和子社团之间所有节点的相似性程度值之和。
最后,按照如下子社团合并规则来继续合并子社团——两个子社团之间所有节点的相似性程度值之和最大并且如果将社团ce和cf合并为一个社团后模块度的增值最大,则合并ce和cf;否则,则不合并。
基于节点相似性度量的社团划分方法步骤总结如下:
1)将每个节点看作一个独立的社团,并将所有节点的标签置为true。
根据式(4)计
算所有节点之间的相似性,并任意选择一个节点作为当前节点。
2)寻找跟当前节点拥有最大相似性值的节点(为了算法的严谨性,引入阈值η来过滤,即如果最大相似性值小于η,则将该最大相似值设为0)。
如果最大相似性值
大于0,则将其合并为一个社团,并将该社团中所有节点的标签置为false。
3)随机从标签为true的节点集合中选取一个节点作为当前节点,重复步骤2), 直
到所有节点的标签均被置为false。
4)计算所有合并后得到子社团的模块度值以及子社团之间所有节点的相似性程度值之和,并按子社团合并规则来合并相应的子社团。
5)重复步骤4), 直到所有子社团都不能满足子社团合并规则。
以图2为例, 首先计算所有节点的相似性并得到如图3所示的相似性矩阵。
表1列出的是每个节点对应的最大相似度节点编号,重复地合并具有最大相似度值的节点,最终得到3个社团c1={v1,v2,v3},c2={v4,v5}和c3={v6,v7,v8,v9},此时模块度Qmodularity=0.339 3。
接下来按照子社团合并规则来合并得到的3个子社团,很显然,子社团c1和子社团c2之间所有节点的相似程度值之和最大并且将子社团c1和子社团c2合并之后能得到最大的模块度增量,使得模块度值增加到Qmodularity=0.426 0,所以合并子社团c1和子社团c2;相反,任何其他的合并方式都无法再使模块度增加,所以最终的社团划分结果就是c1={v1,v2,v3,v4,v5}和c2={v6,v7,v8,v9}。
2.3 时间复杂度分析
本文提出的社团划分方法时间开销主要在3个方面:计算节点对的相似性程度、合并节点和合并社团。
计算节点对的相似性程度分为计算局部相似程度和计算全局相似程度。
计算局部相似程度所需要花费的时间为O(|E|×d2)[12], 其中d是网络节点的平均度;由于用Dijkstra 算法来寻找节点对的最短路径需要耗费时间为O(n2)[18], 所以计算全局相似程度需要花费时间为O(φ×(n2+h×d2)),其中h表示最短路径的长度,φ是节点对的数量。
所以,计算节点对相似性程度需要耗费时间为
O(|E|×d2+φ×(n2+h×d2))。
在节点合并和社团合并阶段,可以直观地看出,对于一个拥有n个节点的网络,其时间复杂度小于O(2n)。
所以,本文方法时间复杂度为O(|E|×d2+φ×(n2+h×d2)+2n)~O(n2)。
3.1 LFR基准网络
首先将本文算法应用到著名的人工合成LFR(Lancichinetti-Fortunato-Radicchi)基准网络[19-20]中。
在这个网络中,用一个混合因子μ∈[0,1]来衡量社团结构的模糊化程度,μ值越低,说明社团结构的模糊化程度越低,即社团的结构越清晰。
在图4(a)和图4(b)中,基准网络的节点个数分别为1 000和5 000,基准网络的参数设置如下: 节点的平均度k=20, 节点的最大度kmax=50, 社团的最小规模cmin=10, 社团的最大规模cmax=50, 度指数t1=2, 社团指数t2=3。
将本文算法跟标签传播算法(LPA)的性能相比,本文算法划分出的社团结果具有更高的标准化互信息(NMI),即本文算法其社团分割结果更准确。
3.2 空手道俱乐部网络
空手道俱乐部网络(Karate Club Network)是Wayne Zachary于1977年收集到的大学空手道俱乐部网络。
每个节点代表了俱乐部的一个成员,每条边代表了两个成员的联系。
空手道俱乐部网络被广泛运用于社会网络分析中,它拥有34个节点和78条无向边[21]。
图5展示的是通过本文算法划分的社团结果,可以看出社团被正确划分(不同社团用线条隔开)。
划分之后平均模块度值Qaverage=0.381 0,比标签传播算法(Qaverage=0.350 1)划分的结果更好。
用本文算法在对空手道俱乐部网络进行社团划分的过程中,一共完成了3次节点或社团的合并,最终获得了2个社团,合并过程如图6所示。
3.3 海豚网络
海豚网络(Dolphin Network)是Lusseau等[22-23]在研究居住在新西兰神奇湾的62头宽吻海豚社会关系时构建的网络。
该网络由62个节点和159条边组成, 其中每个节点代表一只海豚, 如果两只海豚经常联系,则两只海豚对应的节点之间有边。
图7是通过本文算法划分出的海豚网络社团结果,社团个数为4(不同的社团用线
条隔开),平均模块度Qaverage=0.592 0比标签传播算法Qaverage=0.587 9和Louvain算法[16]Qaverage=0.384 7更好。
同时,划分过程一共完成了4次节
点或社团的合并,其合并过程如图8所示。
3.4 美国大学橄榄球联赛网络
2000年,美国115所大学进行了一场橄榄球联赛,经Girvan等[24]收集整理得
到一张橄榄球联赛网络(Football)。
网络包括115个节点和613条边, 其中每个节点代表了参加球赛的高校代表队, 连接两个节点的边表示对应的两支球队之间至少曾有过一场比赛。
图9给出了按照本文算法来划分美国大学橄榄球联赛网络得到的社团结果(不同社
团用线条隔开)。
本文算法划分后得到12个社团,平均模块度为
Qaverage=0.592 0, 比标签传播算法(Qaverage=0.587 9)和CNM算法[25-27]
优秀(Qaverage=0.577 3)。
为了更清晰地说明本文算法社团划分结果的优秀性,表2将本文算法跟几种常见
社团划分算法在实际网络中的社团模块度值进行了对比。
本文提出了一种节点相似性度量方法,定义了节点的局部相似性和全局相似性指标,在此基础之上构建一个相似性矩阵,然后选择满足相似性合并条件的节点或社团进行合并,直到所有节点都被划分到社团中。
算法的设计使得不直接相连且没有共同邻居的节点也能够测量其相似性程度,符合属性相似或者角色相似的节点应该被划分到同一个社团之中,使得社团的划分结果更符合社团结构的定义。
将本文方法运用到人工合成基准网络和几个经典实际网络, 都得到了不错的社团划分结果,算法的性能达到了较高的水准。
【相关文献】
[1] GIRVAN M, NEWMAN M E J. Community structure in social and biological networks[J]. Proceedings of the National Academy of Sciences, 2002, 99(12): 7821-7826.
[2] ZHANG C,SHEN H. Modularity for community structure in complex networks based on spectral method[J]. Systems Engineering Theory and Practice,2013, 33(5): 1231-1239.(张聪, 沈惠璋. 基于谱方法的复杂网络中社团结构的模块度[J]. 系统工程理论与实践, 2013, 33(5): 1231-1239.)
[3] RAGHAVAN U N, ALBERT R, KUMARA S. Near linear time algorithm to detect community structures in large-scale networks[J]. Physical Review E, 2007, 76(3): 036106. [4] YUAN C, CHAI Y. Group similarity based algorithm for network community structure detection[J]. Acta Physica Sinica, 2012, 61(21): 218901.
[5] WANG X, ZHAO Z.Partitioning community structure in complex networks based on node dependent degree[J]. Acta Physica Sinica, 2014,63(17): 178901.(王兴元,赵仲祥.基于节点间依赖度的社团结构划分方法[J].物理学报,2014,63(17): 178901.)
[6] LYU T,XIE W,ZHENG W, et al. Analysis of community evaluation criterion and discovery algorithm of weighted complex network[J]. Acta Physica Sinica, 2012, 61(21): 210511.(吕天阳, 谢文艳, 郑纬民, 等. 加权复杂网络社团的评价指标及其发现算法分析[J]. 物理学报, 2012, 61(21): 210511.)
[7] LIANG Z, LI J, YANG F, et al. Detecting community structure using label propagation with consensus weight in complex network[J]. Chinese Physics B, 2014, 23(9): 098902. [8] LIANG Z, PETROPULU A, YANG F, et al. Constant community discovery in network based on consensus clustering[J]. International Journal of Modern Physics B, 2014, 28(19): 1450126.
[9] PAN Y, LI D, LIU J, et al. Detecting community structure in complex networks via node similarity[J]. Physica A: Statistical Mechanics and its Applications, 2010, 389(14): 2849-2857.
[10] CHEN J, GEYER W, DUGAN C, et al. Make new friends, but keep the old: recommending people on social networking sites[C]// Proceedings of the 2009 SIGCHI Conference on Human Factors in Computing Systems. New York: ACM, 2009: 201-210. [11] ZHANG Y, WANG J, WANG Y, et al. Parallel community detection on large networks with propinquity dynamics[C]// Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2009: 997-1006.
[12] LOU H, LI S, ZHAO Y. Detecting community structure using label propagation with weighted coherent neighborhood propinquity[J]. Physica A: Statistical Mechanics and its Applications, 2013, 392(14): 3095-3105.
[13] SYMEONIDIS P, TIAKAS E, MANOLOPOULOS Y. Transitive node similarity for link prediction in social networks with positive and negative links[C]// Proceedings of the 4th ACM Conference on Recommender Systems. New York: ACM, 2010: 183-190.
[14] PAN J, YANG H, FALOUTSOS C, et al. Automatic multimedia cross-modal correlation discovery[C]// Proceedings of the 10th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2004: 653-658.
[15] JEH G, WIDOM J. SimRank: a measure of structural-context similarity[C]// Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2002: 538-543.
[16] NEWMAN M E J, GIRVAN M. Finding and evaluating community structure in networks[J]. Physical Review E, 2004, 69(2): 026113.
[17] DANON L, DIAZ-GUILERA A, DUCH J, et al. Comparing community structure identification[J]. Journal of Statistical Mechanics: Theory and Experiment, 2005, 2005(9):
P09008.
[18] JOHNSON D B. A note on Dijkstra’s shortest path algorithm[J]. Journal of the ACM, 1973, 20(3): 385-388.
[19] LANCICHINETTI A, FORTUNATO S, RADICCHI F. Benchmark graphs for testing community detection algorithms[J]. Physical Review E, 2008, 78(4): 046110.
[20] LIU X, MURATA T. Evaluating community structure in bipartite networks[C]// Proceedings of the 2010 IEEE 2nd International Conference on Social Computing. Piscataway: IEEE, 2010: 576-581.
[21] ZACHARY W W. An information flow model for conflict and fission in small groups[J]. Journal of Anthropological Research, 1977, 33(4): 452-473.
[22] LUSSEAU D. The emergent properties of a dolphin social network[J]. Proceedings of the Royal Society of London, Series B: Biological Sciences, 2003, 270(S2): 186-188. [23] LUSSEAU D, NEWMAN M E J. Identifying the role that animals play in their social networks[J]. Proceedings of the Royal Society of London,Series B: Biological Sciences, 2004, 271(S6): 477-481.
[24] GIRVAN M, NEWMAN M E J. Community structure in social and biological networks[J]. Proceedings of the National Academy of Sciences, 2002, 99(12): 7821-7826.
[25] NEWMAN M E J. Modularity and community structure in networks[J]. Proceedings of the National Academy of Sciences, 2006, 103(23): 8577-8582.
[26] CAFIERI S, HANSEN P, LIBERTI L. Locally optimal heuristic for modularity maximization of networks[J]. Physical Review E, 2011, 83(5): 056105.
[27] CLAUSET A, NEWMAN M E J, MOORE C. Finding community structure in very large networks[J]. Physical Review E, 2004, 70(6): 066111.
[28] BLONDEL V D, GUILLAUME J L, LAMBIOTTE R, et al. Fast unfolding of communities in large networks[J]. Journal of Statistical Mechanics: Theory and Experiment, 2008, 2008(10): P10008.。