当前位置: 首页 > 专利查询>山西大学专利>正文

一种网络社区发现方法技术

技术编号:17442693 阅读:77 留言:0更新日期:2018-03-10 15:36
本发明专利技术公开了一种网络社区发现方法,用于复杂网络分析中的社区结构发现。本发明专利技术整个社区发现过程分为两个阶段,在第一个阶段中,利用模块度优化模型对网络中每个节点的节点子图进行社区划分;在第二个阶段中,基于节点子图的社区划分结果确定节点标签传播的顺序和每个节点社区标签的更新规则。在对网络中节点的社区标签进行传播更新时,其传播顺序不再是随机的,而是利用节点的信息熵衡量网络节点的信息量,按照信息熵由小到大的顺序进行标签传播,从而避免随机性和不确定性导致的精度降低;同时,节点标签的更新原则不再是简单的依赖于标签出现频率,而是利用最优模块度和信息熵对节点标签的不确定性进行综合评估,从而避免了标签更新的盲目性。

【技术实现步骤摘要】
一种网络社区发现方法
本专利技术涉及复杂网络
,特别涉及一种网络社区发现方法。
技术介绍
复杂网络一般是指节点数量庞大,连接关系复杂的网络。自然界中存在大量复杂网络,网络中的节点由各个实体抽象而成,实体与实体之间的关系构成了网络中的边,例如,社会网络、Internet网络、蛋白质网络、经济与金融网络及科研与教育网络等。复杂网络具有灵活普适的刻画能力,能够广泛应用于各学科领域对复杂系统进行建模、分析,因此,对于复杂网络的研究成为一项极具挑战性的课题。复杂网络中链路分布的不均匀性暗示了社区结构的存在,越来越多的研究也表明网络中存在社区结构,即整个网络可划分为若干个结构明显的社区,每个社区内部的节点之间的连接相对较为紧密,而各个社区之间的连接相对比较稀疏。在实际的网络系统中,不同的社区可以表达不同的意义。例如,在生物学系统中,社区可以代表一个组织的功能单位;在社会学系统中,社区可以代表具有共同属性和特征的一类个体或者一个团体;在Web网络中,社区可以代表一类具有相同主题的网站。利用网络中拓扑结构所隐藏的信息从复杂网络中解析出其模块化社区结构的过程被称为社区发现,这一过程对于分析复杂网络的拓扑结构、理解复杂网络的功能、发现复杂网络中的隐藏规律以及预测复杂网络的行为具有十分重要的理论意义和广泛的应用前景。网络社区发现目前己在社会网络分析、生物网络分析、web社区挖掘和搜索引擎等众多领域发挥出巨大的作用。2002年,Girvan和Newman首次实现对复杂网络的社区发现,提出了基于分裂思想的GN算法,该算法使用边介数这一指标作为断边条件,通过一系列断边操作将网络划分成孤立的节点,然后根据模块度函数的最优取值确定社区结构。此后,各学科领域的研究者开始从不同的角度提出了大量社区发现算法,并被广泛应用于各学科领域来解决实际存在的问题。其中较具代表性的包括基于模块度优化的社区发现方法、基于谱分析的社区发现方法、基于标签传播思想的社区发现方法,以及基于信息论的社区发现方法。基于模块度优化的社区发现方法是从优化的角度看待社区发现问题,通过将目标函数最优化来获取最优的社区结构,这一方法在求取目标函数最大化的过程中存在NP难问题;基于谱分析的社区发现方法将网络中节点所表征的矩阵的特征向量看成空间的坐标,进而把节点映射到多维度的特征向量空间,再利用以往的聚类算法将网络中的节点聚成不同的社区,具有很强的算法灵活性,但其运算时间复杂度较高;标签传递社区发现方法具有近乎线性的时间复杂度,且无须事先定义目标函数和社区数量,成为为数不多的能够解决大型网络社区发现问题的方法,但这类方法在标签传递过程中会由于随机性和不确定性导致划分精度难以满足要求。基于信息论的社区发现方法将社区发现问题转化为寻找网络拓扑结构的最优压缩方法的问题,其中最优压缩表示最大化地保持原始网络的拓扑特征,该方法具有较高的精度,但时间复杂度较高。公开号为CN103888541A的专利《一种融合拓扑势和谱聚类的社区发现方法及系统》公开了一种融合拓扑势和谱聚类的社区发现方法及系统,该方法计算给定的复杂网络中n个节点的拓扑势值,根据n个节点的拓扑势值构造复杂网络的节点的标准矩阵;搜索所有局部极大势值节点,获得包含t个局部极大势值节点的局部极大势值节点集合;计算节点的标准矩阵的所有特征值,选取前t-1个非平凡特征值,以t-1个非平凡特征值对应的t-1个特征向量构成t-1维空间;将复杂网络的n个节点映射到t-1维空间中;将t个局部极大势值节点作为初始聚类中心,采用K-means算法将t-1维空间中的n个节点划分为t个社区。公开号为CN103778192A的专利《一种复杂网络局部社区发现方法》公开了一种复杂网络局部社区发现方法,从包含源节点的初始社区出发通过逐渐扩展找到源节点所隶属的网络局部社区。其步骤为:S1初始化核心路径,将源节点添加到该路径;S2对于以核心路径中最后一个节点为中心的邻域内的每个节点,计算其与最后一个节点的连通强度值,找到使得连通强度最大的节点z;S3判断节点z是否在核心路径中,如果没包含则将节点z加入核心路径,返回步骤S2;否则对核心路径中可能存在的多余节点进行过滤;S4将核心路径中的节点确定为初始社区。公开号为CN103747033A的专利《一种社区发现的方法》公开了一种社区发现的方法,包括以下步骤:1)利用MapReduce模型实现并行计算;2)在Map阶段,将计算任务分为N份,每份计算任务包括随机游走过程和数据处理过程,其中通过随机游走获得复杂网络的一个遍历节点序列,通过对遍历节点序列进行数据分析,获得两个节点之间的连接的紧密程度;3)在Reduce阶段,对并行计算的结果进行整合得到节点之间的连接紧密程度,根据节点之间连接的紧密程度来进行社区发现;4)对处于社区重叠部分的节点进行分析,以概率形式对节点归属于哪个社区做出描述。综上所述,现有的社区发现方法在处理大规模复杂网络时难以同时保证社区发现精度和计算复杂度的要求,从而导致方法的实用性大打折扣。因此如何设计一种兼顾划分精度和计算复杂度的社区发现方法,是复杂网络分析研究中亟待解决的问题。
技术实现思路
本专利技术的目的是,为大规模复杂网络提供一种具有较高识别精度和较低计算复杂度的网络社区发现方法。为实现上述目的本专利技术提供如下技术方案:本专利技术基于模块度优化模型和信息熵理论,解决了标签传播社区发现方法因不确定性和随机性导致精度降低的问题,同时将计算复杂度控制在较低水平,为大规模复杂网络的社区发现提供了一种兼顾发现精度和计算复杂度的方法。在该方法中,网络社区的发现通过迭代计算过程实现,包括节点子图社区划分、网络节点标签传播顺序确定、网络节点标签更新和社区发现结果输出等环节,该方法如下:一种网络社区发现方法,对于一个复杂网络,用G(V,E)表示,其中V=(v1,v2,…,vm)表示网络中节点的集合,vi表示网络中第i个节点(1≤i≤m),m为节点数量,E=(e1,e2,…,en)表示网络中边的集合,ej表示网络中第j条边(1≤j≤n),n为边的数量,用L=(l1,l2,…,lm)表示网络中所有节点的社区标签构成的集合,li(1≤i≤m)为第i个节点vi的社区标签;本专利技术所述内容即确定网络中所有节点的社区标签集合L,并将标签一致的节点归为同一社区的过程,包括以下步骤:步骤1、对于网络中的任一节点vi,记其周围与之存在直接连边关系的邻居节点集合为Vi,这些直接连边构成的集合记作Ei;节点vi的节点子图即由Vi和Ei组成的局部网络,可表示为Gi={(v,e)|v∈Vi,e∈Ei};利用最优模块度模型对网络中每个节点的节点子图划分局部社区,这一过程是通过迭代计算实现的,对任一节点vi的节点子图Gi其具体步骤如下:步骤1-1、初始化Gi的社区分布,每个节点属于一个独立局部社区;步骤1-2、利用式(1)计算节点子图Gi的模块度Qi:其中mi为节点子图Gi中的节点数量,ni为Gi中边的数量;1≤p≠q≤mi表示Gi中任意两个节点的序号;A为Gi的邻接矩阵,其元素Apq取值为0或1,表示Gi中节点p和q之间的连边数量;表示Gi中节点p的度;为Gi中节点p的局部社区标签,若节点p和q同属一个局部社区则否则步骤1-3、沿着使Qi本文档来自技高网
...
一种网络社区发现方法

【技术保护点】
一种网络社区发现方法,其特征在于,给定一个网络,用G(V,E)表示,其中V=(v1,v2,…,vm)表示网络中节点的集合,vi表示网络中第i个节点(1≤i≤m),m为节点数量,E=(e1,e2,…,en)表示网络中边的集合,ej表示网络中第j条边(1≤j≤n),n为边的数量,用L=(l1,l2,…,lm)表示网络中所有节点的社区标签构成的集合,li(1≤i≤m)为第i个节点vi的社区标签;本专利技术所述内容即确定网络中所有节点的社区标签集合L,并将标签一致的节点归为同一社区的过程,包括以下步骤:步骤1、对于网络中的任一节点vi,记其周围与之存在直接连边关系的邻居节点集合为Vi,这些直接连边构成的集合记作Ei;节点vi的节点子图即由Vi和Ei组成的局部网络,可表示为Gi={(v,e)|v∈Vi,e∈Ei};利用最优模块度模型对网络中每个节点的节点子图划分局部社区,这一过程是通过迭代计算实现的,对任一节点vi的节点子图Gi其具体步骤如下:步骤1‑1、初始化Gi的社区分布,每个节点属于一个独立局部社区;步骤1‑2、利用式(1)计算节点子图Gi的模块度Qi:

【技术特征摘要】
1.一种网络社区发现方法,其特征在于,给定一个网络,用G(V,E)表示,其中V=(v1,v2,…,vm)表示网络中节点的集合,vi表示网络中第i个节点(1≤i≤m),m为节点数量,E=(e1,e2,…,en)表示网络中边的集合,ej表示网络中第j条边(1≤j≤n),n为边的数量,用L=(l1,l2,…,lm)表示网络中所有节点的社区标签构成的集合,li(1≤i≤m)为第i个节点vi的社区标签;本发明所述内容即确定网络中所有节点的社区标签集合L,并将标签一致的节点归为同一社区的过程,包括以下步骤:步骤1、对于网络中的任一节点vi,记其周围与之存在直接连边关系的邻居节点集合为Vi,这些直接连边构成的集合记作Ei;节点vi的节点子图即由Vi和Ei组成的局部网络,可表示为Gi={(v,e)|v∈Vi,e∈Ei};利用最优模块度模型对网络中每个节点的节点子图划分局部社区,这一过程是通过迭代计算实现的,对任一节点vi的节点子图Gi其具体步骤如下:步骤1-1、初始化Gi的社区分布,每个节点属于一个独立局部社区;步骤1-2、利用式(1)计算节点子图Gi的模块度Qi:其中mi为节点子图Gi中的节点数量,ni为Gi中边的数量;1≤p≠q≤mi表示Gi中任意两个节点的序号;A为Gi的邻接矩阵,其元素Apq取值为0或1,表示Gi中节点p和q之间的连边数量;表示Gi中节点p的度;为Gi中节点p的局部社区标签,若节点p和q同属一个局部社区则否则步骤1-3、沿着使Qi增大最多的方向对Gi中有边相连的局部社区对进行合并;步骤1-4、计算社区合并后Gi的模块度,记此时的模块度为若则返回步骤1-3继续进行社区合并,否则进入步骤1-5;步骤1-5、记录节点子图Gi中节点的局部社区标签,完成...

【专利技术属性】
技术研发人员:白亮杜航原
申请(专利权)人:山西大学
类型:发明
国别省市:山西,14

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1