基于骨干网络扩展的社团检测方法

文档序号:8945624阅读:515来源:国知局
基于骨干网络扩展的社团检测方法
【技术领域】
[0001] 本发明涉及数据挖掘和复杂网络分析领域,特别是涉及大规模社会网络下的社团 快速划分,具体是一种基于骨干网络扩展的高效社团检测方法。
【背景技术】
[0002] 现实世界中存在着大量的复杂系统,如生物分子系统,交通运输系统,邮件系统等 等。为了研究这些复杂系统中隐含的规律并利用这些规律服务于现实世界中人类的各项需 求,通常把这些复杂网络建模为网络。系统中的实体看作网络中的节点,实体之间的联系看 作网络中的连接或边。例如,交通运输网络中节点对应于各个路口,边代表路口之间的道 路;蛋白质相互作用网络中的节点代表蛋白质,边对应于蛋白质之间的相互作用关系;音 乐人合作网络中节点对应于不同的音乐人,边代表音乐人之间的合作关系。
[0003] 于复杂系统的多领域性,复杂网络的研究吸引了来自计算机、物理、生物、数学和 复杂性科学等众多领域的研究者,目前已经复杂网络领域中的一些问题成为了多学科交叉 研究的热点问题之一。通过对各种类型网络(如邮件网络、蛋白质网络、合作者网络等)的 研究分析,发现复杂网络中普遍存在着小世界、无标度等基本统计特性。
[0004] 学者对网络性质物理意义和数学特性的深入研究,复杂网络的社团结构的特性被 挖掘出来。社团也可以看作组或者一个社区。在网络中,位于用一个社团的节点之间的联 系比较紧密,而位于不同社团的节点之间的联系比较稀松。
[0005] 由于社团职能或性质的不同,网络中往往包括多个社团。例如,在Enron公司邮件 网络中,同一个社团的个体通常是同一个部门或具有相似背景;在蛋白质网络中,同一个蛋 白质复合体的蛋白质相互作用共同完成某个复杂的生物过程;在音乐家合作网络中,同一 个社团中的音乐家通常有相似的背景或其音乐有相似的特点。
[0006] 研究网络社团结构有助于理解网络结构、分析网络特性、发现网络中隐藏的规律, 具有重要的理论研究意义及实际应用价值。如,对WWW网络中的新闻及其评论进行社团划 分,能够脱落关键词的制约,发现主题相似的页面,对信息检索、网络热点话题的发现及舆 情发现及控制起到重要作用。
[0007] 随着研究人员对复杂网络社团检测问题的关注,研究人员也提出了很多网络社团 划分的方法,主要包括以下五种:(1)基于模块度优化的社团检测方法;(2)基于层次的社 团检测方法;(3)基于谱的社团检测方法;(4)基于网络动力学的社团检测方法;(5)其他 方法。
[0008] 基于模块度优化的社团检测方法的目的是不断调节节点的归属性,使得模块度函 数值Q最大。模块度函数是Newman提出来用来评价社团划分质量的指标函数。模块度的 公式为下式,其中kdPk,是节点的度,Ci是节点i所属的社团,m是网络的总边数,当C1 = S(C^Cj) = 1,否则为 0。
[0010] 模块度函数Q为一个网络划分的社团结构是否明显提供了一种度量方式。一般来 说,Q值越大,对应的社团结构越明显,目前公认的是如果一个网络的划分的Q值大于0. 3, 则认为该网络存在明显的社团结构。因此,基于模块度优化的社团划分方法等价于找到网 络的一个划分,使得Q值最大化。优化模块度是一个NP-hard问题,研究人员提出了很多启 发式的搜索算法来得到局部最优解,如群体智能算法、极值最优化算法、贪婪算法和模拟退 火算法等。
[0011] 由于网络中不同节点在网络中的所属地位不同会导致网络出现分层现象。基于层 次的社团检测方法就是利用这种分层现象来对网络进行社团划分的。常见的层次社团划分 方法有自上而下的分裂算法和自下而上的凝聚算法两种。分裂算法通过移除边来检测社团 的分层结构。以GN算法为例,首先计算网络中所有边的介数值,然后删除介数值最大的那 条边,重新计算网络中所剩边的介数值,重复这个过程直到删除了网络中的所有边,其他分 裂算法与GN算法相似,区别在于边的删除方法不同。凝聚算法将网络中的节点看成单独的 社团,计算社团间的相似性,然后合并相似性最大的两个社团到一个新社团,重新更新社团 间的相似性。重复以上步骤直到所有节点都凝聚为一个社团。常见的凝聚算法有Bagrow 提出的局部社团划分算法,Clauset提出的局部模块度算法。
[0012] 基于谱的社团检测方法建立在图论的谱图理论基础上,其本质是将聚类问题转化 为图的划分问题,是一种点对聚类算法,对数据聚类具有很好的应用前景。谱聚类一般包括 三个主要步骤:(1)构建表示样本集的矩阵Z; (2)通过计算Z的前k个特征值与特征向量, 构建特征向量空间;(3)利用k-均值或其他经典聚类算法对特征向量空间中的特征向量进 行聚类。按照谱聚类算法的划分准则不同,讲算法分为迭代谱和多路谱两类。常见的迭代 谱聚类算法包括PF算法、SM算法、SLH算法;常见的多路谱聚类算法有NJW算法、MS算法。
[0013] 基于网络动力学的社团检测方法是通过分析网络上的动力学过程变化检测网络 社团结构的。如被广泛用于社团结构检测的随机游走方法就是一种常见的网络动力学过 程。VonDongen基于随机游走方法提出了马尔科夫聚类算法(MCL)。Rosvall和Bergstrom 根据信息论中的编码原理与随机游走过程分析社团结构,并通过对其算法扩展,使其可以 检测网络中的层次结构。FanChung等人提出了Pagerank-Nibble算法,该算法检测包含某 个节点的稠密模块。
[0014] 其他网络社团结构划分的方法还包括派系过滤算法(CPM)、标签传递算法、基于边 社团的划分方法等等。
[0015] 虽然,以上算法都能够解决网络社团划分的一些问题,然而大部分算法都存在着 一下问题。
[0016] 1、对于一个大规模的网络,很多算法需要根据不同的情景引入各种节点属性度量 的方法,如节点间路径的数目和节点相似性计算等,这些度量需要多次迭代会导致算法效 率比较低,复杂度较大。
[0017] 2、由于不同算法使用的划分标准不同,导致社团划分的结果也不尽相同。很多算 法都只追求达到较高的模块度或其他标准,而不注重网络的真实社团结构。
[0018] 3、大多数真实世界的网络,人们无法知道该网络的真实社团数目,而很多算法需 要在社团划分之前指定社团的个数。

【发明内容】

[0019] 为了克服上述技术的不足,本发明提供了一种基于骨干网络扩展的社团检测方 法。通过使用WP算法计算出网络中各节点的影响力,得到骨干网络的网络拓扑;运行层次 聚类算法得到骨干网络的社团结构,再采用扩展算法得到全局网络的社团结构。由于只在 骨干网络运行层次聚类算法,本发明的计算复杂度较小,可以快速高效地发现网络的真实 社团结构。
[0020] 为了实现上述目的,本发明采用以下技术方案:一种基于骨干网络扩展的社团检 测方法,主要步骤如下:
[0021] 1.以点对的形式输入网络数据,利用图的数据结构保存网络数据,并形成网络图 G(V,E) 〇
[0022] 2.使用基于节点权重的改进型PageRank(WP)算法计算网络G(V,E)中所有节点 的影响力(WP值);根据节点的WP值对网络节点进行排序;按照节点排序结果选取骨干节 点。
[0023] 基于节点权重的PageRank算法(WP)的计算公式为:
[0025] 其中,'是节点V1的度,是整个网络中所有节点的度值的总和,WP(V])是 节点 '的WP值。
[0026]3.创建空的骨干网络,将所有的骨干节点加入到骨干网络;遍历网络G(V,E),选 取两个端点都为骨干节点的边加入骨干网络。
[0027] 4.利用层次聚类方法得到骨干网络的社团结构。
[0028] (1)新建一个骨干社团集合KS,KS= ? ;
[0029] (2)新建一个骨干社团KC。从一个不在KS中的骨干节点u出发,遍历其在骨干网 络中的邻居节点。当邻居节点V相对于社团KC的适应度函数f(v) >0时,将V加入到骨 干社团KC,直到遍历完u的所有邻居节点。将社团KC加入到KS中,KS=KS+{KC};
[0030] (3)重复步骤(2)直到所有的骨干节点都包含在KS中。
[0031] 节点对社团的适应度函数如下所示:
[0032] f(v) =f(C+ {v})-f(C- {v})
[0034] 其中v为一个新的节点,C为一个社团,为所有在社团C中的节点的WP值的 总和,W7T"为所有不在社团C中的邻居节点的WP值的总和。
[0035] 5.利用扩展方法,得到整体网络的社团结构。
[0036] (1)初始化整体网络的社团结构CS为骨干网络的社团结构KS。
[0037] (2)对于每个非骨干节点V,遍历其所有邻居节点,如果邻居节点u包含在社团集 合CS,那么计算节点V和节点u所在的社团之间的密切度。比较节点V和其所有邻居社团 之间的密切度,将节点V加入密切度最大的社团。
[0038] 节点和社团的密切度计算公式如下所示:
[0040] 其中,等号右边分子部分表示在社团C中与节点V有直接边联系的所有节点的WP 值的总和与节点V的WP值之和,分母为社团C的所有节点的WP值的总和与节点V的WP值 之和。
[0041] 与现有技术相比,本发明的有益效果是:
[0042] 1.使用基于节点权重
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1