首页> 中国专利> 基于共邻矩阵谱信息的多目标社区检测方法

基于共邻矩阵谱信息的多目标社区检测方法

摘要

本发明提出了一种基于修正共邻矩阵谱信息的多目标社区检测方法,主要解决的是现有的社区检测方法分辨率低及对于大型网络时间复杂度高的问题。其实现步骤为:根据网络构造共邻矩阵并修正;提取修正共邻矩阵的谱信息;用谱信息初始化父代记忆库,求出父代记忆库的适应度;用和声搜索算法从父代记忆库中产生子代记忆库,并求出子代记忆库的适应度;合并父代和子代记忆库,对其进行非支配排序得到临时记忆库;对临时记忆库进行局部学习,得到更新的临时记忆库,从更新的临时记忆库中得到下次迭代的父代记忆库;如果达到最大迭代次数,取出父代记忆库中所有非支配解作为最终解集,否则继续迭代。本发明具有提高社区检测分辨率和降低时间复杂度的优点。

著录项

  • 公开/公告号CN102594909A

    专利类型发明专利

  • 公开/公告日2012-07-18

    原文格式PDF

  • 申请/专利权人 西安电子科技大学;

    申请/专利号CN201210066846.6

  • 申请日2012-03-14

  • 分类号H04L29/08(20060101);

  • 代理机构61205 陕西电子工业专利中心;

  • 代理人王品华;朱红星

  • 地址 710071 陕西省西安市太白南路2号

  • 入库时间 2023-12-18 06:04:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-07-09

    授权

    授权

  • 2012-09-19

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20120314

    实质审查的生效

  • 2012-07-18

    公开

    公开

说明书

技术领域

本发明属于复杂网络和多目标优化技术领域,涉及复杂网络中的数据挖掘技术、 共邻矩阵的谱信息和进化计算中的多目标优化技术,用于复杂网络中的社区检测,能 够同时发现网络的多尺度社区结构。

背景技术

以Internet为代表的信息技术的迅猛发展使人类社会大步迈进了网络时代。现实 世界中的许多系统都可以用复杂网络的形式来描述,如社会系统中的人际关系网、科 学家合作网络和流行病传播网络,生态系统中的神经元网、科技系统中的电子邮件网、 因特网和万维网,电力系统中的大型电力网络等等。复杂网络理论主要研究的是看上 去不相同的复杂网络之间的共性和处理它们的普遍方法。复杂网络已成为研究复杂系 统的一种重要工具和多学科交叉研究领域。

在复杂网络的研究中,网络中的节点代表现实世界中复杂系统的独立个体,而网 络中的边则代表独立个体之间按照某种规则而自然形成或人为构造的一种抽象的连 接关系。大量的实验研究表明,复杂网络不仅具有“小世界特性”和“幂律度分布特 性”外,而且还具有社区结构特性。社区结构特性指的是网络中属于同一社区的节点 之间有很多边紧密相连,而属于不同社区的节点之间只有很少的边使它们之间的连接 比较稀疏,而同一社区内的节点在复杂网络中有着近乎相同的作用,因此一个社区可 以看做复杂网络中一个抽象的独立个体。由于复杂网络规模较大,结构复杂,研究起 来比较复杂,这一特性的发现可以把复杂网络划分为较小的子网络分别研究它们的特 性,从而使研究变得较为简单。

在大型复杂网络中自动搜寻或发现社区,具有重要的实用价值。如社会网络中的 社区代表根据兴趣或背景而形成的真实的社会团体;引文网络中的社区代表针对同一 主题的相关论文;万维网中的社区就是讨论相关主题的若干网站;而生物化学网络或 者电子电路网络中的社区可以是某一类功能单元。发现这些网络中的社区有助于我们 更加有效地理解和开发这些网络。

复杂网络社区结构发现是刻画和研究复杂系统的结构和行为的重要方法,随着社 会学研究工作者Girvan和Newman以及其它学者的研究成果,使得复杂网络中的 社区发现成为近几年复杂网络领域的一个研究热点并形成了复杂网络中一个重要的 研究方向。

目前已经提出了很多社区检测方法,主要分为两类:启发式算法和优化方法。在 启发式算法中,主要有基于图论的图分割法和层次聚类法,而在优化方法中,主要是 构造一个目标函数,利用各种方法如进化算法对目标函数进行优化,在优化的过程中 同时发现网络中潜在的社区结构。

图分割算法的核心就是二分,也就是说先把网络划分为两个最优的社区,然后再 对这两个社区分别划分,依次反复,直到达到所要求的社区个数时停止。该算法主要 包括基于图的Laplace矩阵特征向量的谱平分法和Kernighan-Lin算法简称KL算法, 它们共有的缺点就是划分多个社区时也面临着必须事先知道网络中的社区数目,以及 确定算法需要重复到哪一步停止。

层次聚类法是基于各个节点之间连接的相似性或者强度,把网络自然地划分为各 个子网络的一种方法。根据加边还是去边,可以分为凝聚算法和分裂算法。凝聚算法 的基本思想是基于网络中节点的某种相似性来进行聚类,每次合并相似度最大的节 点,直到整个网络合并为一个社区;分裂算法中最经典是Girvan Newman算法简称 GN算法,它是Girvan和Newman在2003年提出的一种基于边介数的社区发现算法。 GN算法本身有明显的缺陷,首先,算法的复杂度比较高,因此仅仅适用于中等规模 的网络;其次,在事先不知道社区数目的情况下,GN算法也无法确定要分解到哪一 步终止。

为了解决对于一个给定的网络,究竟哪一种划分更合理,Newman等人提出了一 种衡量网络划分质量好坏的评价标准-模块度。此后,基于模块度优化的社区划分方 法相继出现,但利用模块度存在着分辨率限制的问题,也就是说网络中通过模块度优 化并不能发现很小的社区。

和声搜索算法是一种新兴的智能优化算法。作为一类启发式搜索算法,已被成功 应用于多目标优化领域,发展成为一个相对较热的研究方向——进化多目标优化。

此外,在优化方法中,也相继提出了很多目标,如为了解决模块度分辨率限制而 提出的模块度密度、community scores、community fitness等,但这些方法基本上都是 单目标方法,每次只能发现网络的一种社区结构,而且这些方法基本都是基于基因近 邻或者是社区编号的编码方式,编码较长,对于大型复杂网络存在着时间复杂度高的 问题,同时,也提出了很多多目标优化方法,如C.Pizzuti在“A Multi-objective Genetic  Algorithm for Community Detection in Networks”(Proceedings of the 21st IEEE International  Conference on Tools with Artificial Intelligence,pp.379-386,2009)中提出了MOGA-Net算法, 但是这些方法准确率较低,效果并不理想。

发明内容

本发明的目的在于针对以上算法的不足,提出一种基于共邻矩阵谱信息的多目标 社区检测方法,以缩短编码长度,降低时间复杂度,提高检测准确率和分辨率。

实现本发明目的的技术方案是:提取修正后共邻矩阵的谱信息代表节点,设定社 区的最大个数以决定和声的编码长度,采取基于中心的编码方式,利用自适应多目标 和声搜索算法检测复杂网络中的多层次社区结构,具体步骤包括如下:

(1)根据网络的节点和边的信息,建立网络的N阶邻接矩阵A:若节点i和j之 间有边相连,则Ai,j=1,否则Ai,j=0,N为网络中节点的个数;

(2)根据邻接矩阵A建立网络的共邻矩阵M,该M中的元素Mi,j为: 表示节点i和k之间的边的连接关系,如果节点i和k之间有边 相连,则Ai,k=1,否则Ai,k=0,Aj,k表示节点j和k之间的边的连接关系,如果节点j 和k之间有边相连,则Aj,k=1,否则Aj,k=0,k的取值为从1到N;

(3)将Mi,j更新为:M′i,j=(Mi,j+1)×Ai,j,对i和j分别从1取到N,得到由M′i,j构成的修正后的共邻矩阵M′;

(4)根据修正后的共邻矩阵M′求出对角矩阵D及D的逆矩阵D-1

(5)根据共邻矩阵M′和逆矩阵D-1求出标准矩阵:NO=D-1M′,然后对标准矩 阵NO进行特征值分解,求出特征值λ1,λ2,…,λN和对应的特征向量V1,V2,…,VN,对N 个特征值降序排列为λ′1≥λ′2≥…≥λ′N,与这N个降序排列的特征值相对应的降序排列 后的特征向量分别为V′1,V′2,…,V′N,求出降序排列后的特征向量V′2的最大值和最小值 分别为:a=max(V′2),b=min(V′2);

(6)设定自适应多目标和声搜索算法的各个参数,初始化大小为S的父代和声 记忆库H(t)={H1(t),H2(t),…,HS(t)},t=0:每一个和声Hi(t),i=1,2,…,S包括标记 部分和中心部分两个部分,标记部分为h1(t)={flag1,flag2,...,flagKmax},flag1,flag2,...,flagKmax均是0-1之间随机分布的随机数,中心部分为均是a-b之间随机分布的随机数,Kmax为设定的参数,表示社 区的最大个数;

(7)确定父代和声记忆库H(t)={H1(t),H2(t),…,HS(t)}中的每一个和声的社 区中心,计算每一个和声中每一个节点到所有社区中心的距离,把所有节点划分到距 离最近的那个社区中,得到每个和声的社区划分;

(8)根据得到的社区划分计算父代和声记忆库中每个和声的适应度;

(9)设t=t+1,求出当前迭代的和声保留概率、音调微调概率和带宽,用和声 搜索的方式产生子代和声记忆库H(t);

(10)对子代和声记忆库H(t)执行步骤(7)-(8);

(11)合并父代和子代和声记忆库,并对其进行快速非支配排序,产生临时子代 和声记忆库H′(t);

(12)对临时子代和声记忆库H′(t)进行局部学习,得到更新的临时子代和声记 忆库H″(t);

(13)对更新的临时子代记忆库H″(t)进行快速非支配排序,选出前S个和声, 将其作为父代和声记忆库H(t),对父代和声记忆库H(t)进行快速非支配排序,得到 非支配和声;

(14)判断当前迭代次数是否满足最大迭代次数,如满足,执行步骤(15),否 则返回步骤(9);

(15)取出父代和声记忆库H(t)中的非支配和声作为最终的解集;

(16)从最终的解集中找出共邻模块度最大的和声,将这个和声放入大小为1 的和声记忆库中,作为父代和声记忆库,并执行步骤(7),得到对应的社区划分,作 为最终的社区划分结果。

本发明与现有技术相比具有如下优点:

第一,本发明在社区划分的过程中采用了基于社区中心的混合编码方式,降低了 时间复杂度,克服了现有的编码方式随着网络规模增大而时间复杂度增大的缺点,提 高了社区划分的适用性。

第二,本发明在社区划分的过程中充分考虑了节点之间共同邻节点的信息,构造 了共邻矩阵,并对共邻矩阵进行修正,使得修正后的共邻矩阵可以看作相似度矩阵, 使修正共邻矩阵使相同社区内的节点之间的相似度更大,不同社区间的节点之间的相 似度更小,提高了社区划分的准确性。

第三,本发明在社区划分的过程中利用修正共邻矩阵构造了修正模块度函数,并 将其拆分为两个函数,采用多目标和声搜索方法对这两个目标进行优化,在优化的过 程中,社区的个数和社区的大小能够自动生成,优化结束后能够得到复杂网络的多层 次社区结构,提高了社区划分的分辨率。

第四,本发明在社区划分的过程中利用了局部学习的思想,克服了现有技术容易 陷入局部最优状态的缺点,进一步提高了社区划分的准确性。

附图说明

图1是本发明的流程图;

图2是本发明中的和声编码图;

图3是本发明使用的Bottlenose Dolphins复杂网络结构及真实社区划分图;

图4是本发明具体实例人工合成复杂网络的测试结果曲线图;

图5是用本发明对Bottlenose Dolphins复杂网络测试的折中曲线图;

图6是对图5折中曲线图中不同社区个数解对应的社区划分结果图。

具体实施方法

参照附图1,本发明的具体实现步骤如下:

步骤1.根据复杂网络建立修正共邻矩阵M,按如下步骤进行:

1.1)根据网络的节点和边的信息,建立网络的N阶邻接矩阵

A=A1,1A1,2...A1,NA2,1A2,2...A2,N............AN,1AN,2...AN,N,

若网络的节点i和网络的节点j之间有边相连,则Ai,j=1,否则Ai,j=0, i,j=1,2,…,N,N为网络中节点的个数;

1.2)根据邻接矩阵A建立网络的共邻矩阵:

M=M1,1M1,2...M1,NM2,1M2,2...M2,N............MN,1MN,2...MN,N,

M中的元素Mi,j为:当i、j的值确定后, k=1,2,…,N,

Ai,k表示网络的节点i和网络的节点k之间的边的连接关系,如果网络的节点i和 网络的节点k之间有边相连,则Ai,k=1,否则Ai,k=0,

Aj,k表示网络的节点j和网络的节点k之间的边的连接关系,如果网络的节点j和 网络的节点k之间有边相连,则Aj,k=1,否则Aj,k=0;

1.3)将Mi,j更新为:M′i,j=(Mi,j+1)×Ai,j,i,j=1,2,…,N,得到由M′i,j构成的 修正后的共邻矩阵

M=M1,1M1,2...M1,NM2,1M2,2...M2,N............MN,1MN,2...MN,N.

步骤2.提取修正后的共邻矩阵M′的谱信息:

2.1)根据修正后的共邻矩阵M′求出对角矩阵D及D的逆矩阵D-1

2.2)根据修正后共邻矩阵M′和逆矩阵D-1求出标准矩阵:NO=D-1M′;

2.3)对标准矩阵NO进行特征值分解,求出特征值λ1,λ2,…,λN和对应的特征向量 V1,V2,…,VN

2.4)对N个特征值λ1,λ2,…,λN降序排列为λ′1≥λ′2≥…≥λ′N,调整与这N个降序 排列的特征值λ′1,λ′2,…,λ′N相对应的降序排列后的特征向量分别为V′1,V′2,…,V′N,降序 排列后的特征向量V′1,V′2,…,V′N就是修正后共邻矩阵M′的谱信息,每个降序排列后的 特征向量都用列表示,把所有降序排列后的特征向量按列堆叠构成了一个矩阵V′

V(V1,V2,...,VN)=V11V21...VN1V12V22...VN2............V1NV2N...VNN

V′中每一列代表一个降序排列后的特征向量,每一行则代表了一个节点,V′i,j表示第 j个节点第i维的值,i,j=1,2,…,N,节点的维数为N。

步骤3.求出降序排列后的特征向量V′2的最大值和最小值分别为:a=max(V′2), b=min(V′2)。

步骤4.设定多目标和声搜索算法的各个参数:

设父代和声记忆库大小为S=20,局部学习的和声个数为L=4,最大迭代次数为 T=400,程序运行次数为R=50,最大社区个数为kmax=15,编码长度为2×Kmax,和声 保留概率的最大值和最小值分别为HMCRmax=0.9、HMCRmin=0.5,音调微调概率的 最大值和最小值分别为PARmax=0.5、PARmin=0.3,和声中标记部分的最大值和最小 值分别为1、0,和声中标记部分带宽的最大值和最小值分别为BW1max=0.1、 BW1min=0.05,和声中中心部分的最大值和最小值分别为a、b,和声中中心部分带 宽的最大值和最小值分别为BW2max=(a-b)/50,BW2min=(a-b)/100。

步骤5.初始化父代和声记忆库:

按照附图2中所示和声的方式初始化大小为S的父代和声记忆库 H(t)={H1(t),H2(t),…,HS(t)},t=0,每一个和声Hi(t),i=1,2,…,S包括标记部分和 中心部分两个部分,标记部分为均是0-1之间随机分布的随机数,中心部分为

h2(t)={center1,center2,...,centerKmax},center1,center2,...,centerKmax均是a-b之间随机分 布的随机数,Kmax为设定的参数,表示社区的最大个数。

步骤6.确定父代和声记忆库H(t)={H1(t),H2(t),…,HS(t)}中的每一个和声的 社区中心,得到每个和声的社区划分:

6.1)根据父代和声记忆库中每一个和声Hi(t)的标记部分h1(t)的值flagj判断对应 的社区中心centerj是否被激活,如果flagj≥0.5,则对应的社区中心centerj被激活, 否则不被激活,对flagj全部判断结束后假设有n个被激活的中心,其中,i=1,2,…,S, S表示父代和声记忆库的大小,j=1,2,…,Kmax,n∈[0,Kmax],Kmax表示社区的最大 个数;

6.2)求出降序排列后的特征向量V′2中的每个值到所有被激活的中心的距离,并用 V′2中距离被激活中心最近的值代替被激活中心,成为社区中心,因此社区中心是网络 中的一个节点;

63)计算所有节点到n个社区中心的距离,按如下公式计算:

Di,j=Σk=2nλk(Vk,i-Vk,j)2

其中,Di,j表示第i个节点与第j个节点之间的距离,λ′k表示第k个排序后的特征 值,V′k,i为第i个排序后的特征向量第k为上的值,V′k,j为第j个排序后的特征向量第k 为上的值,n是被激活中心的个数,i,j=1,2,…,N。

把所有节点划分到距离最近的那个社区中,得到每个和声的社区划分。

步骤7.根据得到的社区划分计算父代和声记忆库中每个和声的适应度:

7.1)借鉴以邻接矩阵为基础的模块度的定义,修正共邻矩阵为基础的共邻模块度 的定义为:Q(B)=∑c∈B[|N(c)|/n-(∑v∈cN(v)/(2n))2],

其中,B为所有的社区的组合,c为其中的一个社区,n为整个网络中各节点对 之间修正共同邻节点的个数,|N(c)|为社区c中所有节点对之间的修正共同邻节点的 个数的和,N(v)为节点v与网络中所有节点之间修正共同邻节点的个数的和;

7.2)对共邻模块度的公式进行拆分,用1减去该公式中的第一部分∑c∈B(|N(c)|/n)作 为第一个目标函数,称作类内目标函数,表示为int ra(B)=1-∑c∈B(|N(c)|/n),将该公式 中的第二部分∑c∈B(∑v∈cN(v)/(2n))2作为第二个目标函数,称作类间目标函数,表示为 int er(B)=∑c∈B(∑v∈cN(v)/(2n))2

7.3)计算整个网络中各节点对之间修正共同邻节点的个数n,根据每个和声的社 区划分,得到所有的社区B以及每个社区中的节点,分别统计每个社区中所有节点对 之间的修正共同邻节点的个数的和|N(c)|和每个社区中每个节点v与网络中所有节点 之间的修正共同邻节点的个数的和N(v),然后将计算结果代入以上两个目标函数, 得到父代和声记忆库中每个和声的适应度。

步骤8.产生子代和声记忆库H(t):

现有的产生子代和声记忆库H(t)的算法有遗传算法、蚁群算法、鱼群算法、模 拟退火算法,差分进化算法,和声搜索算法等进化算法,本实例采用和声搜索算法, 其步骤如下:

8.1)设t=t+1,求出当前迭代的和声保留概率、音调微调概率和带宽,按如下 公式计算:

和声保留概率:HMCR(t)=HMCRmax-(HMCRmax-HMCRmin)×t/T,

音调微调概率:PAR(t)=PARmin+(PARmax-PARmin)×t/T,

带宽:BW1(t)=BW1maxexp(ln(BW1min/BW1max)×t/T),

BW2(t)=BW2maxexp(ln(BW2min/BW2max)×t/T),

其中,HMCRmax、HMCRmin分别为和声保留概率的最大值和最小值,PARmax、PARmin分别为音调微调概率的最大值和最小值,BW1max,BW1min分别为和声的标记部分的带 宽的最大值和最小值,BW2max,BW2min分别为和声的中心部分的带宽的最大值和最小 值,t为当前迭代数,T为最大迭代次数;

8.2)产生一个新和声,对于新和声的标记部分,如果rand0<HMCR(t),新和 声的标记部分的每一维上的值从父代和声记忆库中所有和声的这一维上的值中随机 选择一个,如果rand1<PAR(t),新和声的标记部分的这一维上的值要再加上标记部 分的BW1(t),否则不加,如果rand0≥HMCR(t),新和声的标记部分的每一维上的值 在0-1之间随机产生,rand0和rand1均为在0-1之间随机产生的一个值;

8.3)对于新和声的中心部分,如果rand2<HMCR(t),新和声的中心部分的每 一维上的值从父代和声记忆库中所有和声的这一维上的值中随机选择一个,如果 rand3<PAR(t),新和声的中心部分的这一维上的值要再加上中心部分的BW2(t),否 则不加,如果rand2≥HMCR(t),新和声的中心部分的每一维上的值在a-b之间随机 产生,rand2和rand3均为在0-1之间随机产生的一个值;

8.4)按照步骤8.2)-8.3)的方式产生S个新和声,构成子代和声记忆库H(t), S为子代和声记忆库的大小。

步骤9.对子代和声记忆库H(t)执行步骤6和步骤7,计算子代和声记忆库H(t)中 每个和声的适应度。

步骤10.合并父代和声记忆库和子代和声记忆库,并对其进行快速非支配排序,产 生临时子代和声记忆库H′(t)。

快速非支配排序的方法见K.Deb,A.Pratap,S.Agarwal,T.Meyarivan,“A Fast and  Elitist Multiovjective Genetic Algorithm:NSGAII,”IEEE Transactions on Evolutionary  Computation,Vol.6,No.2,pp.182-197,2002。

步骤11.对临时子代和声记忆库H′(t)进行局部学习,得到更新的临时子代和声记 忆库H″(t):

11.1)从临时子代和声记忆库H′(t)中选出前20%个和声构成大小为L的局部和声 记忆库X(t)={X1(t),X2(t),…,XL(t)};

11.2)在局部和声记忆库X(t)={X1(t),X2(t),…,XL(t)}的基础上用和声搜索的方 式产生大小为L的新局部和声记忆库X′(t)={X′1(t),X′2(t),…,X′L(t)},对新局部和声 记忆库执行步骤6和步骤7;

11.3)对每一个新和声X′i(t)进行判断:如果新和声X′i(t)能够支配临时子代记忆 库H′(t)中所有的和声,则将新和声X′i(t)加入到临时子代记忆库H′(t)中,否则不加 入,对每一个新和声X′i(t)都判断完成后得到更新的临时子代记忆库H″(t),其中, i=1,2,…,L,L为新局部和声记忆库的大小。

步骤12.对更新的临时子代记忆库H″(t)进行快速非支配排序,选出前S个和声, 将其作为父代和声记忆库H(t),对父代和声记忆库H(t)进行快速非支配排序,得到 非支配和声;

步骤13.判断当前迭代次数是否满足设定最大迭代次数,如满足,执行步骤11,否 则返回步骤5,本实例最大迭代次数设定为T=400。

步骤14.取出父代和声记忆库H(t)中的非支配和声作为最终的解集,从最终的解集 中找出模块度最大的和声,将这个和声放入大小为1的和声记忆库中,作为父代和声 记忆库,执行步骤6,得到对应的社区划分,作为最终的社区划分结果。

本发明的实验效果可以通过以下实验来进一步说明:

1.仿真条件:

本发明的仿真是在主频2.5GHZ的Pentium Dual-Core CPU E5200、内存2GB的 硬件环境和MATLAB R2009a的软件环境下进行的。对本发明分别在人工合成复杂网 络和四个真实复杂网络上进行仿真。

人工合成复杂网络中有128个节点,分为四个社区,每一个社区中有32个节点, 每个节点的平均度为zin+zout=16,zin为节点与自身社区内的节点相连接的边的数 目,zout为节点与其他社区内的节点相连接的边的数目,当zout较小时说明节点基本 上都与自身社区内的节点相连接,因而社区结构比较清晰,而当zout较大时,因为节 点与其他社区内的节点的连接较为频繁,所以社区结构比较模糊,在本实验中,分别 对zout从0到8进行了测试,对每种类型的网络都产生6个复杂网络,求出准确率的 平均值。

四个真实复杂网络来源于社区检测常用的数据库。其中的Bottlenose Dolphins 网络的真实社区划分如图3,用于将本发明得到的社区划分结果与该图进行比较。

社区划分的准确率指标用模块度Q0和归一化互信息Normalized Mutual  Information来表示,模块度Q0定义为:

Q0(C)=∑c∈C[|E(c)|/l-((∑v∈cd(v))/(2l))2]

其中,B为所有的社区的组合,c为其中的一个社区,l为整个网络中边的数目, |E(c)|为社区c中边的数目,d(v)为节点v的度。Q0的值越大,表示划分的准确率越 高。

归一化互信息Normalized Mutual Information定义为:

NMI(P,Q)=-2Σi=1rPΣj=1rQWi,jlog(Wi,jN/Wi.W.j)Σi=1rPWi.log(Wi./N)+Σj=1rQW.jlog(W.j/N),

其中,P,Q表示两个划分,W为混淆矩阵,元素Wi,j表示在P划分中的第i个 社区内的节点也在Q划分中的第j个社区内的节点的个数,N为节点个数,Wi.为混 淆矩阵第i行的和,W.j为混淆矩阵第j列的和,rP为P划分中社区的个数,rQ为Q 划分中社区的个数,N为网络中节点的个数。计算NMI值时,将P看作网络的真实 划分,Q看作得到的社区划分,则NMI的值越大,表示准确率越高。

2.仿真内容:

仿真内容1:对本发明在人工合成复杂网络上进行R=50次实验,实验结果如图 3所示。图4中横轴表示zout,即网络中的节点与非自身社区内的节点相连接的边的 数目,纵轴表示每一个zout产生的6个网络的NMI值的平均值,带方框的曲线表示运 用本发明得到的模块度最大的解的NMI值,带左三角的曲线表示运用MOGA-Net算 法得到的模块度最大的解的NMI值,带星号的曲线表示用GN算法得到的模块度最 大的解的NMI值。

由图4曲线可得,当zout=6时,GN算法和MOGA-Net算法的准确率分别为40% 和81%,而本发明在zout=6时的准确率可以达到95%以上,而且在zout=7和zout=8 时,本发明的准确率仍然比GN算法和MOGA-Net算法的准确率高。

仿真内容2:本发明在四个真实复杂网络上进行R=50次实验,实验结果如表1 所示。

表1三种方法在四个真实复杂网络上的实验结果

从四个真实复杂网络在表1中的实验结果可以看出,本发明得到的平均模块度 和平均NMI值都大于MOGA-Net算法和GN算法得到的平均模块度和平均NMI值, 由于GN算法是一种确定性算法,因此平均最优模块度的标准差和平均NMI值的标 准差一定为0,不能参与对比,本发明得到的平均模块度的标准差和平均NMI值的标 准差都小于MOGA-Net算法得到的平均模块度的标准差和平均NMI值的标准差,根 据平均模块度和平均NMI值越大精度越高的原则,本发明提高了精度,根据平均模 块度的标准差和平均NMI值的标准差越小方法越稳定的原则,本发明提高了稳定性, 所以本发明的性能更好。

仿真内容3:本发明在Bottlenose Dolphins网络上进行R=50次实验,取最后一 次实验来展示社区划分结果。在最后一次实验中,当达到最大迭代次数后,获取按照 父代和声记忆库中每个和声的社区划分计算的父代和声记忆库中每个和声的两个目 标函数的值,如图5。在图5中,横轴为类内目标函数,纵轴为类间目标函数,图中 方框内的字母表示不同的解,数字表示这个解对应的的社区个数。

仿真内容4:取出图5中Bottlenose Dolphins网络的不同目标函数对应的社区划 分,结果展示如图6。其中:

图6(a)为划分的两个社区,与图4的真实社区划分相比,得到了正确的社区划 分。

图6(b)为划分的3个社区,从图6(b)可见,它把图6(a)中右边的社区划分成 了两个社区,同时把节点40划分到左侧的社区中,在图6(a)的基础上显示出了层 次结构。

图6(c)为划分的4个社区,从图6(c)可见,它把图6(b)中右上角的社区划 分成了两个社区,在图6(b)的基础上显示出了层次结构。

图6(d)为划分的5个社区,从图6(d)可见,它把图6(c)中左侧的社区划分 成了两个社区,并对节点40、61、62进行了重新划分,在图6(c)的基础上显示出 了层次结构。

图6(e)为划分的6个社区,从图6(e)可见,它把图6(c)中左侧的社区划分 成了两个社区,右下角的社区划分成了两个社区,将节点4、9、60单独划分为一个 小型社区,在图6(c)的基础上显示出了层次结构。

图6(f)为划分的7个社区,从图6(f)可见,它把图6(e)中右上角两个社区 中的节点21、29、39、45、54、59提取出来,单独划分为一个社区,在图6(e)的 基础上显示出了层次结构。

综上,运用本发明可以提高一个特定复杂网络社区划分的准确性和稳定性,而且 可以得到不同层次的社区结构,提高社区划分的分辨率,有助于更好地理解复杂网络, 并对复杂网络进行定性的分析。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号