基于标签传播的可并行复杂网络重叠社区发现算法_李春英

合集下载

复杂网络中的社区发现与挖掘算法研究

复杂网络中的社区发现与挖掘算法研究

复杂网络中的社区发现与挖掘算法研究社区发现是在复杂网络中识别出密切相关的节点集合,这些节点之间存在着明显的紧密联系,而与其他节点相对疏远。

社区发现在许多领域具有广泛的应用,如社交网络分析、生物信息学、推荐系统等。

然而,由于复杂网络的规模庞大、结构复杂多样,社区发现成为一个具有挑战性的问题。

为了解决这一问题,学者们不断提出和改进各种社区发现与挖掘算法。

一种常见的社区发现算法是基于模块度(modularity)的方法。

这种方法通过计算网络中节点间的连接强度和预期连接强度的差值来评估社区结构的优劣程度。

其中,预期连接强度是通过随机图模型生成的网络来进行估计的。

通过最大化模块度函数,这种算法可以将网络划分为若干个社区。

然而,基于模块度的方法在处理大规模网络时,会面临计算时间复杂度高和结果稳定性差的问题。

为了克服这些问题,研究者们提出了一系列其他的社区发现算法。

例如,基于谱聚类的方法可以将网络转化为特征向量,然后通过聚类技术将节点划分为不同的社区。

这种方法能够有效克服基于模块度的方法的缺点,并且适用于大规模网络。

另外,还有基于聚类系数的方法、基于图表达的方法、基于双层重叠社区的方法等。

这些算法不仅提高了社区发现的效果,还拓宽了社区发现的研究领域。

除了社区发现算法,研究者们还提出了一些用于社区挖掘的工具和技术。

社区挖掘旨在从挖掘过程中发现新的模式和知识。

其中,一种常见的工具是关联规则挖掘。

关联规则挖掘通过挖掘出不同节点之间的关联关系,可以发现隐藏在复杂网络中的有意义的模式。

另外,社区挖掘还可以借助数据可视化技术,将复杂的网络结构以图形化的方式展示出来,增加了对社区结构的理解和挖掘。

随着社交媒体的普及和大数据技术的不断发展,社区发现与挖掘在社交网络分析中具有重要的应用。

通过社交网络分析,可以揭示出用户之间的相互关系、信息传播路径、社区结构等信息,为社交媒体平台的运营提供指导。

此外,社区发现与挖掘还可以应用于生物信息学领域,发现蛋白质相互作用网络中的功能模块,辅助研究者了解蛋白质的功能和相互关系。

采用PageRank和节点聚类系数的标签传播重叠社区发现算法

采用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]。

重叠社区检测算法在社交网络中的应用研究

重叠社区检测算法在社交网络中的应用研究

重叠社区检测算法在社交网络中的应用研究摘要:社交网络是人们交流、分享信息和建立联系的重要平台,其复杂性和巨大规模使得社交网络分析成为了一项重要的研究领域。

社区结构是社交网络中重要的特性之一,而重叠社区检测算法正是为了揭示社交网络中人们参与多个并且有重叠关系的社区而提出的。

本文基于已有的研究,对重叠社区检测算法在社交网络中的应用进行了综述,并探讨了未来的研究方向。

第一部分:引言社交网络的兴起和普及使得人们可以更加方便地与他人交流和分享信息。

同时,社交网络中人们的互动也形成了复杂的网络结构。

这种网络结构中的社区,或称为群组,是由具有相似特征和共同兴趣的个体组成的。

社交网络中的社区探测是一个重要而具有挑战性的任务,对于理解网络结构和挖掘人类行为模式有着重要的意义。

第二部分:重叠社区检测算法重叠社区检测算法旨在揭示网络中人们参与多个并且有重叠关系的社区。

传统的社区检测算法,如基于模块度的方法和谱聚类算法等,只能将每个节点归类到一个社区中。

然而,在现实生活中,人们常常同时参与多个不同的社区,因此重叠社区检测算法的出现填补了这一缺陷。

重叠社区检测算法可以分为两大类:基于局部方法和基于全局方法。

基于局部方法的算法,如GN算法、LPA算法和COPRA算法等,通过迭代的方式将节点分配到不同的社区中。

而基于全局方法的算法,如SLPA算法和BIGCLAM算法等,则通过优化目标函数的方式寻找最佳的社区集合。

第三部分:重叠社区检测算法在社交网络中的应用重叠社区检测算法在社交网络中有着广泛的应用。

首先,重叠社区检测算法可以帮助我们了解社交网络中社区之间的关系。

通过揭示出社区之间的重叠部分,我们可以发现跨社区联系和信息流动的模式,从而更好地理解社交网络的结构和功能。

其次,重叠社区检测算法还可以提供个性化推荐服务。

通过识别出用户参与的多个社区,算法可以根据用户所属的不同社区推荐适合其兴趣和需求的内容。

这种个性化推荐服务能够提高用户体验和满意度,同时也有助于增加社交网络平台的粘性。

基于Node2Vec的重叠社区发现算法

基于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。

复杂网络中的社区发现算法及其应用

复杂网络中的社区发现算法及其应用

复杂网络中的社区发现算法及其应用复杂网络是由大量节点以及节点之间的连接关系构成的网络,在现实中广泛存在于许多领域,如社交网络、生物网络和互联网等。

社区发现是复杂网络研究的重要内容,目的是将网络中相互紧密连接的节点划分为具有相似特征或功能的社区。

社区发现算法是研究者们为了解复杂网络中的结构、功能和演化过程而提出的重要方法。

本文将介绍几种常见的社区发现算法及其应用。

一、模块度优化算法模块度是衡量网络社区结构好坏的重要指标,模块度优化算法就是通过最大化网络的模块度来寻找合适的社区划分。

常见的模块度优化算法有GN算法、Louvain算法和贪心算法等。

这些算法通过迭代地划分社区和优化社区内的连接关系来寻求最优解。

模块度优化算法在社交网络、组织结构分析、蛋白质相互作用网络等领域有广泛应用。

例如,在社交网络中,通过社区发现算法可以识别出不同的社区群体,有助于理解社交网络中的用户行为和信息传播规律,在推荐系统中起到重要作用。

二、基于节点相似性的算法基于节点相似性的社区发现算法认为在网络中相似的节点更可能属于同一个社区。

这类算法包括谱聚类、K均值算法和PSCAN算法等。

这些算法通过计算节点间的相似度来划分社区。

这类算法在生物网络、交通网络、图像分割等领域应用广泛。

例如,在生物网络中,通过基因的相似性来划分蛋白质相互作用网络的社区,可以帮助研究者理解蛋白质之间的功能和调控关系,从而推测未知蛋白质的功能。

三、基于概率生成模型的算法基于概率生成模型的社区发现算法通过建立模型来描述网络的生成过程,并利用模型参数推断网络的社区结构。

常见的算法有LDA、SBM等。

这些算法将网络看作是由不同社区生成的,根据模型参数的估计结果来划分社区。

这类算法在社交网络、金融网络等领域有广泛应用。

例如,在金融网络中,通过基于概率生成模型的社区发现算法可以划分出潜在的金融市场或子市场,有助于金融市场监管和风险预警。

总结起来,社区发现算法在复杂网络研究中扮演重要角色,有助于理解网络的结构和功能特征,为许多现实问题的解决提供了有力支持。

基于图嵌入和多标签传播的重叠社区检测算法

基于图嵌入和多标签传播的重叠社区检测算法

基于图嵌入和多标签传播的重叠社区检测算法
高兵;宋敏;邹启杰;秦静
【期刊名称】《计算机应用研究》
【年(卷),期】2024(41)5
【摘要】为进一步优化重叠社区检测算法,提出了一种新的基于度和节点聚类系数的节点重要性定义,按照节点重要性降序更新节点,固定节点更新策略,提高社区检测的稳定性。

在此基础上,提出了一种基于图嵌入和多标签传播的重叠社区检测算法(overlapping community detection based on graph embedding and multi-label propagation algorithm,OCD-GEMPA)。

该算法结合node2vec模型对节点进行低维向量表示,构建节点之间的权重值矩阵,根据权重值计算标签归属系数,据此选择标签,避免了随机选择问题。

在真实数据集和人工合成数据集上对该算法进行实验验证。

实验结果表明,与其他重叠社区检测算法相比,OCD-GEMPA在EQ和NMI这两个指标都有明显提升,具有更好的准确性和稳定性。

【总页数】6页(P1428-1433)
【作者】高兵;宋敏;邹启杰;秦静
【作者单位】大连大学信息工程学院;大连大学大连市智慧医疗与健康重点实验室;大连大学软件学院
【正文语种】中文
【中图分类】TP391
【相关文献】
1.一种基于完全子图与标签传播的重叠社区检测算法
2.基于节点亲密度的标签传播重叠社区发现算法
3.一种基于标签传播的重叠社区发现算法
4.基于标签传播的重叠社区检测算法
5.基于标签传播与多指标的重叠社区检测算法
因版权原因,仅展示原文概要,查看原文内容请购买。

社交网络中的用户社区发现算法详述

社交网络中的用户社区发现算法详述

社交网络中的用户社区发现算法详述社交网络已经成为人们生活中不可或缺的一部分,它们连接了全球各地的用户,使得信息交流、知识共享和人际关系建立变得更加便捷。

然而,随着社交网络的快速发展,用户数量的增加和社交网络结构的复杂化,如何发现用户之间的社区结构变得越来越重要。

社交网络中的用户社区发现算法就是解决这一问题的方法之一。

它的目标是将网络中的用户划分为若干个社区,使得同一个社区中的用户有着相似的特征和互相之间存在密切的关系,而不同社区之间的用户关系则相对较弱。

下面将详细介绍几种常见的用户社区发现算法。

1. Girvan-Newman算法Girvan-Newman算法是一种基于图的社区发现算法,它通过计算网络中边的介数(betweenness)来划分社区。

介数表示了对于网络中的任意两个节点之间最短路径上经过的边的数量。

该算法的思想是不断删除介数最高的边,直到网络中的社区被划分出来。

2. Louvain算法Louvain算法是一种基于模块度(modularity)的社区发现算法。

模块度是一种衡量网络内部连接紧密程度的指标,它对比了网络实际的边连接情况和预期的随机连接情况。

Louvain算法通过迭代地将节点合并到具有最大模块度增益的社区中,直到无法再增加模块度为止。

3. Label Propagation算法Label Propagation算法是一种迭代的社区发现算法,它通过在网络中传播节点的标签来实现社区划分。

每个节点最初被赋予一个唯一的标签,然后在每一轮迭代中,节点会根据周围节点的标签来更新自己的标签。

当标签收敛时,算法停止并将具有相同标签的节点划分为同一个社区。

4. Infomap算法Infomap算法是一种基于信息论的社区发现算法,它通过最小化网络的描述长度来划分社区。

该算法将网络看作是信息传递的通道,社区划分的目标是找到一种最优的信息传递方式,使得网络的整体描述长度最小。

Infomap算法通过迭代地优化信息流动的方式来实现社区划分。

复杂网络中的挖掘算法与社区发现研究

复杂网络中的挖掘算法与社区发现研究

复杂网络中的挖掘算法与社区发现研究复杂网络是由大量相互连接的节点组成的网络结构,包括社交网络、互联网、生物网络等。

在这些网络中,节点之间的连接方式和关系复杂多样,研究复杂网络中的挖掘算法和社区发现对于了解网络结构与功能起到重要的作用。

一、复杂网络中的挖掘算法研究1. 链路预测算法链路预测是指根据已知网络结构和特征,预测未来可能出现的链接关系。

常用的链路预测算法包括:基于相似度的方法(如共同邻居法、Jaccard系数)、基于机器学习的方法(如随机森林、支持向量机)以及基于深度学习的方法(如图神经网络、图卷积网络)。

链路预测的研究旨在揭示网络中隐藏的链接,为未来网络连接的形成提供指导。

2. 信息传播模型信息传播模型研究网络中消息、病毒、信息等的传播规律。

常见的信息传播模型包括:独立级联模型(Independent Cascade Model)和线性阈值模型(Linear Threshold Model)。

在这些模型中,节点的状态和邻居节点的影响关系会影响信息的传播速度和范围。

研究信息传播模型可以有效预测疫情蔓延、新闻传媒效果等,对于社会网络营销、疫情防控等具有重要意义。

3. 网络结构演化模型网络结构演化模型研究网络结构的生成和演化规律。

常见的结构演化模型包括:BA模型、小世界模型和随机图模型等。

这些模型考虑了节点的新增和删除、边的连结和断裂等过程,能够模拟真实网络的动态变化。

研究网络结构演化模型对于理解网络增长的机制以及网络拓扑结构的形成机理有着重要意义。

二、社区发现算法研究社区是指网络中节点内部紧密相连,而与外部节点连接松散的集合。

社区发现算法旨在将网络中的节点按照其内部联系的紧密程度进行划分,以揭示网络的组织结构和功能模块。

常见的社区发现算法包括:Louvain算法、GN算法、谱聚类算法等。

1. 基于模块性的算法基于模块性的算法(如Louvain算法)通过最大化网络内部边数和随机模型相比的差距来划分社区。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档