一种基于动态种群鲸鱼优化算法的社区检测方法技术

技术编号:23085740 阅读:30 留言:0更新日期:2020-01-11 01:23
本发明专利技术公开了一种基于动态种群鲸鱼优化算法的社区检测方法,依据网络的拓扑结构初始化鲸鱼群体;更新各鲸鱼的位置。改进了鲸鱼的三种位置更新方式,定义了新的变异操作(单基因变异和联合基因变异)和边界节点调整策略;提供了自适应算法迭代结束条件、动态种群策略以及社区融合策略增加种群多样性以提高社区检测结果的质量和算法效率并消除异常小社区,使鲸鱼算法能够较好的应用于社区检测(社区标签为符号空间搜索问题)。本发明专利技术能够准确高效地检测得到网络中具有较高质量的非重叠社区结构。

A community detection method based on dynamic population whale optimization algorithm

【技术实现步骤摘要】
一种基于动态种群鲸鱼优化算法的社区检测方法
本专利技术涉及数据挖掘领域,尤指划分网络中的非重叠社区结构。
技术介绍
现实世界中的许多复杂的问题或系统,例如电力系统、交通网络、计算机网络、生态系统等,直接研究这些问题或系统都是十分困难的。网络是一种能够帮助我们研究问题的有效工具,网络具有小世界特性、无标度特性、高群聚特性等都能够帮助我们研究复杂问题或系统,因此将复杂的问题或系统抽象为网络并加以研究成为近年来的研究热点。社区检测技术能够帮助我们分析网络中的局部特性,并进一步挖掘网络更深层次的结构关系。社区检测技术有许多方法,与已有的社区检测算法相比基于群体智能优化的社区检测方法表现出显著的优势。群体智能优化算法是一种较为新颖的优化算法,它不依赖于梯度,因此能够应用于社区检测这类离散空间问题。目前已有一些基于群体智能的社区发现方法,例如1)Q.Liu,B.Zhou,S.D.Li,A.P.Li,P.ZouandY.Jia,“Communitydetectionutilizinganovelmulti-swarmfruitflyoptimizationalgorithmwithhill-climbingstrategy,”ArabianJournalforScienceandEngineering,vol.41,pp.807-828,2016.2)R.H.Shang,J.Bai,L.C.JiaoandC.Jin,“Communitydetectionbasedonmodularityandanimprovedgeneticalgorithm,”PhysicaA:StatisticalMechanicsanditsApplicationsvol.392,pp.1215-1231,2013.3)Q.Cai,M.G.Gong,L.J.Ma,S.S.Ruan,F.Y.YuanandL.C.Jiao,“Greedydiscreteparticleswarmoptimizationforlarge-scalesocialnetworkclustering,”InformationSciences316:503-516,2015.但这些已有的基于群体智能优化算法的社区方法普遍存在容易陷入局部最优和时间复杂度过高等问题。例如1)是基于果蝇优化的社区检测方法,在该方法中作者采用了多种群策略来提升算法的搜索能力,但这也使得算法需要消耗大量的时间。2)是基于基因算法的社区检测算法,该方法以寻找最大模块度作为划分目标,因此这导致该方法划分社区结果的准确率不高。3)是基于粒子群优化的社区检测方法,该方法采用了一种贪婪思想,这使得该算法更有可能得到较好的结果,但同时也使得该算法更容易陷入局部优化问题。已有的这些方法存在局部最优和时间复杂度较高的问题,为了解决这些问题,本方法将一种新颖且稳健的鲸鱼优化算法应用于社区发现。但鲸鱼优化算法适用连续数值问题,并不能很好的应用于社区发现这种符号空间搜索问题。因此,本方法对鲸鱼算法进行改进使鲸鱼算法能很好的应用于社区发现,同时本方法也加入了多种策略来提高算法性能,最终提出了一种基于动态种群鲸鱼优化算法的社区检测方法。
技术实现思路
鉴于现有技术的以上不足,本专利技术的目的是提出一种更加稳定高效的基于群体智能优化的社区检测方法。其手段如下:一种基于动态种群鲸鱼优化算法的社区检测方法,首先输入网络数据G=(V,E)并给定鲸鱼群体规模m=200、变异概率θ=0.3以及自适应迭代结束参数ST=0;然后使用LAR方式初始化m只鲸鱼作为鲸鱼群体P={X1,X2,…,Xm};再计算群体中每只鲸鱼的质量F={f1,f2,…,fm},质量最高的鲸鱼个体作为猎物X*;在算法的每一次迭代中都需要对群体P中每一只鲸鱼进行位置更新、变异以及边界节点调整操作并得到更新后的鲸鱼群体P={X1,X2,…,Xm};计算P={X1,X2,…,Xm}中每只鲸鱼的质量F={f1,f2,…,fm};如果P={X1,X2,…,Xm}中的质量最高的鲸鱼大于X*的质量,那么更新并令ST=0,对P进行动态种群调整;否则表明在当前迭代中没有质量更高的鲸鱼出现,那么ST=ST+1;如果ST<5那么算法继续迭代更新P中每一只鲸鱼,否则结束迭代,并对X*执行社区融合操作,并将融合后的结果作为网络的社区划分结果输出;具体步骤如下:步骤1:输入网络为网络的邻接矩阵,并输入m=200作为鲸鱼的初始种群规模、θ=0.3作为变异概率、ST=0作为自适应结束参数、t=0表示当前迭代次数以及T=10为参考迭代次数;步骤2:采用LAR方式初始化m只鲸鱼作为鲸鱼种群P={X1,X2,…,Xm},并计算群体P中每一只鲸鱼的质量F={f1,f2,…,fm},且质量最高的鲸鱼作为猎物X*;在LAR方式初始化中,每只鲸鱼Xi都是一个染色体Xi={g1,g2,…,gn},染色体中的每一个基因都对应网络中的一个节点,因此n是网络中节点的个数;步骤3:当前迭代次数t=t+1,并分别对鲸鱼种群P={X1,X2,…,Xm}中的每一只鲸鱼Xi进行更新操作(i={1,2,…,m},更新操作包括三个步骤依次为:位置更新、变异、边界节点调整;这三个步骤的详细介绍如下:3.1位置更新当对鲸鱼个体进行位置更新时,随机选择三种方式1)游向猎物、2)搜寻猎物、3)环绕猎物之一来进行位置更新;随机初始化两个参数a和b作为位置更新选择参数;a和b是随机生成数且a,b∈[0,1];当a<0.5且b<0.5时,Xi选择“游向猎物”;当a<0.5且b≥0.5时,Xi选择“搜寻猎物”;当a≥0.5时,Xi选择“环绕猎物”;所述三种位置更新方式描述如下:“游向猎物”Xi为当前要更新位置的鲸鱼个体,X*为猎物;“游向猎物”是Xi向X*学习的过程,本方法将学习过程定义为基因的学习过程;基因学习是指用X*中δ个基因来替代Xi中对应的基因;δ的计算公式如下:其中,ρ是学习速率,一般ρ∈(0,1],本专利技术采用ρ=0.2;t为当前迭代次数,T为参考迭代次数且采用T=10;计算得到Xi的δ后,从X*的基因集合{g1,g2,…,gn}中有放回的抽样得到δ个基因来代替Xi中对应位置的基因,这样便实现了Xi游向X*;“搜寻猎物”通过鲸鱼Xi的随机游走的方式来寻找质量高于X*的猎物;即鲸鱼Xi向N个鲸鱼PN={X1,X2,…,XN}学习的过程,其中N=5且PN中的鲸鱼是从集合P={X1,X2,…,Xm}中无放回抽样得到的;Xi分别向PN中的每一只鲸鱼进行基因学习,这里的基因学习与“游向猎物”相同,但学习基因个数δ′=δ/5;“环绕猎物”Xi环绕X*表示Xi中的每个基因都有一定概率被X*中的对应基因替代,通过螺旋曲线函数来拟合Xi向X*基因替代概率,螺旋曲线函数被定义如下:其中,r∈[0,1]表示每个基因替代概率;b是一个常数,本方法令b=1;l是一个随机数且l∈[0,1],当Xi环绕X*时初始化一个随机数l,并将l带入上式求得Xi的基因被本文档来自技高网
...

【技术保护点】
1.一种基于动态种群鲸鱼优化算法的社区检测方法,首先输入网络数据G=(V,E)并给定鲸鱼群体规模m=200、变异概率θ=0.3以及自适应迭代结束参数ST=0;然后使用LAR方式初始化m只鲸鱼作为鲸鱼群体P={X

【技术特征摘要】
1.一种基于动态种群鲸鱼优化算法的社区检测方法,首先输入网络数据G=(V,E)并给定鲸鱼群体规模m=200、变异概率θ=0.3以及自适应迭代结束参数ST=0;然后使用LAR方式初始化m只鲸鱼作为鲸鱼群体P={X1,X2,…,Xm};再计算群体中每只鲸鱼的质量F={f1,f2,…,fm},质量最高的鲸鱼个体作为猎物X*;在算法的每一次迭代中都需要对群体P中每一只鲸鱼进行位置更新、变异以及边界节点调整操作并得到更新后的鲸鱼群体P={X1,X2,…,Xm};计算P={X1,X2,…,Xm}中每只鲸鱼的质量F={f1,f2,…,fm};如果P={X1,X2,…,Xm}中的质量最高的鲸鱼大于X*的质量,那么更新并令ST=0,对P进行动态种群调整;否则表明在当前迭代中没有质量更高的鲸鱼出现,那么ST=ST+1;如果ST<5那么算法继续迭代更新P中每一只鲸鱼,否则结束迭代,并对X*执行社区融合操作,并将融合后的结果作为网络的社区划分结果输出;具体步骤如下:
步骤1:输入网络G=(V,E),为网络的邻接矩阵,并输入m=200作为鲸鱼的初始种群规模、θ=0.3作为变异概率、ST=0作为自适应结束参数、t=0表示当前迭代次数以及T=10为参考迭代次数;
步骤2:采用LAR方式初始化m只鲸鱼作为鲸鱼种群P={X1,X2,…,Xm},并计算群体P中每一只鲸鱼的质量F={f1,f2,…,fm},且质量最高的鲸鱼作为猎物X*;在LAR方式初始化中,每只鲸鱼Xi都是一个染色体Xi={g1,g2,…,gn},染色体中的每一个基因都对应网络中的一个节点,因此n是网络中节点的个数;
步骤3:当前迭代次数t=t+1,并分别对鲸鱼种群P={X1,X2,…,Xm}中的每一只鲸鱼Xi进行更新操作(i={1,2,…,m},更新操作包括三个步骤依次为:位置更新、变异、边界节点调整;这三个步骤的详细介绍如下:
3.1位置更新
当对鲸鱼个体进行位置更新时,随机选择三种方式1)游向猎物、2)搜寻猎物、3)环绕猎物之一来进行位置更新;随机初始化两个参数a和b作为位置更新选择参数;a和b是随机生成数且a,b∈[0,1];当a<0.5且b<0.5时,Xi选择“游向猎物”;当a<0.5且b≥0.5时,Xi选择“搜寻猎物”;当a≥0.5时,Xi选择“环绕猎物”;
所述三种位置更新方式描述如下:
“游向猎物”
Xi为当前要更新位置的鲸鱼个体,X*为猎物;“游向猎物”是Xi向X*学习的过程,本方法将学习过程定义为基因的学习过程;基因学习是指用X*中δ个基因来替代Xi中对应的基因;δ的计算公式如下:



其中,ρ是学习速率,一般ρ∈(0,1],本发明采用ρ=0.2;t为当前迭代次数,T为参考迭代次数且采用T=10;计算得到Xi的δ后,从X*的基因集合{g1,g2,…,gn}中有放回的抽样得到δ个基因来代替Xi中对应位置的基因,这样便实现了Xi游向X*;
“搜寻猎物”
通过鲸鱼Xi的随机游走的方式来寻找质量高于X*的猎物;即鲸鱼Xi向N个鲸鱼PN={X1,X2,…,XN}学习的过程,其中N=5且PN中的鲸鱼是从集合P={X1,X2,…,Xm}中无放回抽样得到的;Xi分别向PN中的每一只鲸鱼进行基因学习,这里的基因学习与“游向猎物”相同,但学习基因个数δ′=δ/5;
“环绕猎物”
Xi环绕X*表示Xi中的每个基因都有一定概率被X*中的对应基因替代,通过螺旋曲线函数来拟合Xi向X*基因替代概率,螺旋曲线函数被定义如下:



其中,r∈[0,1]表示每个基因替代概率;b是一个常数,本方法令b=1;l是一个随机数且l∈[0,1],当Xi环绕X*时初始化一个随机数l,并将l带入上式求得Xi的基因被X*替换的概率r;遍历Xi={g1,g2,…,gn}中的基因,并对于每一个基因gj都需要初始...

【专利技术属性】
技术研发人员:陈红梅封云飞李天瑞胡节王澍
申请(专利权)人:西南交通大学
类型:发明
国别省市:四川;51

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

1