一种新的基于标签传播的重叠社区发现算法
基于复杂网络的重叠社团发现算法
基于复杂网络的重叠社团发现算法基于复杂网络的重叠社团发现算法复杂网络是由大量节点和连接组成的复杂结构,它不仅应用广泛,而且具有重要的理论价值。
在复杂网络中,社团是一组高度相互关联的节点,而重叠社团则是指存在相同节点的多个社团。
重叠社团发现是一种重要的网络分析技术,可以揭示网络中的隐藏关系,对于研究人类行为、社交网络、蛋白质互作网络等领域具有重要的应用价值。
基于复杂网络的重叠社团发现算法主要分为两种,一种是基于聚类的算法,即将网络划分为若干个社团,使得同一社团内的节点之间的连接强度较强,而不同社团之间的连接强度较弱。
但是,这种算法只适用于发现非重叠社团。
另一种是基于分解的算法,即将网络表示为若干个基本成分的加权组合,其中每一基本成分需要包含许多节点。
这种算法不仅能够发现非重叠社团,更能够发现重叠社团。
重叠社团发现算法的主要挑战是如何对同一节点在多个社团之间的属于度量。
为了解决这个问题,研究者们提出了许多新的算法。
其中比较流行的是Jaccard系数和模块度。
Jaccard系数是一个二元度量,它将两个社团之间的交集和并集相除。
模块度被认为是复杂网络重叠社团发现算法中最流行的指标之一。
它是一个用于度量网络内部的连接强度和社团之间的连接弱度的权重性度量。
在实际应用中,重叠社团发现算法具有广泛应用。
例如,在社交网络中,我们可以使用重叠社团发现算法来识别网络中的小圈子,进一步了解社交网络中的社群结构。
在生物学中,我们可以使用这种算法来识别蛋白质互作网络中的蛋白质复合物。
在多媒体数据分析中,我们可以使用这种算法来分析大规模图像数据的群体特征。
可见,重叠社团发现算法在各个领域具有广泛的应用前景。
总之,基于复杂网络的重叠社团发现算法是一项重要的研究课题,具有广泛的应用前景。
在未来,我们需要继续深入探索这种算法,加强其理论分析和实际研究,为推动科学技术进步做出积极贡献。
基于标签传播的稳定重叠社区挖掘算法研究
b al a n c e f a c t o r .E x p e r i me n t a l r e s u l t s p r o v e t h a t t h e a l g o r i t h m c a n s i mu l t a n o u s l y f o c u s o n qu a l i t y, e f i c i en c y a n d s t a b i l i t y o f a mi n i n g c o mm u n i t y.
Ab s t r a c t: W e p r e s e n t a l a b e l p r o p a g a t i o n b a s e d d e t e c t i n g a l g o r i t h m o f s t a b l e o v e r l a p p i n g c o m mu n i t y t o c o n s i d e r b o t h e f i c i e n c y a n d s t a bi l i t y i n d e t e c t i n g al g or i t h m o f o v e r l a p pi n g c o mm u n i t y .Th e a l g o r i t h m i n i t i a l l y e mpl o y s t wo l a be l s e l e c t i o n s t r a t e gi e s t o s o l v e s t a b i l i t y p r o b l e m i n l a b e l p r o p a ga t i o n b a s e d a l g o r i t h m.I t t h e n e f f e c t i v e l y c o n t r o l s i t s s t a b i l i t y b y a
一种新的重叠社区发现算法
区都具有 很 大的适 应度 , 则这 些节 点归属 于 多个社 区。考虑 到社 区之 间的 重 叠性 , 社 区相 似度 很 大的社 区合 将 并为 一个社 区。将 该算 法应 用到 Zca 空手道俱 乐部 网络 和 海豚社 会 网络 中, ahr y 实验 表 明该算 法 能 够很好 地 划
vs e o m n y S e h o n d s a dj n dten d i bg et tes ot o m nt.I te o e a ev r bg i tdc m u i ’ i b r o e , n ie o e t a i s fn s t h c m u i f h d d h e i i t n g o h w h g i e y n h t y
度 的社 区发现算法 , 中 N w a 其 e m n等人 提 出的 G N算法 是一
第2 9卷 第 3期 21 0 2年 3月
计 算 机 用 研 究
Ap lc t n Re e r h o mp t r p i ai s a c fCo u e s o
Vo _ 9 No 3 l2 . Ma . 2 1 t 02
一
种 新 的重 叠社 区发 现 算 法 木
d tc v r p ig c mmu i e .T i lo i m o k t e n d swi r a e t l y d ge s t e i i a o ee t e l p n o o a n t s h sag r h t o h o e t a g e tc n r i e r e a h n t lc mmu i e ,t e i t h at i nt s h n i
i e st n o f n s o ma y c mmu i e ,t e e o g d t e e a o t nt s h n i b ln e sv r lc mmu i e .Co s e n h v r p i g p o e y o o i t o nt s i n i r g t e o e l p n r p  ̄ fc mmu i ,i di a nt t y c mb n d c mmu i e i ra i lr is i t n o o ie o n t sw t g e t s a i e n o o e c mmu i .I a p id t i ag rtm n o t e Z c ay’ r t l b i h mi t nt y t p l h s l oi e h i t h a h r S Kaa e C u N t o k a d t e D l h n o il t r ,a d t e e p rme t n i ae i ag r h c n d vd v r p ig c mmu i e f — e w r n h o p i sS c a wo k n h x e Ne i n d c t s h s l o i m a ii eo el p n o i t t a n t sef i i
基于Node2Vec的重叠社区发现算法
基于Node2Vec 的重叠社区发现算法①陈 卓, 姜 鹏, 袁玺明(青岛科技大学 信息科学技术学院, 青岛 266061)通讯作者: 姜 鹏摘 要: 针对目前基于种子节点选择的社区发现算法在准确性和复杂度等方面存在的不足, 提出了一种基于Node2Vec 的重叠社区发现算法. 首先, 使用Node2Vec 算法学习到网络中每个节点的向量表示, 用以计算节点间的相似度, 其次, 利用节点影响力函数计算节点影响力并找出种子节点, 然后基于每个种子节点进行社区的扩展优化,最终挖掘出高质量的重叠社区结构. 本文选取多个真实网络进行了对比实验, 结果表明, 本文所提出的算法能够在保证良好稳定性的前提下发现高质量的社区结构.关键词: Node2Vec; 重叠社区发现; 节点影响力; 种子节点; 社区扩展引用格式: 陈卓,姜鹏,袁玺明.基于Node2Vec 的重叠社区发现算法.计算机系统应用,2020,29(11):163–167. /1003-3254/7658.htmlOverlapping Community Discovery Algorithm Based on Node2VecCHEN Zhuo, JIANG Peng, YUAN Xi-Ming(College of Information Science and Technology, Qingdao University of Science and Technology, Qingdao 266061, China)Abstract : In view of the shortcomings in accuracy and complexity of community discovery algorithm based on seed node selection, a Node2Vec overlapping community discovery algorithm is proposed. First, the vector representation of each node in the network is learned by using Node2Vec algorithm to calculate the similarity between nodes. Second, the node influence function is used to calculate the node influence and find out the seed node. Then the community extension optimization is carried out based on each seed node. Finally the high quality overlapping community structure is excavated. In this study, several real networks are selected for comparative experiments, and the results show that the proposed algorithm can find high quality community structures under the premise of ensuring sound stability.Key words : Node2Vec; overlapping community discovery; node influence; seed node; community expansion现实世界中的很多系统都可以被抽象为复杂网络,如社交网络、技术网络、生物网络, 这些网络都具有一种普遍的特性——社区结构. 在不同类型的网络中,社区有着不同的含义, 但是所有社区内部节点间的联系总是比不同社区节点间的联系密切, 准确地发现社区结构是在中观层面上理解复杂网络进而研究复杂系统的有效途径.社区发现的研究历史可以追溯到1927年, Rice 等基于投票模式的相似性发现小的政治团体中的社区[1]. 早期的研究工作大部分都围绕非重叠社区发现展开, 此类算法将复杂网络划分成若干个互不相连的社区结构且一个节点只能隶属于一个社区[2]. 然而, 现实中网络社区之间往往是相互重叠的, 硬划分的社区发现算法无法满足需求, 例如, 在社交网络中, 如果每个社区代表拥有共同兴趣爱好的用户所组成的群体, 则一个用户可以拥有诸多兴趣爱好而隶属于多个社区,计算机系统应用 ISSN 1003-3254, CODEN CSAOBNE-mail: Computer Systems & Applications,2020,29(11):163−167 [doi: 10.15888/ki.csa.007658] ©中国科学院软件研究所版权所有.Tel: +86-10-62661041① 基金项目: 国家自然科学基金(F030810); 山东省重点研发计划(2018GGX101052)Foundation item: National Natural Science Foundation of China (F030810); Key Research and Development Program of Shandong Province (2018GGX101052)收稿时间: 2020-03-12; 修改时间: 2020-04-12, 2020-04-29; 采用时间: 2020-05-10; csa 在线出版时间: 2020-10-29163显然, 重叠的社区结构更能体现出复杂网络的特性, 进而帮助我们从中观层面对复杂系统进行分析.对复杂网络中重叠社区的发现与研究也因此成为近年来新的研究热点, 而社区发现作为社区分析相关工作的前提, 对于其他领域的研究有着重要影响. 目前,重叠社区的发现结果可以被应用于情感分析、个性化推荐、实体消歧和链接预测等领域的研究.1 相关工作近年来, 学者们相继提出大量能够识别重叠社区的算法. Palla等提出一种基于最大团的派系过滤算法CPM来分析重叠的社区结构[3], 该算法易受k值影响,且以最大团为种子的方式计算复杂度较高. COPRA算法[4]对基于标签传播的非重叠社区发现算法进行改进,在标签后面附上节点对该标签的归属系数, 以便衡量该节点包含多个社区的信息比重, 在迭代更新节点标签的过程中允许一个节点同时拥有多个标签, 以发现网络中的重叠社区, 该算法每次迭代的时间复杂度接近线性但稳定度较差. 基于链路的重叠社区发现算法首先对网络的边进行聚类, 然后通过收集链路社区内的所有连接的节点进行社区划分, 代表算法为LINK 算法[5]. 在此基础上, Li等[6]提出一种基因表示模型,通过将链路社区映射成节点社区的方式, 实现对重叠节点的发现. 基于局部社区优化和扩展的方法则从局部社区出发, 基于优化函数进行扩张, 社区间的交叉部分则为重叠节点, 代表算法为LFM算法[7], 除此之外, Su等[8]提出利用随机游走策略扩展优化的方法. 文献[9]在此基础上提出基于种子节点选择的重叠社区发现算法, 首先通过定义的影响力函数选取种子节点, 然后通过吸引力函数以种子节点为核心进行扩展, 发现种子所在的局部社区结构. 其中, 基于种子节点选择和扩展的算法由于稳定性好、效率高而成为主流的社区发现算法. Wang等[10]提出一种基于结构中心性的种子选择算法, 实现了一个高覆盖率的朴实算法, 提高了社区发现质量, 但算法不能很好地适用于大规模数据集. 於志勇等提出的i-SEOCD算法能够高效地从种子节点出发进行局部扩展, 最终发现稳定的重叠社区[11], 但是该算法在计算节点相似度时只考虑了局部网络, 提高算法执行效率的同时也牺牲了算法准确性.现有基于种子节点扩展的重叠社区发现算法虽然在稳定性方面表现较好, 但在衡量两节点间关系时, 往往将两节点间是否有连边作为唯一判别标准, 而只考虑狭小作用域范围内的局部信息的做法, 虽然提升了社区发现的效率, 但忽略了网络中更大范围内节点和边因素对社区发现过程的影响, 使得算法在提升效率的同时往往以牺牲部分准确性为代价. 同时, 现有算法在基于种子节点进行社区扩展的过程中, 往往需要不断地迭代计算现有社区与未划分节点间的相似性关系,计算量大, 不适合进行大规模网络的社区发现.为了更好地解决以上问题, 本文利用Node2Vec[12]算法对网络结构进行学习, 通过控制在游走产生节点序列过程中对深度优先和广度优先的趋向, 将更大范围内的拓扑结构信息体现到节点因素中, 提出了基于Node2Vec的重叠社区发现算法, 该算法能够解决现有算法存在的以牺牲准确性来提高效率和不适合大规模数据集的问题.2 基于Node2Vec的重叠社区发现算法针对以Jaccard相似度为指标衡量节点间距离的方法所存在的局限性, 本文采用网络表示学习算法学习到网络中每个节点的向量表示, 针对传统种子节点选择方法稳定性和鲁棒性差的缺点, 提出了新的种子节点选择算法, 并以此为基础进行社区扩张和优化. 2.1 Node2Vec算法Perozzi等[13]提出了将Word2Vec的思想用于图节点表示学习的Deepwalk算法, Node2Vec在此的基础上改变了随机游走的序列生成方式, 通过半监督的方式学习p, q两个超参数的值, 控制游走对深度和广度的趋向, 其中p控制跳向前节点邻居的概率, q控制跳向前节点非邻居的概率, 如图1所示.x1x3x2tVα=1α=1/qα=1/qα=1/q图1 随机游走过程图q>1x1p>1x2x3图1中, 时, 趋向于遍历临近t节点的节点,即趋向于BFS; 时, 趋向于遍历临近t节点的或节点, 即趋向于DFS. 在确定要遍历的邻居节点之后,采用skip-gram模型进行训练进而获得节点的向量表示.u v在进行种子节点发现前, 首先利用Node2Vec算法对网络结构进行学习, 在学习到网络中每个节点的向量表示后, 对于任意节点和, 可利用算法内置的相似计算机系统应用2020 年 第 29 卷 第 11 期164sim (u ,v )A n ×n A uv u v 1−sim (u ,v )度计算工具计算其在高维空间中的相似度, 其取值范围为0~1, 通过该方式进一步计算网络中任意节点之间的相似度, 并用相似度矩阵表示整个网络中节点间的相似度信息, 其中表示节点和之间的相似度, 进而可以用来表示节点间的相异度.2.2 种子节点选择算法G =(V ,E )通常, 一个网络可以用无向图表示, 其中V 表示图中n 个节点的集合, E 表示图中m 条边的集合.在网络中, 节点u 的邻居集合N(u)定义如下:N (u )={u :v ∈V ,(u ,v )∈E }(1)节点u 对节点v 的影响力用F(u,v)表示如下:F (u ,v )=D (u )D (v )(1−sim (u ,v ))2(2)sim (u ,v )1−sim (u ,v )其中, D (u )和D (v )分别表示节点u 和v 的度, 表示u , v 节点的相似度, 可通过Node2Vec 生成的节点向量计算得到, 表示为两节点间的距离, 距离越远, u 对v 的影响力越小.节点u 的影响力值通过以下公式计算得到:F (u )=∑v ∈N (u )D (u )D (v )(1−sim (u ,v ))2(3)节点影响力的大小与其邻居节点的数量、度数以及相异度有关, 影响力越大, 节点越有机会成为种子节点.在种子节点选择算法中, 首先根据节点的向量计算所有节点的影响力值, 如果某节点的影响力值比其所有邻居节点的影响力值都大, 则将该节点加入到种子节点的集合中. 算法1中列出了种子节点选择算法的伪代码, 其中2–4行利用定义的节点影响力计算公式计算出每个几点的影响力值, 5–9行将每个节点的影响力值与其所有邻居的影响力值进行比较, 若邻居节点中没有比当前节点影响力值大的节点, 则将该节点加入到种子节点集合中.算法1. 种子节点选择算法G =(V ,E )A n ×n 输入: 无向图; 相似度矩阵.输出: 种子节点集合S.S ←∅1. u ∈V2. for do3. 利用式(3)计算F(u)4. end for ∈5. for u V do∀v ∈N (u )F (u )≥F (v )6. if and S ←S ∪u 7. 8. end if 9. end for 10. return S2.3 社区扩展算法ε针对现有算法在社区扩张过程中重复计算量大的问题, 本文在得到分布均匀、影响力大的种子节点之后, 充分利用前一阶段计算所得的节点相似度矩阵, 从每个种子节点出发进行社区扩展, 首先, 以集合中的每个种子节点为核心构建社区, 若节点与种子节点的相似度大于阈值, 则将该节点划入该种子节点所属的社区, 然后, 对于尚未被划分的节点, 比较其与各个种子节点的相似度, 选取与之最相似的种子节点, 加入其所在社区, 最终完成社区的划分.εε算法2中列出了社区扩展算法的伪代码, 2–4行首先将所有节点标记为false, 5–13行分别以每个种子节点为核心进行社区扩展, 并将被划分的节点标记为true,此过程中以各节点为核心的社区独立进行扩展, 能够很好地根据阈值的大小控制重叠节点的规模, 阈值越小, 发现重叠节点的几率越大, 14–19行将一轮划分结束后没有归属的节点分离出来, 20–25行则对标记为false 的节点进行处理, 选择与之相似度最高的种子节点所在的社区作为其社区归属, 最终经过两个阶段的处理, 得到最终的社区.算法2. 社区扩展算法G =(V ,E )A n ×n 输入: 无向图; 相似度矩阵; 种子集合S.输出: 社区结构C.C ←∅1. u ∈V2. for doLabel (u )=false 3. 4. end for5. for seed in S doCS ←∅,CS ←CS ∪{seed }6. u ∈V u S 7. for and A [seed ][u ]≥ε8. if CS ←CS ∪{U }Label (u )=true 9. ,10. end if 11. end for C ←C ∪CS 12. 13. end for R ←∅14. 15. for node in VLabel (node )=false16. if R ←R ∪{node }17. 18. end if 19. end for R20. for v in 21. for seed in SA [seed ][v ]22. CS_num = argmax 23. end forCS ←CS ∪{v }Label (v )=true 24. , 2.5 end for 26. return C2020 年 第 29 卷 第 11 期计算机系统应用165εεk ×n 2×k ×n k n k <<n O (n )O (n log n )通常情况下, 选择合适的阈值能够使得大部分节点经过第一阶段的处理能够划入相应的社区, 阈值越小, 需要进行第二阶段处理的节点越少, 但也会导致社区之间重叠度很高. 本文在基于种子节点进行社区扩展的过程中, 充分利用前阶段的计算结果, 将迭代更新的过程简化成了寻址过程, 完美状态下, 只需进行次计算即可完成社区检测, 最坏情况下, 则需进行次计算, 其中表示种子节点个数, 表示网络中节点的个数, 且二者间满足, 总体复杂度为,优于现有的时间复杂度为的社区扩展算法.综上, 基于Node2Vec 的重叠社区发现算法整体流程大致分为以下3个步骤:n ×n 首先, 利用NodeVec 算法对网络结构进行学习, 得到包含丰富拓扑结构信息的节点的向量表示, 基于节点向量值计算每对节点间的相似度, 用一个阶矩阵来表示网络结构中所有n 个节点间的相似度值.然后, 利用前一阶段计算得到的节点相似度, 根据定义的节点影响力公式筛选出能够独立领导社区的种子节点集合.最后, 以种子节点为核心, 分阶段进行社区扩展,首先通过比较每个种子节点与所有非种子节点间相似度与给定阈值的大小关系初步扩展社区, 然后对于未被划分的节点, 选择与之相似度最大的种子节点, 划入其所属社区, 直至所有节点都有至少一个社区归属, 重叠社区检测完毕.3 实验为验证算法的相关性能, 在多个不同规模的真实数据集上与其他经典重叠社区发现算法进行对比实验, 待比较的算法分别是CPM 、LINK 、COPRA 和LFM 算法.3.1 实验数据集分别选取不同类型不同数量级的5个真实网络数据集, 具体包括美国空手道俱乐部网络Karate [14]、海豚关系网Dolphins [15]、大学生足球联赛网络Football [16]、欧洲研究机构电子邮件网络Email-EU [17]和高能物理范畴论文引用关系网Ca-HepPh [18], 各网络规模如表1.3.2 评价指标由于社区划分没有标准的结果, 对于真实数据集,Newman 提出的模块度函数[19]被广泛认可, 但该评价标准并不能很好地适用于重叠社区, Shen 等在此基础上提出了能衡量重叠社区划分结果的重叠模块度函数[20],定义如下:EQ =12m ∑i ∑u ∈c i,v ∈c i1Q u Q v [A uv −k u k v2m](4)m A k u u Q u u 其中, 表示网络中的总边数, 为网络的邻接矩阵,为节点的度数, 表示节点所属的社区数量.表1 真实数据情况表数据集节点边Karate 3478Dolphins 62159Football 115616Email-EU 100525 571Ca-HepPh12 008118 5213.3 实验结果εεεh =0.1ε本文提出的算法在基于种子节点进行社区扩展时,社区划分结果易受阈值大小的影响, 故首先在不同数据集上在不同阈值的指引下进行社区划分, 通常情况下阈值的取值范围为0.3~0.7, 取步长进行实验,社区划分结果随阈值大小改变而变化的情况如图20.550.500.450.400.350.300.300.350.400.450.500.550.600.650.70E Q 值Karate Dolphins Football Email-EU Ca-HepPh阈值图2 重叠模块度随阈值变化图ε=0.5ε从图2可以看出, 在不同数据集上, 模块度总是在左右的位置取到峰值, 这也说明阈值对划分结果的影响趋势在所有数据值上是大致相当的.ε=0.5将本文算法与其他4个经典的重叠社区发现算法在不同规模不同类型的数据集上进行对比实验(阈值取), 结果如表2所示.在大多数数据集上, 本文算法均取得了最高的模块度值, 尤其是在Emai-EU 和Ca-HepPh 两个大规模的数据集上, 分别取得了接近0.5和0.4重叠模块度值,所发现的社区质量明显优于其他算法, 实验证明, 使用Node2Vec 算法将更大作用域范围内的网络信息映射到节点向量中的方式, 能够有效地避免范围限制所带来的准确率方面的牺牲, 提升社区发现质量, 在规模大、结构复杂的网络上, 提升效果格外显著.计算机系统应用2020 年 第 29 卷 第 11 期166表2 真实数据集对比结果表算法Karate Dolphins Football Email-EU Ca-HepPh CPM 0.1870.3620.5600.3750.292Link 0.1590.0030.0100.1130.132COPRA 0.3420.4820.4850.4030.328LFM 0.3170.3450.5720.4310.363本文算法0.4150.4840.5630.4940.3924 结论与展望本文提出了一种基于Node2Vec 的重叠社区发现算法, 首先获得网络结构的向量表示并计算节点之间的相似度值, 利用定义的影响力函数选择出种子节点,然后以每个种子节点为核心进行社区扩张. 本文选取了不同类型不同规模的真实网络数据集, 并在这些数据集上将本文算法与其他类经典重叠社区发现算法进行对比性实验, 实验结果表明, 本文算法在大部分数据集尤其是大规模数据集上表现出了明显的优势. 后续工作将提高算法的性能, 降低算法复杂度, 并将算法应用到动态社区发现研究中.参考文献Rice SA. The identification of blocs in small political bodies.American Political Science Review, 1927, 21(3): 619–627.[doi: 10.2307/1945514]1骆志刚, 丁凡, 蒋晓舟, 等. 复杂网络社团发现算法研究新进展. 国防科技大学学报, 2011, 33(1): 47–52. [doi: 10.3969/j.issn.1001-2486.2011.01.011]2Palla G, Derényi I, Farkas I, et al . Uncovering the overlapping community structure of complex networks in nature and society. Nature, 2005, 435(7043): 814–818. [doi:10.1038/nature03607]3Gregory S. Finding overlapping communities in networks by label propagation. New Journal of Physics, 2010, 12(10):103018. [doi: 10.1088/1367-2630/12/10/103018]4Ahn YY, Bagrow JP, Lehmann S. Link communities reveal multiscale complexity in networks. Nature, 2010, 466(7307):761–764. [doi: 10.1038/nature09182]5Li MM, Liu J. A link clustering based memetic algorithm for overlapping community detection. Physica A: Statistical Mechanics and its Applications, 2018, 503: 410–423. [doi:10.1016/j.physa.2018.02.133]6Lancichinetti A, Fortunato S, Kertész J. Detecting the overlapping and hierarchical community structure in complex networks. New Journal of Physics, 2009, 11(3): 033015.[doi: 10.1088/1367-2630/11/3/033015]7Su YS, Wang BJ, Zhang XY. A seed-expanding method based on random walks for community detection in networks8with ambiguous community structures. Scientific Reports,2017, 7: 41830. [doi: 10.1038/srep41830]齐金山, 梁循, 王怡. 基于种子节点选择的重叠社区发现算法. 计算机应用研究, 2017, 34(12): 3534–3537, 3568. [doi:10.3969/j.issn.1001-3695.2017.12.003]9Wang XF, Liu GS, Li JH. Overlapping community detectionbased on structural centrality in complex networks. IEEEAccess, 2017, 5: 25258–25269. [doi: 10.1109/ACCESS.2017.2769484]10於志勇, 陈基杰, 郭昆, 等. 基于影响力与种子扩展的重叠社区发现. 电子学报, 2019, 47(1): 153–160. [doi: 10.3969/j.issn.0372-2112.2019.01.020]11Grover A, Leskovec J. Node2Vec: Scalable feature learningfor networks. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. San Francisco, CA, USA. 2016. 855–864.12Perozzi B, Al-Rfou R, Skiena S. DeepWalk: Online learningof social representations. Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York, NY, USA. 2014. 701–710.13Zachary WW. An information flow model for conflict andfission in small groups. Journal of Anthropological Research,1977, 33(4): 452–473. [doi: 10.1086/jar.33.4.3629752]14Lusseau D, Schneider K, Boisseau OJ, et al . The bottlenosedolphin community of doubtful sound features a large proportion of long-lasting associations. Behavioral Ecology and Sociobiology, 2003, 54(4): 396–405. [doi: 10.1007/s00265-003-0651-y ]15Girvan M, Newman MEJ Newman. Community structure insocial and biological networks. Proceedings of the National Academy of Sciences of the United States of America, 2002,99(12): 7821–7826. [doi: 10.1073/pnas.122653799]16Yin H, Benson AR, Leskovec J, et al . Local higher-ordergraph clustering. Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. Halifax, Nova Scotia, Canada. 2017. 555–564.17Leskovec J, Kleinberg J, Faloutsos C. Graph evolution:Densification and shrinking diameters. ACM Transactions on Knowledge Discovery from Data, 2007, 1(1): 2. [doi:10.1145/1217299.1217301]18Newman MEJ, Girvan M. Finding and evaluating communitystructure in networks. Physical Review E, 2004, 69(2):026113. [doi: 10.1103/PhysRevE.69.026113]19Shen HW, Cheng XQ, Cai K, et al . Detect overlapping andhierarchical community structure in networks. Physica A:Statistical Mechanics and its Applications, 2009, 388(8):1706–1712. [doi: 10.1016/j.physa.2008.12.021]202020 年 第 29 卷 第 11 期计算机系统应用167。
重叠社区的标签传播算法检测
重叠社区的标签传播算法检测
实际应用与挑战
重叠社区的标签传播算法在实际应用中具有广泛的应用前景。例如,在社交网络中,该算 法可以帮助我们挖掘用户的兴趣偏好和社交圈子,为个性化推荐、社交推荐等应用提供支 持。在在线社区中,该算法可以帮助我们发现用户的群体特征和行为模式,为社区治理、 用户管理等方面提供参考
利用节点间的相似性进行标签传播
Your Company
Your Company
Your Company
Your Compan
重叠社区的标签传播算法检测
重叠社区的标签传播算法
对于重叠社区的标签传播算法,其核心思想是近朱者赤。即通过图中一个点所在的圈子来 判断该点的特征性质,连接紧密的点被划分到同一个社区中,达到物以类聚的效果。具体 步骤如下
Company
Company
Company
Compan
重叠社区的标签传播算法检测
结论
综上所述,重叠社区的标签传播算法是一种
有效的社区发现方法。它通过对节点间的相
似性进行标签传播来识别重ห้องสมุดไป่ตู้节点,能够更
准确地反映网络的社区结构。该算法在实际
应用中具有广泛的应用前景,但也面临一些
挑战。未来研究可以进一步探索这些方向,
Company
Company
Your Company
Your Company
Your Compan
重叠社区的标签传播算法检测
Your Company
标签传播算法基本原理
标签传播算法是一种基于图的半监督学习方
法,它利用已标记节点的标签信息来预测未
标记节点的标签。具体来说,标签传播算法
通过样本间的关系,建立完全图模型,然后
一种新的基于标签传播的重叠社区发现算法
一种新的基于标签传播的重叠社区发现算法摘要摘要:发现高质量的社区是社区网络问题的研究热点。
目前,社区发现算法大多针对非重叠社区,重叠社区发现算法较少。
基于标签传播的算法是现有重叠社区发现算法中的一类,其中COPRA为典型算法。
尽管该算法具有接近线性的时间复杂度,但存在随机因素,结果不稳定,产生的社区结构存在一定差异。
为此,提出一种新的基于标签传播的社区发现算法,实验表明该算法在复杂度相近的情况下能明显提高所发现社区的质量,且具有较好的稳定性。
关键词关键词:社区发现;重叠社区;标签传播;稳定性DOIDOI:10.11907/rjdk.1431038中图分类号:TP312文献标识码:A文章编号文章编号:16727800(2015)0040059041重叠社区及其发现算法近年来,复杂网络研究受到广泛关注,主要涉及系统科学、统计物理学、社会科学、生物学等多个领域[1]。
随着通信和互联网技术的快速发展,人们发现众多网络都存在社区结构[2]这一特征。
所谓社区结构,简单来说,就是网络中的节点存在分组,一般组内的边连接比较稠密,而组间的边连接比较稀疏。
社区结构在一定程度上可以反映出真实网络的拓扑关系。
社区发现可以帮助更好地理解网络拓扑结构及其功能,从而更好地利用和改造网络,例如挖掘网络中的未知功能、控制疾病传播等。
社区发现在某些特定应用环境中也有现实意义,例如发现恐怖分子、寻找犯罪团体等。
然而,真实网络存在一些同时属于多个社区的节点,这些节点叫作“重叠节点”,与其它社区存在重叠节点的社区就叫作“重叠社区”。
例如在社会关系网络中,小王既参加了台球俱乐部,又参加了乒乓球俱乐部,那么小王就是这两个社区的重叠节点,台球俱乐部和乒乓球俱乐部是两个重叠社区。
重叠社区较之非重叠社区具有更好的现实意义:一方面,重叠节点是网络中关键点,重叠社区因此而产生联系;另一方面,重叠社区反映了更加真实的网络结构。
因此,研究重叠社区更符合真实网络的结构。
基于标签传播的社区发现新算法
基 于标 签传播 的社区发现新算法
A n ew al go r i t h m of de t ec t i n g c ommun i t y ba s ed on l ab el pr op a ga t i o n
社 会网络中的一项研究热点 。 2 基 于标签传播 的社 区发现算 法
2 . 2 模 块 化度 量
Ne w ma n 和 Gi r v a 提 出一个 评 价 社 区质 量 的指
标 ,称为模块化度量 ( m o d u l a r i t y m e a s u r e )。模 块度
果 ,对该算 法加 以改进 。得 到一个新 的基于标 签传播 的社 区发现 算法。经 过社会 网络社 区发
现标 准数据集的验证 。结果表明新算法的稳定性和适应性有所加强。
关键词 :在线社 会网络 。社 区发现 。标签传 播
中图分 类号 :T P 3 1 9 签稳 定。
1 引 言
博客 ,微博等社 交 网站是 当下 流行 的在线社会 网络 。在 这些 网络 中 ,用户 与用户 之间存在 着一 些 诸 如好友 、关 注等等 的关系 。在社交 网站 中 ,越来 越 多 的用 户 ,因为现 实生活 中的好友 关系 、相 同的 兴 趣 、或者其他 各种联 系 ,逐渐形成 了一些 规模 不
的 团体 ,即社 会 网络 中的社 区结构 。在线 社会 网
的顶点 正确分 类 ,因此整个 迭代 过程有 接近0 ( m+ n ) 的时间复杂度 。
络 研究通 常用 图表示 网络 、图 中的结点表 示用户 、
边 表示关 系 。通 过对 社 区的划分 ,可 以获 得一些 有 价 值 的信 息 。高效地得 到高 质量 的社 区已成为在 线
基于标签传播的可并行复杂网络重叠社区发现算法_李春英
2
改进的标签传播算法 MMCLPA
定义 1 复杂网络由图 G={V, E }表示, 其中 V 表示节点的集合, E 表示边的集合. 以 V 中未 赋予标签的度数最大的节点 x 及其邻接节点中未赋予标签的度数最大的节点 y 为初始边寻找完全图 Gs, 则 Gs 称为团. 若 Gs ⊆ G, 且不存在任何团 Gt ⊆ G, 使得 Gs ⊂ Gt, 则称 Gs 为最小极大团, 简称 MMC. 定义 2 C1 和 C2 是两个不同的社区, 若节点 i 分别属于 2 个不同的社区, 则节点 i 为重叠节点, 即 overlap(i) ⇔ ∃ j ∃ k (j, k ∈ V ∧ j ̸= k ∧ (i, j ) ∈ C1 ∧ (i, k) ∈ C2 ∧ C1 ̸= C2 ). 定义 3 若叶子节点与邻居节点被划分到不同的社区, 则将叶子节点重新划分社区, 归属于邻居 节点所属的最大社区中, 即 ∃ i ∈ V ∧ (i, j ) ∈ E ∧ d(i) = 1 ∧ overlap(j ) ∈ C1 ∩ C2 ∧ C1 ̸= C2 ∧ (| C1 |̸=| C2 |) ⇒ (i ∈ C1 ∧ (| C1 |= max(| C1 |, | C2 |))) ∨ (i ∈ C2 ∧ (| C2 |= max(| C1 |, | C2 |))). 定义 4 存在一些社区, 是其他较大社区的子社区, 则将这些社区合并为一个社区, 即 ∃ Ci ∃ Cj (Ci ̸= Cj ∧ Ci ⊆ Cj ) ⇒ Ci = (Ci ∪ Cj ) = Cj . 基于标签传播的社区发现算法 MMCLPA 可以分成 3 个过程: (1) 标签初始化; (2) 标签更新;
中国科学 : 信息科学 第 46 卷 第 2 期
络, 提供精确的个性化服务. 因此社区发现对网络结构分析、功能演化及预测有重要的理论意义和实 际应用价值. 在许多现实世界的复杂网络中, 社区重叠是其中一个非常重要的特征 [4,5] . 近年来复杂网络重叠 社区发现的相关研究也得到了越来越多的关注, 相关研究成果可以从多个角度进行阐述. 一是基于完 全子图的算法, 2005 年 Palla 等 [6] 在 N ature 上发表了基于派系过滤的重叠社区发现算法 (CPM 算 法), 该算法对传统社区模式进行扩展, 允许结点同时属于多个社区, 使重叠社区发现开始受到广泛关 注, 并迅速成为社区发现的研究热点. 该算法认为社区结构由相邻的完全子图 (clique) 所构成, 一个 节点可以属于多个 clique, 因而可以发现重叠社区结构. 经验表明该算法具有较高的时间复杂度, 在处 理规模和密度较大的网络时往往需要较长时间或在有效时间内难以得到结果; 基于 clique 扩展的算法 有 CPMw [7] 、 SCP [8] 以及 EAGLE [9] 等, 这类算法往往被认为更偏向于解决复杂网络中的模式匹配 问题, 而非真正意义上的社区发现. 二是基于链接聚类的算法, 代表算法 LINK [10] 先对边集进行划分 再转化为相应的社区结构, 针对 LINK 算法在复杂网络中准确度不高的特点, 比较有代表性的改进算 法 Link Maximum Likelihood [11] 利用期望最大化来构建社区结构, Link-Comm [12] 利用信息论中的 Infomap 进行链接聚类, 虽然改进算法能够提高社区发现的准确度但可能出现过度重叠现象, 基于链 接聚类的相关算法较多 [13∼18] . 虽然基于链接聚类的方法是一种很自然的发现重叠社区的方法, 但是 Fortunato [19] 也指出基于边划分的方法并不能保证比基于节点的方法能够得到更好的社区发现质量. 三是基于局部优化和扩展的算法, 2009 年 Lancichinetti 等 [20] 提出了 LFM 算法, 它通过随机选取网 络中的初始节点, 根据定义的局部适应度函数进行社区扩张, 直到适应度函数为负时停止, 由于各个 社区的扩展过程相对独立, 因而每个节点可以被扩展到多个社区当中从而发现重叠社区结构. 但算法 的适应度参数需要预先输入, 且初始种子节点对于局部社区的算法质量影响较大. 文献 [21 ∼ 28] 也是 基于局部优化和扩展的相关算法. 四是基于标签传播的方法, Steve 将简单快速的标签传播算法 LPA (label propagation algorithm) [29] 进行了延伸, 提出了多标签传播算法 COPRA [30] 用以发现重叠社 区, 该算法初始时每一个节点赋予一个标签并允许每个节点最多携带 v 个标签, 其继承了 LPA 算法时 间复杂度低、适用大型网络等优点, 但对于未知的网络无法估计网络中节点所属的社区个数, 如果节 点所属社区个数差别较大, 即使通过调节参数 v , 算法仍然难以发现较为准确的社区结构. 基于 LPA 算法简单高效的特点, 很多学者 [31∼38] 从不同方面对其进行了改进, 但都存在结果不稳定等问题. 其 他典型的重叠社区划分算法有基于中介度 (betweenness) 的分割算法 (GN 算法) [39] , 该算法通过重复 去掉具有最大中介度的边, 使得网络被分割成一些社区, 每去除一条边, 都需要重新计算中介度, 因此 时间复杂度较大. 文献 [40] 综合封闭游走 (closed walks) 和聚类系数来取代 GN 算法中的边中介度概 念, 通过迭代移除最低权值的边, 直到网络沦为孤立节点. 实验表明该算法较好地折衷了社区发现的 精度和运行时间问题. 文献 [41] 提出了用模块度 (modularity) 作为社区划分质量的指标, 其原理是计 算社区内的边数减去随机情况下的期望边数, 针对模块度有很多不同的改进优化及扩充方法 [42∼48] , 但对于社区大小差异较大的情形, 此类算法的结果却并不理想. 文献 [49] 提出基于顶点相似概率模型 (vertices similarity probability) 去发现未知复杂网络的社区结构. 基于同一社区的顶点具有相似的属 性, VSP 模型使用顶点相似性发现社区结构, 采用矩阵摄动理论确定社区的数量, 经过仿真网络和真 实网络的数据实验证明了该模型具有较好的性能, 但是像其他模块度方法一样, VSP 模型也存在着分 辨极限问题. 文献 [50] 提出一种局部相似性度量, 对传统的 Ward 层次聚类算法进行推广, 用于发现 复杂网络的社区结构. 该算法克服了传统局部相似性度量在某些情形下对节点相似性的低估倾向, 具 有较好的可行性和有效性, 但其用于发现非重叠社区结构. 本文的贡献有两个方面: 一是针对基于标签传播的重叠社区发现算法的缺点, 提出了一种最小极
基于GraphX的重叠社区发现算法研究
基于GraphX的重叠社区发现算法研究随着社交网络的兴起和快速发展,人们在网络中形成了各种各样的社区。
社区发现算法成为了社交网络数据分析中的重要研究方向之一。
重叠社区发现算法则是在传统的社区发现算法基础上进行的一种扩展,能够识别出一个节点可以同时属于多个社区的情况。
本文研究了一种基于GraphX的重叠社区发现算法。
GraphX 是Apache Spark中的图计算框架,提供了一种高效的分布式图处理方法。
我们利用GraphX来处理大规模的社交网络数据,以实现高效的重叠社区发现算法。
在我们的算法中,首先将社交网络数据表示为一个有向图。
每个用户表示为一个节点,用户之间的关系表示为边。
然后,我们对图进行预处理,剔除掉度数较小的节点,以减少计算复杂度。
接着,我们利用GraphX的消息传递机制来进行社区划分。
我们将每个节点初始化为一个社区,并在每次迭代中,节点将消息发送给其邻居节点,消息中包含节点所属的社区信息。
接收到消息后,节点会根据一定的规则来更新自己的社区归属。
迭代过程将一直进行,直到收敛为止。
我们的算法不仅能够发现重叠社区,而且还能够获得每个节点在每个社区中的归属度。
这样的结果能够更全面地描述社交网络中节点的社区归属情况。
同时,我们的算法还具有较高的可扩展性和效率,能够处理大规模的社交网络数据。
为了验证算法的有效性,我们在多个真实的社交网络数据集上进行了实验。
实验结果表明,我们的算法能够准确地识别出重叠社区,并且在效率上优于其他相关算法。
此外,我们还对算法的参数进行了敏感性分析,研究了参数设置对算法结果的影响。
总之,本文研究了一种基于GraphX的重叠社区发现算法。
通过将社交网络数据表示为图,并利用GraphX的分布式图处理能力,我们能够高效地发现重叠社区,并获得节点在社区中的归属度。
实验结果表明,我们的算法在准确性和效率上都具有优势。
未来,我们将进一步改进算法,提高其性能和适用性,以应对不断增长的社交网络数据规模。
基于标签传播的重叠社区检测算法
基于标签传播的重叠社区检测算法
陈旭;张俊;曲贤菲;田朝霞
【期刊名称】《计算机应用与软件》
【年(卷),期】2022(39)4
【摘要】基于标签传播的思想,提出一种新的重叠社区检测算法SLPA-
TD(Speaker-listener Label Propagation Algorithm-Time Decay),针对现有标签传播算法更新标签的随机性造成的结果不稳定问题,引入节点的影响力排序;设计一种新的标签传播的Speaker-Listener规则,引入衰减因子λ表示历史标签影响随时间衰减的程度,综合节点属性和邻域结构信息进行标签选择,提高社区检测的准确性。
分别在基准网络和真实数据集上进行实验,结果表明该算法有效提高了检测结果的稳定性和准确性。
【总页数】6页(P326-331)
【作者】陈旭;张俊;曲贤菲;田朝霞
【作者单位】大连海事大学信息科学技术学院
【正文语种】中文
【中图分类】TP301.6
【相关文献】
1.基于多标签传播的重叠社区发现优化算法
2.基于标签传播的重叠社区发现算法
3.一种基于完全子图与标签传播的重叠社区检测算法
4.基于节点亲密度的标签传播重叠社区发现算法
5.一种基于标签传播的重叠社区发现算法
因版权原因,仅展示原文概要,查看原文内容请购买。
基于核心节点扩散的有向网络重叠社团发现算法
点。 节 点的有 向中心度受节点 的出入度影 响. 主要受到 节点的入度影响 。 为 了找 出中心度高 的节点 。 我们引入
有 向 中心 度 :
C ,  ̄C i + ( 1 ) c .
其 中, c t r t 为节点 的人度 c 为节点的出度 , 为权
,
重 参数 , 用 于 调 整 出入 度 在有 向 中心 度 中 的权 重 。
与节点之 间的关 系 、信息在 网络 中的传 播 以及 预测 网 络的未来 发展具有很高 的现实意义 。 随后 , 越来 越多的
算 法 被 提 出并 且 应 用 到 复 杂 网络 的社 团 发 现 . 包 括 K—
1 基 本 概 念 及 定 义
1 . 1 有 向中心度
有 向网 络 中 . 节 点 的有 向 中心 度 大 . 则 代 表 节 点 处
现代计算机 2 0 1 4 . 1 1中
1 , 2 有 向优化适应度 函数 f ( G j )
有 向优化适 应度 函数 f ( G i ) 用 于判断 一个 节点 加
入 社 团 G 后 对 社 团 的影 响 程 度 。根 据 社 团 内部 连 接 紧
扩散合 并 , 不断 合并对有 向优化适应度 函数厂 ( G ) 影 响
现实 中的很 多网络如社会关 系网络 、科 研合作 网络等
也 已被 证 明符 合 复 杂 网络 的特 征 。 自 2 0 0 1 年G N 算 法 的 提 出 .复 杂 网 络 的 社 团 结 构 开 始 得 到 广 泛 的关 注 和
研 究 复杂 网络的社团结构发现对 于研究 网络 中节点
2 . 2 算 法 过 程
输入 : 网络 G = ( 。 E ) , 权 重 参 数 = 0 . 5 , 分 辨 率 函 数 = 1 。
基于标签传播算法在重叠社区发现中的改进
2 . 3 CoP RA 算 法
L P A算法简单直观 . 易 于理解 . 而 且 求 解 准确 性 很
高. 无需指定社 区个数等其他任何 参数 . 最主要是 算法
2 标 签 传 播 算 法 相 关
2 . 1 标 签 传播 思 想
标签传播算法 在 2 0 0 2年 最早 被 提 出 . 先 为任 一 节 点初始化一个标 签 , 然 后 根 据 邻 接 点 更 新 自 己标 签 , 如
二. 在 现实生 活 中, 很 多节点 可能 同时属 于多个 标签 .
果 标签直接越相似 . 那么邻接点 的标签就更易被传播 。
2 . 2 L P A 算 法
图G = ( , E) 表示有 n 个 节点{ 1 , 2 , …, n } ∈V , m 条
而L P A 算 法 是 无 法 挖 掘 出重 叠 社 区结 构 的 .为 此 引入 了多标签结 构 C ( c . b ) 。b表 示 节 点 对 社 区 C的 从 属
巾 参 数 为 定 的 节 点
以及 实 验 果得 ¨ { 最 佳 闽 值
3 . 2 标 签 选 择 阶 段 改进
在C OP R A 法 选择 阶段 存 随 机 选 择 性 . 这 样 就 容易 造 成 标 签 播 苒法 的 不 稳 定 为 了 解 决 这
( 2 ) 什 { 姒 邻接 点
点 与社 区 c之间的从属系数 , 具体计算公式为 :
∑ 厶 b O t - i 1 \ ( c L , y ) )
6 ( c , ) = Biblioteka m 管±n
n n
n
自
研 究 s 开发
j I N ( x ) 丧 爪 4 x 的邻接点集 合
基于标签传播的重叠社区发现研究
基于标签传播的重叠社区发现研究作者:姜浩来源:《电脑知识与技术》2018年第28期摘要:标签传播算法[1]的优点使其广泛应用。
但是标签传播算法规则简单、随机性大的特点,使其鲁棒性较差。
为了满足实际复杂网络的需要,该文引入了生活中的选举模式到算法中,将标签传播算法传播规则进行了改进,赋予全部節点传播规则,使节点在传播过程中能够自主的更新标签,使其能够发现复杂网络中的重叠社区。
关键词:标签传播算法;重叠社区中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2018)28-0250-03在网络中,一个节点可能属于多个社区,使得重叠社区研究得到了关注。
Lancichinetti等人[2]提出了重叠社区挖掘的局部算法。
Palla等人[3]在基于k-派系的基础上提出了一种重叠社区挖掘的算法。
在Newman提出的模块度基础上,Shen等人[4]提出了划分重叠社区效果的评价指标,然后通过优化这个评价指标,从而提出了一种重叠社区挖掘算法[5]。
Gregory[6]提出了一种两阶段策略的重叠社区挖掘算法。
Chen等人[7]提出了一种快速的重叠社区挖掘算法,算法起初从只有一个节点的社区原始社区出发,利用滚雪球的方式对社区进行扩展。
本文通过引入生活中的选举模式,给予每个节点传播规则,通过给每个节点一个标签序列,对传播过程中接触到的标签进行存储与传播,并控制传播距离防止全局社区产生,从而实现了重叠社区网络的划分。
1 相关工作1.1 相关算法Jierui Xie等人在标签传播算法基础上提出了SLPA(Speaker-listener Label Propagation Algorithm)一种重叠社区发现算法[8]。
SLPA算法在网络结构特征明显的社区中有良好性能。
但是SLPA算法需要人为的设置参数用于选择标签,而找到一个合适的值很难。
所以在大规模的网络中SLPA算法得不到扩展。
1.2 定义定义1(节点影响力)给定网络G=(V,E),节点的影响力表现为u与其他节点之间的连接度,一般地,节点的度越高则其影响力越大,该节点的重要性越显著。
基于SLPA优化的重叠社区发现算法
第38卷第1期2021年1月计算机应用与软件Computer Applications and SoftwareVol.38 No.1Jan.2021基于SLPA优化的重叠社区发现算法陈界全1王占全〃李真2汤敏伟21(华东理工大学信息科学与工程学院上海200237)2(天翼电子商务有限公司风险管理部上海200080)摘要传统的重叠社区发现算法S L P A虽然具有时间复杂度和性能上的优势,但标签传播算法内在的随机 策略使得算法结果并不稳定。
针对S L P A的缺点,提出一种高效稳定的重叠社区发现算法L-S L P A。
先对网络进 行非重叠划分,减少不同标签分配的数量,同时加入边界节点的考虑进行剪枝,以提高运行速度。
实验结果表明,相比于S L P A,该算法在降低运行时间和随机性的同时保证了结果的准确性。
关键词复杂网络社区发现重叠社区中图分类号T P301.6 文献标志码A D O I:10.3969/j.issn.1000-386x.2021.01.050AN IMPROVED OVERLAPPING COMMUNITY DETECTIONALGORITHM BASED ON SLPAChen Jie q u a n1W ang Z h an qu an1*L i Z hen2T ang M in w e i21(School o f Inform ation Science and Engineering,East China University o f Science and Technology,Shanghai200237, C hina)2(R isk Management Department,Bestpay Co. ,Ltd. ,Shanghai200080 ,C hina)A b s tr a c t As a tra d itio n a l o ve rla pping co m m u nity detection a lgo rithm,SLP A has the advantages o f tim e co m p le xity and pe rfo rm an ce.H ow ever,its results are unstable due to the in h e re n t random strategy o f la b e l pro F or the purpose o f addressing the shortcom ings o f SLP A,we propose an e ffic ie n t and stable ove rla pping com m u nity detection alg o rith m L-S L P A.The netw ork was p re lim in a rily d iv id e d in to n o n-o ve rla p p in g com m unities to reduce the nu m be r o f d iffe re n t la b e l assignm ents.M ea nw hile,we pruned the alg o rith m w ith the consideration o f boundary nodes to im prove the ru n n in g speed o f the a lg o rith m.The exp erim e ntal r esults show that com pared w ith S LP A,L-S t e ru n n in g tim e and random ness w h ile en suring the accuracy o f the re su lts.K e y w o rd s Com plex netw orks C om m unity detection O verla pp ing com m u nity〇引言社区检测是一种在网络中探索集群或社区的行 为。
一种基于完全子图与标签传播的重叠社区检测算法
一种基于完全子图与标签传播的重叠社区检测算法桂琼;邓锐;程小辉;吕永军【摘要】提出了一种基于完全子图和标签传播的重叠社区检测CLPOA算法.该算法首先搜寻完全子图,并为每个子图分配唯一标签,实现快速标签预处理;然后根据每个节点的邻接节点标签来更新该节点的标签,同时提出接触频数优化标签选择策略降低标签随机传播概率;最后,通过网络标签分布情况进行社区划分.选取两个小规模标准数据集和两个大规模网络数据集进行实验,结果表明CLPOA算法能保持和COPRA算法相同社区划分质量,同时具有更好的算法稳定性和时间性能.【期刊名称】《桂林理工大学学报》【年(卷),期】2018(038)003【总页数】9页(P561-569)【关键词】复杂网络;社区发现;完全子图;标签传播【作者】桂琼;邓锐;程小辉;吕永军【作者单位】桂林理工大学信息科学与工程学院,广西桂林 541004;桂林理工大学广西嵌入式技术与智能系统重点实验室,广西桂林 541004;武汉理工大学信息工程学院,武汉 430070;桂林理工大学信息科学与工程学院,广西桂林 541004;桂林理工大学信息科学与工程学院,广西桂林 541004;桂林理工大学广西嵌入式技术与智能系统重点实验室,广西桂林 541004;桂林理工大学信息科学与工程学院,广西桂林541004【正文语种】中文【中图分类】TP3110 引言随着互联网和通信技术迅速发展,网络规模不断扩大,节点间关系越来越复杂,从而形成大量复杂网络。
近年来,复杂网络研究引起众多学者广泛关注,涉及系统科学、统计物理学、社会科学、生物学等多个领域,大多复杂网络都存在社区结构这一特性[1]。
社区结构是指网络中每个社区内部节点相互连接紧密,而不同社区间节点连接相对稀疏。
社区结构发现能在一定程度上反映出真实网络的拓扑关系,同时可以挖掘网络中隐藏信息,帮助人们更好地利用和改造网络。
然而,许多复杂网络社区存在重叠现象,重叠节点同时属于多个社区,重叠社区的出现对社区发现领域提出新的挑战。
采用PageRank和节点聚类系数的标签传播重叠社区发现算法
采用PageRank和节点聚类系数的标签传播重叠社区发现算法马健;刘峰;李红辉;樊建平【摘要】基于标签传播的社区发现算法可以检测出复杂网络的重叠社区结构,因此提出了一种基于PageRank和节点聚类系数的重叠社区发现算法.该算法使用PageRank算法对节点的影响力进行排序,可以稳定社区发现结果,节点的聚类系数是一个与节点相关的值,使用节点聚类系数修改算法的参数并限制每个节点拥有最多标签的数量值,可以提高社区挖掘的质量.在人工网络和真实世界的网络上测试,实验验证了该算法能够有效地检测出重叠社区,并具有可接受的时间效率和算法复杂度.【期刊名称】《国防科技大学学报》【年(卷),期】2019(041)001【总页数】8页(P183-190)【关键词】社区发现;重叠社区;标签传播;聚类系数;PageRank算法;节点影响力【作者】马健;刘峰;李红辉;樊建平【作者单位】北京交通大学计算机与信息技术学院,北京 100044;北京交通大学计算机与信息技术学院,北京 100044;北京交通大学计算机与信息技术学院,北京100044;北京交通大学计算机与信息技术学院,北京 100044【正文语种】中文【中图分类】TP391社区结构(community)是复杂网络所呈现的重要特征之一,从某种意义上说,整个网络由若干社区构成,具有社区内部节点之间连接比较密集,不同社区节点之间连接比较稀疏的特点[1]。
复杂网络社区发现问题就是要揭示出复杂网络中存在的各个社区。
从社区之间是否重叠的角度来看,社区结构是可以重叠的。
例如人类社会关系网中的一个人可以拥有多个朋友圈,Internet中,一个路由器可以连接不同的局域网,在神经网络中,一个神经元可以属于不同的神经系统。
重叠社区的发现算法可以分为:基于派系过滤算法(Clique Percolation Method, CPM)的重叠社区发现算法,它将网络看作是完全连通子图(clique)的集合[2-3]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种新的基于标签传播的重叠社区发现算法摘要摘要:发现高质量的社区是社区网络问题的研究热点。
目前,社区发现算法大多针对非重叠社区,重叠社区发现算法较少。
基于标签传播的算法是现有重叠社区发现算法中的一类,其中COPRA为典型算法。
尽管该算法具有接近线性的时间复杂度,但存在随机因素,结果不稳定,产生的社区结构存在一定差异。
为此,提出一种新的基于标签传播的社区发现算法,实验表明该算法在复杂度相近的情况下能明显提高所发现社区的质量,且具有较好的稳定性。
关键词关键词:社区发现;重叠社区;标签传播;稳定性DOIDOI:10.11907/rjdk.1431038中图分类号:TP312文献标识码:A文章编号文章编号:16727800(2015)0040059041重叠社区及其发现算法近年来,复杂网络研究受到广泛关注,主要涉及系统科学、统计物理学、社会科学、生物学等多个领域[1]。
随着通信和互联网技术的快速发展,人们发现众多网络都存在社区结构[2]这一特征。
所谓社区结构,简单来说,就是网络中的节点存在分组,一般组内的边连接比较稠密,而组间的边连接比较稀疏。
社区结构在一定程度上可以反映出真实网络的拓扑关系。
社区发现可以帮助更好地理解网络拓扑结构及其功能,从而更好地利用和改造网络,例如挖掘网络中的未知功能、控制疾病传播等。
社区发现在某些特定应用环境中也有现实意义,例如发现恐怖分子、寻找犯罪团体等。
然而,真实网络存在一些同时属于多个社区的节点,这些节点叫作“重叠节点”,与其它社区存在重叠节点的社区就叫作“重叠社区”。
例如在社会关系网络中,小王既参加了台球俱乐部,又参加了乒乓球俱乐部,那么小王就是这两个社区的重叠节点,台球俱乐部和乒乓球俱乐部是两个重叠社区。
重叠社区较之非重叠社区具有更好的现实意义:一方面,重叠节点是网络中关键点,重叠社区因此而产生联系;另一方面,重叠社区反映了更加真实的网络结构。
因此,研究重叠社区更符合真实网络的结构。
图1为非重叠社区结构,图2为接近真实网络的重叠社区结构。
目前,能够发现重叠社区结构的算法主要包括以下3类:(1)基于clique的方法。
典型算法有CPM算法[3]、EAGLE算法[6]和GCE算法[7]。
(2)基于合并社区核心和扩展社区的方法[8]。
(3)基于标签传播的方法典型算法有LPA算法[4]和COPRA算法[5]。
CPM算法是一种派系过滤算法,主要通过寻找Kclique 派系社区对社区进行划分。
虽然CPM能够发现重叠点,但该算法在实际应用中依赖参数K的选取,不同K值导致划分出来的社区结构有很大差别。
因此,在实际应用中存在一定局限性。
同样地,EAGLE和GCE算法是CPM的改进算法,存在同样的局限。
基于合并社区核心和扩展社区的算法需要人为指定两个参数,这两个参数需要先验知识,和具体网络相关并影响社区发现结果的好坏。
基于标签传播的算法是一类具有接近线性时间复杂度的算法,该算法的优点是计算过程简单,计算速度快,而它的缺点是算法稳定较差,每次运行的结果可能都不一样。
本文提出一种新的标签算法,该算法对COPRA 算法的初始化过程和随机选择过程作出了改进,从而大大提高算法的稳定性。
2标签传播算法本文重点对标签传播算法中的COPRA算法进行改进,故简要介绍标签传播思想和LPA算法,并分析COPRA算法与LPA的区别。
2.1算法思想标签传播算法最早由zhu等[9]于2002年提出,是基于图的半监督学习方法,其基本思想是通过标记节点的标签信息预测还未标记节点的标签情况。
节点之间的标签传播主要依照标签相似度来进行,在传播过程中,未标记的节点根据邻接点的标签情况来迭代更新自身的标签信息,如果其邻接点与其相似度越相近,则表示对其所标注的影响权值就越大,邻接点的标签就更容易进行传播。
图3为标签传播过程。
每个顶点都有一个唯一的标签作为社区标识,对图中所有的顶点进行标签迭代更新。
在迭代过程中,每个顶点标签为其邻接点中出现次数最多的节点的标签。
如果多个标签的数量都是最大值,则随机选择一个作为该顶点的标签。
经过若干次迭代,最终形成一个完全连通图(代表一个社区),并且该图内所有顶点都拥有相同标签。
2.2LPA算法LPA算法基于标签传播算法思想来发现社区结构。
该算法由Raghavan[4]提出,根据每个节点邻接点的社区情况来选择所要加入的社区。
其主要思想是起初每个节点拥有独立的标签,每次迭代中对于每个节点将其标签更改为其邻接点中出现次数最多的标签,如果这样的标签有多个,则随机选择一个。
通过迭代,直到每个节点的标签与其邻接点中出现次数最多的标签相同,则达到稳定状态,算法结束。
此时具有相同标签的节点即属于同一个社区。
LPA算法的执行步骤:(1)初始化过程即为网络中的每个结点分配一个唯一的标签,对于节点x,有Gx(0)=x。
(2)设置t=1。
(3)将网络中的节点随机排序,假设顺序为x。
(4)对x中每个节点x,将x的标签设置为新的标签Cx(t)=f(Cx1(t),..,Cxm,Cxm+1(t-1)),f函数返回节点x的邻接点中出现次数最多的标签。
如果有多个,则随机选择一个。
(5)如果每个节点的标签都与其邻接点中出现次数最多的标签相同,则算法结束,否则设置t=t+1,返回步骤3继续执行。
2.3COPRA算法LPA算法虽然有很多优势,但无法挖掘出重叠社区结构。
对此,Steve[5]基于原先的算法,引入了新的标签结构(c,b),对每个节点x,x∈G(x),都拥有这样的标签。
其中,c表示社区标识符,b表示节点x在社区c中的从属系数,且0≤b≤1。
COPRA算法的执行过程如下:(1)初始化,对任意的节点x,x∈G(x)分配一个唯一的标签(cx,1)。
(2)节点x根据其邻接点集的标签情况更新自己的标签。
如果有多个可选标签,算法会随机选取其中的v个标签作为结果。
其中,0<C(x)≤v。
节点的从属系数符合如下表达式:∑cx∈C(x)bt(cx,x)=1,其中C(x)表示节点x可能属于的社区集合。
(3)如果每个节点的标签都与其邻接点中出现次数最多的标签相同,则算法结束,否则返回步骤2继续执行。
(4)将具有相同社区标签节点合并为同一社区。
3社区质量评价指标对于社区发现算法所产生的社区,需要通过量化指标衡量其质量好坏,从而进一步评估各种社区发现算法的优劣。
Newman 和Girvan [12]提出了一个评价社区质量的指标,称之为模块化度量Q。
考虑某种划分形式,将网络划分为K个社区。
令eij为网络中连接社区i到社区j的顶点之间边的一半,对角线元素为eii,则对角线上的各元素之和为Tre=∑ieii,表示网络中连接某一个社区内部各个节点的边在所有边的数目中的比例。
ai=∑jeij为每行(或者每列)中各元素之和,表示与第i 个社区中的节点相连的边在所有边中的比例。
在此基础上,用下式来定义模块性的衡量标准:Q=∑i(eii-ai2)=Tre-‖e2‖(1)其中,‖χ2‖表示矩阵χ中所有元素之和。
式(1)表示在同样社区结构下,网络中连接两个同类型的节点的边的比例减去任意连接这两个节点的边的比例的期望值。
若社区内部边的比例小于或者等于任意连接时的值,则Q为0。
Q的上限为1,Q越接近1,说明社区结构越明显。
实际上,该值通常为0.3~0.7。
Q函数只是用来评价非重叠社区结构的指标。
Shen等[10]对Q函数作了扩展,得到一种可以用来评价重叠社区结构的指标―EQ函数,其公式为:EQ=12m∑i∑v∈ci,w∈ci1OvOw[Avw-kvkw2m](2)其中,Ov是节点v可以同时从属的社区数目,A表示由网络转换而成的邻接矩阵。
4算法改进根据上述LPA算法和COPRA算法描述,可以看出算法标签初始阶段是给网络中的所有节点分配唯一的标签,此后标签会不断更新,网络规模越大,更新标签所需要的资源消耗就越大。
在标签更新阶段,如果存在多个标签可选,则进行一次随机选择,这样导致算法的结果非常不稳定。
鉴于上述缺点,本文对COPRA算法标签初始化和标签选择进行改进。
4.1标签初始阶段对标签的初始化主要是借鉴CPM算法中Clique思想。
Clique代表网络中完全子图,用完全子图来代替大量的节点。
这样就不需要对所有的节点进行处理,只要对每个完全子图分配标签。
标签预处理算法步骤如下:(1)初始化节点数据。
(2)遍历节点,根据邻接点依次寻找网络中KClique,在此过程中,对从属于完全子图的节点进行标注,以防完全子图出现重叠节点。
(3)对所发现的完全子图按综合度数排序,按照排序在标签传播过程中优先处理。
(4)为每个Clique和剩余节点分配一个唯一的标签。
4.2标签选择过程改进COPRA算法第二步涉及随机选择,可以将此随机选择进行弱化,本文主要引入标签影响值来进行弱化。
对每一个标签节点进行标签更新时,若其邻接点都没有标签,则不进行更新。
若其邻接点中有标签存在,则在所有邻接点上的标签组成的集合中,选择其中一个作为x的标签。
影响x的因素有:每个标签存在的个数;所在边的权重以及其所在邻接点的度。
综合考虑这些因素的影响力及其主次关系,最终提出将平均权重作为影响标签选择的主要因素,邻接点的度作为次要因素。
对x邻接点中出现的每一个标签l进行标签影响值influence(l)的计算,其定义如下:influence(l)=∑w(li)C(l)+(1-e-∑d(li))(3)其中,l∈L,w(li)表示每一个标签为l的顶点所在边的权重值;C(l)表示标签l的总个数;∑d(li)表示所有标签为l的顶点度之和。
假设边的权重为正整数,则∑w(li)C(l)>1,而1-e-∑d(li)<1。
因此,比较两个标签时,若平均权重的差值大于1,则平均权重起主要决定作用;若值小于1,则由平均权重和顶点之和共同决定。
故对于一个顶点x,其标签为:Label(x)=argmax(4)influence(l)=argmax[∑w(li)C(l)+(1-e-∑d(li))](5)5实验验证与分析本文实验硬件环境为:Pentinum(R)双核2.7GHZ处理器,4G内存,算法具体实现语言为JA V A。
5.1基准测试集为验证算法的有效性,将该算法应用到Zachary’s Karate Club Network[13]和Dolphins Social Network[14]两个真实网络中。
5.1.1Zachary’s Karate Club Network在复杂网络社区结构研究中,该网络经常被使用,它反映一所大学空手道俱乐部成员之间的关系。
该数据集包含34个节点,78条边,其中节点表示俱乐部的成员,边表示成员之间的关系。
从表1可以看出,由于网络社区规模小,因而基于标签传播的重叠社区算法并不能表现出优势。