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

文档序号:7891515阅读:327来源:国知局
专利名称:基于共邻矩阵谱信息的多目标社区检测方法
技术领域
本发明属于复杂网络和多目标优化技术领域,涉及复杂网络中的数据挖掘技木、 共邻矩阵的谱信息和进化计算中的多目标优化技术,用于复杂网络中的社区检测,能够同时发现网络的多尺度社区结构。
背景技术
以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 tne 21st IEEE International Conference on Tools with Artificial Intelligence, pp. 379-386,2009)中提出了 MOGA-Net算法,但是这些方法准确率较低,效果并不理想。

发明内容
本发明的目的在于针对以上算法的不足,提出一种基于共邻矩阵谱信息的多目标社区检测方法,以缩短编码长度,降低时间复杂度,提高检测准确率和分辨率。实现本发明目的的技术方案是提取修正后共邻矩阵的谱信息代表节点,设定社区的最大个数以决定和声的编码长度,采取基于中心的编码方式,利用自适应多目标和声搜索算法检测复杂网络中的多层次社区结构,具体步骤包括如下(I)根据网络的节点和边的信息,建立网络的N阶邻接矩阵A :若节点i和j之间有边相连,则Ay = I,否则Ay = 0,N为网络中节点的个数;(2)根据邻接矩阵A建立网络的共邻矩阵M,该M中的元素Mi, j为 = 4表示节点i和k之间的边的连接关系,如果节点i和k之间有边相连,
则Ai,k = I,否则Ai,k = 0, Aj,k表示节点j和k之间的边的连接关系,如果节点j和k之间有边相连,则A^t = 1,否则A^t = 0,k的取值为从I到N ;(3)将Mi^更新为M' = (Mi,,1) XAi^对i和j分别从I取到N,得到由M' ^ j构成的修正后的共邻矩阵M,;(4)根据修正后的共邻矩阵M,求出对角矩阵D及D的逆矩阵D—1 ;(5)根据共邻矩阵M'和逆矩阵D—1求出标准矩阵N0 = D_V,然后对标准矩阵NO进行特征值分解,求出特征值X1, A2,…,Xn和对应的特征向量V1, V2,…,Vn,对N个特征值降序排列为入'々N,与这N个降序排列的特征值相对应的降序排列后的特征向量分别为V' ,,N' 2,…,V' N,求出降序排列后的特征向量V' 2的最大值和最小值分别为a = max (V' 2), b = minW 2);(6)设定自适应多目标和声捜索算法的各个參数,初始化大小为S的父代和声记忆库 H(t) = (H1 (t),H2 (t),…,Hs(t)}, t = 0 :姆ー个和声 Hi (t), i = 1,2,,S 包括标记部
分和中心部分两个部分,标记部分为ヶ⑷ニ丨ルん如ゐ…如ん^^ルんルん…’ル^“均是0-1
之间随机分布的随机数,中心部分为h (0 = Icenter^center2,...,cente^ } ,center” cente r2 ”.., center 均
是a-b之间随机分布的随机数,Kfflax为设定的參数,表示社区的最大个数;(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)从最终的解集中找出共邻模块度最大的和声,将这个和声放入大小为I的和声记忆库中,作为父代和声记忆库,并执行步骤(7),得到对应的社区划分,作为最終的社区划分結果。本发明与现有技术相比具有如下优点第一,本发明在社区划分的过程中采用了基于社区中心的混合编码方式,降低了时间复杂度,克服了现有的编码方式随着网络规模增大而时间复杂度增大的缺点,提高了社区划分的适用性。第二,本发明在社区划分的过程中充分考虑了节点之间共同邻节点的信息,构造了共邻矩阵,并对共邻矩阵进行修正,使得修正后的共邻矩阵可以看作相似度矩阵,使修正共邻矩阵使相同社区内的节点之间的相似度更大,不同社区间的节点之间的相似度更小, 提高了社区划分的准确性。第三,本发明在社区划分的过程中利用修正共邻矩阵构造了修正模块度函数,并将其拆分为两个函数,采用多目标和声捜索方法对这两个目标进行优化,在优化的过程中, 社区的个数和社区的大小能够自动生成,优化结束后能够得到复杂网络的多层次社区结构,提高了社区划分的分辨率。第四,本发明在社区划分的过程中利用了局部学习的思想,克服了现有技术容易陷入局部最优状态的缺点,进ー步提高了社区划分的准确性。


图I是本发明的流程图;图2是本发明中的和声编码图;图3是本发明使用的Bottlenose Dolphins复杂网络结构及真实社区划分4是本发明具体实例人工合成复杂网络的测试结果曲线图;图5是用本发明对Bottlenose Dolphins复杂网络测试的折中曲线图;图6是对图5折中曲线图中不同社区个数解对应的社区划分结果图。具体实施方法參照附图1,本发明的具体实现步骤如下步骤I.根据复杂网络建立修正共邻矩阵M,按如下步骤进行I. I)根据网络的节点和边的信息,建立网络的N阶邻接矩阵

权利要求
1.一种基于共邻矩阵谱信息的多目标社区检测方法,包括如下步骤(1)根据网络的节点和边的信息,建立网络的N阶邻接矩阵A:若节点i和j之间有边相连,则Aiij = I,否则Aiij = 0,N为网络中节点的个数;(2)根据邻接矩阵A建立网络的共邻矩阵M,该M中的元素Mi,j为 Mh} = AikAj, 4>表示节点i和k之间的边的连接关系,如果节点i和k之间有边相连, 则Ai,k = I,否则Ai,k = O, Aj,k表示节点j和k之间的边的连接关系,如果节点j和k之间有边相连,则Aj,k = 1,否则Aj,k = 0,k的取值为从I到N ;(3)将Miij更新为M'i,」=(Mijj+1)i和j分别从I取到N,得到由Mi 构成的修正后的共邻矩阵W ;(4)根据修正后的共邻矩阵M,求出对角矩阵D及D的逆矩阵D—1;(5)根据共邻矩阵M,和逆矩阵D—1求出标准矩阵N0= D-1Mi,然后对标准矩阵NO进行特征值分解,求出特征值X1, λ2,…,λ Ν和对应的特征向量V1, V2,…,Vn,对N个特征值降序排列为λ ' A λ丨Ν,与这N个降序排列的特征值相对应的降序排列后的特征向量分别为V' ,,N' 2,…,V' Ν,每个降序排列后的特征向量都用列表示,把所有降序排列后的特征向量按列堆叠构成了一个矩阵V',那么V'中每一列代表一个降序排列后的特征向量,每一行则代表了一个节点,节点的维数为N,求出降序排列后的特征向量V' 2的最大值和最小值分别为a = max(v' 2) b = min(V/ 2);(6)设定自适应多目标和声搜索算法的各个参数,初始化大小为S的父代和声记忆库 H(t) = (H1 (t),H2 (t), ···,&(!:)}, t = O :每一个和声 Hi (t), i = I, 2,…,S 包括标记部分和中心部分两个部分,标记部分为4 (O = {flaSi, fla8i,fla8K_ } Jagl, Jlag2,均是0_I之间随机分布的随机数,中心部分为化(O = {center^center,,...,center^ } ,Centerl, Center2,…,center K 均是a-b之间随机分布的随机数,Kfflax为设定的参数,表示社区的最大个数;(7)确定父代和声记忆库H(t)= (H1 (t),H2(t),…,Hs(t)}中的每一个和声的社区中心,计算每一个和声中每一个节点到所有社区中心的距离,把所有节点划分到距离最近的那个社区中,得到每个和声的社区划分;(8)根据得到的社区划分计算父代和声记忆库中每个和声的适应度;(9)设t= t+Ι,求出当前迭代的和声保留概率、音调微调概率和带宽,用和声搜索算法产生子代和声记忆库H(t);(10)对子代和声记忆库H(t)执行步骤(7)-(8);(11)合并父代和声记忆库和子代和声记忆库,并对其进行快速非支配排序,产生临时子代和声记忆库H' (t);(12)对临时子代和声记忆库H'(t)进行局部学习,得到更新的临时子代和声记忆库 H"⑴;(13)对更新的临时子代记忆库H"(t)进行快速非支配排序,选出前S个和声,将其作为父代和声记忆库H(t),对父代和声记忆库H(t)进行快速非支配排序,得到非支配和声;(14)判断当前迭代次数是否满足最大迭代次数,如满足,执行步骤(15),否则返回步骤(9);(15)取出父代和声记忆库H(t)中的非支配和声作为最终的解集;(16)从最终的解集中找出模块度最大的和声,将这个和声放入大小为I的和声记忆库中,作为父代和声记忆库,并执行步骤(7),得到对应的社区划分,作为最终的社区划分结果O
2.根据权利要求I所述的基于共邻矩阵谱信息的多目标社区检测方法,其中步骤(7) 所述的确定父代和声记忆库H (t) = (H1 (t), H2 (t), ···, Hs (t)}中的每一个和声的社区中心,按如下步骤进行(7a)根据父代和声记忆库中每一个和声Hi (t)的标记部分Ii1 (t)的值f Iagj判断对应的社区中心center」是否被激活,如果flag」彡O. 5,则对应的社区中心center」被激活,否则不被激活,其中,i = 1,2,…,S,S表示父代和声记忆库的大小,j = 1,2,…,Kmax, Kmax 表示社区的最大个数;(7b)求出降序排列后的特征向量V' 2中的每个值到所有被激活的中心的距离,并用 Vf 2中距离被激活中心最近的值代替被激活中心,成为社区中心。
3.根据权利要求I所述的基于共邻矩阵谱信息的多目标社区检测方法,其中步骤(8) 所述的根据得到的社区划分计算父代和声记忆库中每个和声的适应度,按如下步骤进行(Sa)借鉴以邻接矩阵为基础的模块度的定义,修正共邻矩阵为基础的共邻模块度的定义为Q(B) =Σ ceB[|N(c) |/η-( Σ ve cN(v)/(2n))2],其中,B为所有的社区的组合,c为其中的一个社区,η为整个网络中各节点对之间修正共同邻节点的个数,|N(c)|为社区c中所有节点对之间的修正共同邻节点的个数的和, N(V)为节点ν与网络中所有节点之间修正共同邻节点的个数的和;(Sb)对共邻模块度的公式进行拆分,用I减去该公式中的第一部分Σ eeB(|N(c) |/n) 作为第一个目标函数,表示为intra(B) = I- Σ eeB(|N(c) I/n),将该公式中的第二部分 Σ ceB( Σ veeN(v)/(2n))2 作为第二个目标函数,表示为 inter(B) =Σ ceB( Σ vecN(v)/ (2η))2;(8c)计算整个网络中各节点对之间修正共同邻节点的个数η,根据每个和声的社区划分,得到所有的社区B以及每个社区中的节点,分别统计每个社区中所有节点对之间的修正共同邻节点的个数的和|n(c) I和每个社区中每个节点ν与网络中所有节点之间的修正共同邻节点的个数的和N(V),然后将计算结果代入以上两个目标函数,得到父代和声记忆库中每个和声的适应度。
4.根据权利要求I所述的基于共邻矩阵谱信息的多目标社区检测方法,其中步骤(9) 所述的计算当前迭代的和声保留概率、音调微调概率和带宽,按如下公式计算和声保留概率HMCR (t) = HMCRmax-(HMCRmax-HMCRmin) Xt/T,音调微调概率PAR(t) = PARmin+(PARmax-PARmin) Xt/T,带宽BW(t) = Bffmax exp(ln(Bffmin/Bffmax) Xt/T),其中,HMCRmax, HMCRmin分别为和声保留概率的最大值和最小值,PARmax, PARmin分别为音调微调概率的最大值和最小值,BWmax,BWmin分别为带宽的最大值和最小值,t为当前迭代数, T为最大迭代次数。
5.根据权利要求I所述的基于共邻矩阵谱信息的多目标社区检测方法,其中步骤(12) 所述的对临时子代和声记忆库H' (t)进行局部学习,得到更新的临时子代和声记忆库 H" (t),按如下步骤进行(12a)从临时子代和声记忆库H' (t)中选出前20%个和声构成大小为L的局部和声记忆库 x(t) = (X1 (t), X2 (t), ···, Xl(t)};(12b)在局部和声记忆库X (t) = (X1 (t),X2(t), -,XL(t)}的基础上用和声搜索的方式产生大小为L的新局部和声记忆库X' (t) = {X' i(t),X' 2(t),…,V Jt)},对新局部和声记忆库执行权利要求I的步骤(7)-(8);(12c)对每一个新和声X' At)进行判断如果新和声X' Jt)能够支配临时子代记忆库H' (t)中所有的和声,则将新和声X' Jt)加入到临时子代记忆库H' (t)中,否则不加入,对每一个新和声Γ Jt)都判断完成后得到更新的临时子代记忆库H" (t),其中, i = 1,2,…,L,L为新局部和声记忆库的大小。
全文摘要
本发明提出了一种基于修正共邻矩阵谱信息的多目标社区检测方法,主要解决的是现有的社区检测方法分辨率低及对于大型网络时间复杂度高的问题。其实现步骤为根据网络构造共邻矩阵并修正;提取修正共邻矩阵的谱信息;用谱信息初始化父代记忆库,求出父代记忆库的适应度;用和声搜索算法从父代记忆库中产生子代记忆库,并求出子代记忆库的适应度;合并父代和子代记忆库,对其进行非支配排序得到临时记忆库;对临时记忆库进行局部学习,得到更新的临时记忆库,从更新的临时记忆库中得到下次迭代的父代记忆库;如果达到最大迭代次数,取出父代记忆库中所有非支配解作为最终解集,否则继续迭代。本发明具有提高社区检测分辨率和降低时间复杂度的优点。
文档编号H04L29/08GK102594909SQ20121006684
公开日2012年7月18日 申请日期2012年3月14日 优先权日2012年3月14日
发明者于昕, 公茂果, 刘若辰, 尚荣华, 李阳阳, 焦李成, 陈静, 马文萍 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1