CN109921936A - 基于memetic框架的多目标动态网络社区划分方法 - Google Patents
基于memetic框架的多目标动态网络社区划分方法 Download PDFInfo
- Publication number
- CN109921936A CN109921936A CN201910190769.7A CN201910190769A CN109921936A CN 109921936 A CN109921936 A CN 109921936A CN 201910190769 A CN201910190769 A CN 201910190769A CN 109921936 A CN109921936 A CN 109921936A
- Authority
- CN
- China
- Prior art keywords
- community
- node
- identifier
- algorithm
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于memetic框架的多目标动态网络社区划分方法,包括三个步骤,分别为:步骤100、建立memetic算法框架;步骤200、在memetic框架下,将模块度密度函数D加权得到的优化型模块度密度函数Dλ,同归一化互信息NMI,嵌入到代价目标函数中求取最小化优化目标函数;步骤300、采用直接式整数编码的方式,结合基于标识符传递的初始化机制、双路交叉遗传算法和自爬山算法的搜索方式获取最优社区结构,本发明种群多样性高,搜索空间少,能够实现社区结构的精细化划分,同时算法效率高,社区划分精度细。
Description
技术领域
本发明涉及动态复杂网络社区分析技术领域,具体为一种基于memetic框架的多目标动态复杂网络社区分析算法。
背景技术
很多复杂系统可以用复杂网络来表述,如互联网、电力系统、社交关系网、交通系统等等。用户之间通过通讯进行交流时,就形成了一张社交关系网络,这种网络是随着时间不断变动的,可建模为动态复杂网络。将一个复杂网络中的节点按照规则进行分区,每一个这样的分区被称为一个社区。同一个社区的节点具有较高的连接度,不同社区间的节点连接度则较低。社区内的节点具有许多相同的属性,因而复杂网络的社区结构检测对于研究网络特性非常重要。
网络社区主要有两类检测方法。
一类是启发式方法,通过某种启发规则或直观性假设来寻找社区,其中较为经典的 Girvan-Newman(GN)算法,快速的标签传播算法(LPA)等。
另一类是优化方法,Newman等人将标准模块度Q作为一个衡量网络划分质量的指标,从而将社区检测转化为按照目标函数进行优化,典型算法有Newman快速算法、Fastmodularity算法以及在此基础上延伸出的多目标优化算法,如MOGA算法。但是模块度Q存在分辨率限制的问题,为此,Li等人提出了基于平均模块度概念来评论社区划分的优劣,该方法中的准则函数称为模块度密度(modularity density)或D值。Chi提出谱聚类进化算法之后,动态社区检测转化为代价函数的优化问题,代价函数由快照代价和时间代价组成,其中快照代价是衡量当前时刻网络的聚类质量的指标,时间代价是衡量当前时刻和相邻前一时刻聚类结果相似程度的指标。
此后,提出了FacetNet模型,通过分解非负矩阵的方法可以同时分析出社区结构及其演化过程,但事先需要知道网络中的社区数目,这大大限制了它的应用范围。为避免这一局限性, Han等人提出了基于粒子和密度的进化聚类检测机制,采用用户自定义参数来调整代价函数的权重配比,可以使用在不同时间阈值和社区数量不固定的动态网络社区检测场景中。为了摆脱上述算法人为干涉权重配比的限制,引入多目标优化策略,避免单一的全局最优解,从而产生一系列互不支配的解,称为Pareto解。
Folino和Pizzui将社区得分(CS)和归一化互信息(NMI)作为两个目标函数,把动态社会网络社区检测及其社区演化问题用多目标优化的遗传算法方法进行求解,在小规模的动态网络上取得了较好的成效。
在此之后出现了许多的多目标优化算法,例如,Lung的基于博弈论和极值优化的动态社区发现算法、Ma等人的基于分解的多目标进化算法、Gong等人的基于非支配邻域免疫算法的动态社区检测算法和Wang等人研究的加权检测算法等,这些算法也都通过实验证实具有一定的有效性。
发明内容
发明目的:为了克服现有技术中存在的不足,本发明提供一种基于memetic框架的多目标动态网络社区划分方法,其种群多样性高,搜索空间少,能够实现社区结构的精细化划分,同时算法效率高,社区划分精度细。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种基于memetic框架的多目标动态网络社区划分方法,包括以下步骤:
步骤100、建立memetic算法框架;
步骤200、在memetic框架下,将模块度密度函数D加权得到的优化型模块度密度函数 Dλ,同归一化互信息NMI,嵌入到代价目标函数中求取最小化优化目标函数;
步骤300、采用直接式整数编码的方式,结合基于标识符传递的初始化机制、双路交叉遗传算法和自爬山算法的搜索方式获取最优社区结构。
优选地,所述memetic算法框架包括:
输入:动态网络G={G1,G2,...,GT},G1,G2,...,GT表示每个时刻对应的网络,T表示动态网络的总时间步;
参数:种群的规模N;;交叉概率pc;变异概率pm;迭代次数t;最大迭代次数max_gen,时间步tl;
第一步、使用MOGA-net检测算法对初始时刻的网络G1进行社区划分,获得第一个时刻 G1的社区划分结果tl=2,k表示G1网络划分的社区个数;
第二步、判断终止条件tl≥T满足,则输出结果C={C1,C2,...,CT},否则,转向第三步;
第三步、种群初始化:基于标识符传递机制的父代初始化操作,并分别计算所有个体的适应值F,此时,t=0;
第四步、子代个体产生:根据个体适应度是高低,进行正比选择策略生成交配池,在交配池中进行双路交叉和基于邻位基因值的变异操作,产生子代个体,其中交叉概率pc和变异概率pm使用自适应优化;
第五步、种群更新:进行爬山式局部搜索,从当前父代个体及子代个体中选出适应度值F最高的N个个体,更新之前的父代种群,生成新的父代种群;
第六步、t=t+1,如果t=max_gen,从非占有解中选择模块度大的最优解,输出当前时刻的社区划分结果,否则,转向第四步;
第七步、tl=tl+1,转向第二步;
输出:动态网络G对应的每个时刻下的社区结构C={C1,C2,...,CT}。
优选地,所述最小化优化目标函数的求取方法包括:
假设V1和V2是网络G的节点集V的两个不相交的节点子集,定义 其中Aij表示邻接矩阵中的元素值, L(V1,V1)表示社区的内度,表示社区的外度;则模块度密度函数D为:
式中:表示社区i的平均内度之和,用RA表示,表示社区i的平均外度之和,用RC表示;
RA和RC是共同体现优质划分的两个互补特性,当RA越大时表示社区的平均内度越大,即社区内节点连接越紧密,社区数目越多,则社区规模较小;
当RC越小时表示社区平均外度越小,即社区间的节点连接越稀松;
因此,D值越大,社区划分越为准确;
对模块度密度函数D加入权重调节参数λ,将模块度密度函数D看做两个目标函数的组合,变成Dλ:
利用归一化互信息NMI描述相邻时刻算法划分结果之间的相似程度,可以衡量动态社区相邻时刻的复杂网络结构;
假设网络G的两种划分分别为s1和s2,设H为混合矩阵,H中的元素Hij表示在s1划分情况下社区i中的节点同时也出现在s2划分情况下社区j中的数量;s1和s2之间的定义NMI为:
其中,np1和np2分别是s1和s2划分中的社区个数,Hi和Hj分别为H中第i行和第j列的元素之和,N为网络中所有节点的数量;
如果s1=s2,则NMI(s1,s2)=1;
如果s1和s2完全不同,则NMI(s1,s2)=0;
NMI的值越大,表示s1和s2之间的相似度越高;
NMI值表示两个社区的接近程度,用来评估社区划分算法的结果优劣,高的NMI说明从一个时间步到下一个时间步的社区没有发生大的变化,是瞬时顺滑的。
采用优化模块度密度Dλ和归一化互信息NMI分别作为代价函数中的快照代价SC和时间代价TC:
代价函数cost=α·SC+(1-α)·TC;
其中,SC衡量的是在某一时刻t下社区结构的质量;TC衡量的是当前t时刻下的社区结构st和t-1时刻下社区结构st-1之间的一致性;参数α是权重参数,可以改变相邻两社区之间的结构差。
得到最小化优化目标函数F=σ-αDλ-(1-α)NMI;
其中,σ是一常数。
优选地,所述步骤300直接式整数编码包括:
对网络G的一个社区划分s可以编码为一个整型字符串X={x1,x2,...,xN},其中X代表染色体,N代表网络G中的节点总数,xi(i=1,2,...,N)为节点vi的社区整型标识符,带有相同标识符的节点被视为处于相同社区。
优选地,所述基于标识符传递的初始化机制包括:
假设一个网络中节点数量为N,种群初始化前,所有染色体都为同样的整数编码{1,2,...,N};
首先随机选择个体中的一个节点i,假设节点i有k个邻居节点,邻居节点集为A(i),邻居节点标识符集合为S(i)={x1,x2,...,xk},网络中的每个节点标识符的初始化取决于其邻居集中的标识符;
若节点i的邻居集中所有节点的标识符都不同,则随机选择一个邻居标识符去覆盖原来的xi;
若节点i的邻居集中存在节点具有相同标识符的情况,则选择具有最大比例的那个标识符去覆盖原来的xi。
优选地,所述双路交叉遗传算法包括:
交叉步骤:
假设存在两个亲代染色体Xa和Xb,两个染色体上的节点顺序相互对应;
首先在染色体Xa上随机选择一个节点vi,vi的标识符为然后找出染色体Xa中所有标识符和vi相同的节点,即找出和节点vi处于同一个社区的节点,将这些节点在染色体Xb中的标识符也改为生成子代个体Xc;
同时,找出染色体Xb中同样位置的节点vi以及和节点vi的标识符相同的节点,将这些节点在染色体Xa中的标识符也改为即生成子代个体Xd;交叉后的两个新染色体Xc和Xd生成;
变异步骤:
采用基于邻位基因值的变异方式;在交叉后的染色体中随机挑选一个节点,然后将这个节点的标识符随机地变为其任意邻居节点的标识符,其中这些节点变异方向所能取到的标识符值被限定在其邻居节点的标识符值之中;
求取交叉概率pm和变异概率pc:
使用logistic函数中来构造自适应的pc和pm;
其中,β1和β2是两个常数,β1∈(0,+∞),β2∈(0,1);pc∈(0.4,0.9),pm∈(0,0.1)。
优选地,所述爬山算法包括:
将全局搜索中得到的Pareto解集看作局部搜索对象,通过爬山算法局部搜索产生最优解;
局部优化的适应度函数为RA和RC的权重和;
F1=fmax+ω1RA-ω2RC+x;
其中,fmax为保证适应值为非负的常数,x为0.05;
ω1=i/N,i为种群中的个体序号,N为种群规模,ω2=1-ω1。
本发明相比现有技术,具有以下有益效果:
(1)本发明本文采用memetic算法框架,利用遗传算法进行全局搜索,采用基于标识符传递的初始化机制、双路交叉和自适应优化等策略,即能够提高种群多样性,又减少搜索空间,提高算法效率。
(2)将单目标寻优拓展为多目标寻优方式,使用最小化思想改进模块度密度,既可以避免传统Q值带来的分辨率限制,也可以降低算法复杂度,从而降低时间消耗,再将多目标函数引入调节参数,通过调节参数的变化可以调节社区检测结构,可以实现社区结构的精细化发现,避免出现极大社区,能够检测出动态网络的社区结构关系。
(3)在全局搜索中加入局部搜索,局部搜索采用爬山式智能算法,利用启发式方法进行深度优先搜索更好解替代旧解,最终获得最优解,有效的加速算法收敛,避免传统遗传算法所导致的陷入局部最优问题,可以有效的提高算法速度和社区划分精度。
附图说明
图1为本发明的流程图;
图2为本发明实施方式中4个不同算法在VAST动态数据集上得到的结果值,其中图2(a)为NMI值,图2(b)为Q值;
图3为本发明实施方式中DYN-SMFMCD算法在VAST数据集上社区划分图,其中图3(a)为时刻3的DYN-SMFMCD算法在VAST数据集上社区划分图,图3(b)为时刻9的 DYN-SMFMCD算法在VAST数据集上社区划分图;
图4为本发明实施方式中DYN-SMFMCD算法在学生接触数据集上的结构划分图,其中图4(a)为时刻2的DYN-SMFMCD算法在学生接触数据集上的结构划分图,图4(b)为时刻3的DYN-SMFMCD算法在学生接触数据集上的结构划分图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1所示,本发明提供了一种基于memetic框架的多目标动态网络社区划分方法,包括以下步骤:
步骤100、建立memetic算法框架;
步骤200、在memetic框架下,将模块度密度函数D加权得到的优化型模块度密度函数 Dλ,同归一化互信息NMI,嵌入到代价目标函数中求取最小化优化目标函数;
步骤300、采用直接式整数编码的方式,结合基于标识符传递的初始化机制、双路交叉遗传算法和自爬山算法的搜索方式获取最优社区结构。
在本实施方式中,社区的定义为:
动态复杂网络是随着时间不断演变的网络,采用时刻、节点和边进行描述,即G={G1,G2,...,Gt}。
其中,Gt=<Vt,Et>表示第t个时刻的网络,Vt是指第t个时刻网络中的节点集合,Et是指第t个时刻网络中的边集合。
网络中的社区是指所有节点通过划分而形成的子集,子集具有内部节点连接紧密,子集与子集之间的节点连接相对稀疏的特点。
定义节点i的度为ki=∑jAij,表示与i具有连接关系的节点之和,其中A=[Aij]为图Gt的邻接矩阵,j为Gt中其它节点,若节点i与j存在连接关系则Aij=1,否则取0。定义s是网络Gt的一个社区,那么s中节点的度为其内度与外度之和,其中内度是节点i与s内其余节点连接的总数,外度是节点i与s以外节点连接的总数,表示为:
其中,当时表示s是强社区;当时表示s是弱社区,下文的研究都是建立在弱社区概念之上。
动态网络的社区结构是由各个时刻下社区划分结果组成的集合,即当第t个时刻下网络 Gt由k个社区构成,得到划分结果为则所有时刻下的社区划分结果C={C1, C2,…,Ct}构成了整个动态社区结构。
为了研究动态社区的检测机制的需要,假设相邻时刻社区变化是相对平缓的。
在本实施方式中,memetic算法框架包括:
输入:动态网络G={G1,G2,...,GT},G1,G2,...,GT表示表示每个时刻对应的网络,T表示动态网络的总时间步;
参数:种群的规模N;交叉概率pc;变异概率pm;迭代次数t;最大迭代次数max_gen,时间步ti;
第一步、使用MOGA-net检测算法对初始时刻的网络G1进行社区划分,获得第一个时刻 G1的社区划分结果tl=2,k表示G1网络划分的社区个数;
第二步、判断终止条件tl≥T满足,则输出结果C={C1,C2,...,CT},否则,转向第三步;
第三步、种群初始化:基于标识符传递机制的父代初始化操作,并分别计算所有个体的适应值F,此时,t=0;
第四步、子代个体产生:根据个体适应度是高低,进行正比选择策略生成交配池,在交配池中进行双路交叉和基于邻位基因值的变异操作,产生子代个体,其中交叉概率pc和变异概率pm使用自适应优化;
第五步、种群更新:进行爬山式局部搜索,从当前父代个体及子代个体中选出适应度值 F最高的N个个体,更新之前的父代种群,生成新的父代种群;
第六步、t=t+1,如果t=max_gen,从非占有解中选择模块度大的最优解,输出当前时刻的社区划分结果,否则,转向第四步;
第七步、tl=tl+1,转向第二步;
输出:动态网络G对应的每个时刻下的社区结构C={C1,C2,...,CT}。
在本实施方式中,最小化优化目标函数的求取方法如下:
假设V1和V2是网络G的节点集V的两个不相交的节点子集,,定义 其中Aij表示邻接矩阵中的元素值,L(V1,V1)表示表示社区的内度,表示表示社区的外度;则模块度密度函数D为:
式中:表示社区i的平均内度之和,用RA表示,表示社区i的平均外度之和,用RC表示;
RA和RC是共同体现优质划分的两个互补特性,当RA越大时表示社区的平均内度越大,即社区内节点连接越紧密,社区数目越多,则社区规模较小;
当RC越小时表示社区平均外度越小,即社区间的节点连接越稀松;
因此,D值越大,社区划分越为准确;
实验证明,基于模块度密度的优化算法在检测社区结构时,不管是网络被划分为很大规模的社区还是很小规模的社区,都不存在分辨率限制问题。
对模块度密度函数D加入权重调节参数λ,将模块度密度函数D看做两个目标函数的组合,变成Dλ:
利用归一化互信息NMI描述相邻时刻算法划分结果之间的相似程度,可以衡量动态社区相邻时刻的复杂网络结构;
假设网络G的两种划分分别为s1和s2,设H为混合矩阵,H中的元素Hij表示在s1划分情况下社区i中的节点同时也出现在s2划分情况下社区j中的数量;s1和s2之间的定义
NMI为:
其中,np1和np2分别是s1和s2划分中的社区个数,Hi和Hj分别为H中第i行和第j列的元素之和,N为网络中所有节点的数量;
如果s1=s2,则NMI(s1,s2)=1;
如果s1和s2完全不同,则NMI(s1,s2)=0;
NMI的值越大,表示s1和s2之间的相似度越高;
NMI值表示两个社区的接近程度,用来评估社区划分算法的结果优劣,高的NMI说明从一个时间步到下一个时间步的社区没有发生大的变化,是瞬时顺滑的。
采用优化模块度密度Dλ和归一化互信息NMI分别作为代价函数中的快照代价SC和时间代价TC:
代价函数cost=α·SC+(1-α)·TC;
其中,SC衡量的是在某一时刻t下社区结构的质量;TC衡量的是当前t时刻下的社区结构st和t-1时刻下社区结构st-1之间的一致性;参数α是权重参数,可以改变相邻两社区之间的结构差。
得到最小化优化目标函数F=σ-αDλ-(1-α)NMI;
其中,σ是一常数。
在本实施方式中,采用动态网络社区检测中最常用的两种评价指标函数来评价社区划分的质量,分别是归一化互信息NMI和标准模块度Q。
标准模块度Q作为目标函数时会存在分辨率的问题,但在用做评价指标方面却有其不可取代的地位,特别是在网络的真实划分未知时,因此特别适合用于评价动态网络社区划分的优劣:
其中,ki和kj分别是节点i和j的度,m是网络的总边数,A是网络的邻接矩阵,ki kj/2m 表示节点i和j之间所有边数的期望值。
当节点i和j在同一个社区中时,δ(si,sj)=1,否则为0。
当Q值大于0.3时,就可以认为该网络具有较为明显的社区结构,Q值越高说明社区划分质量越好。
在本实施方式中,社区检测是在memetic算法框架下,利用遗传算法和爬山算法,对社区划分空间进行搜索。
编码模式:
采用直接式整数编码的方式,对网络G的一个社区划分s可以编码为一个整型字符串X= {x1,x2,...,xN},其中X代表染色体,N代表网络G中的节点总数,xi(i=1,2,...,N)为节点vi的社区整型标识符,带有相同标识符的节点被视为处于相同社区;这种编码方式的优势在于无需提前知晓网络G中的社区数量,可以从网络划分的结果中获得。具有N个节点的单个网络图最大可以分成N个社区,此时每个社区只有一个节点存在,染色体表示为X={1,2,...,N}。
种群初始化:
采用基于标识符传递的初始化机制。
假设一个网络中节点数量为N,种群初始化前,所有染色体都为同样的整数编码{1,2,...,N};
首先随机选择个体中的一个节点i,假设节点i有k个邻居节点,邻居节点集为A(i),邻居节点标识符集合为S(i)={x1,x2,...,xk},网络中的每个节点标识符的初始化取决于其邻居集中的标识符;
若节点i的邻居集中所有节点的标识符都不同,则随机选择一个邻居标识符去覆盖原来的xi;
若节点i的邻居集中存在节点具有相同标识符的情况,则选择具有最大比例的那个标识符去覆盖原来的xi。
通过这种标识传递的初始化机制,既大大丰富了种群的多样性,连接紧密的节点也能够迅速被赋予共同的标识,具有较高的聚类精度。
遗传操作:
遗传算子由交叉和变异两方面的操作组成。交叉操作从染色体的整体出发,寻找适应值较高的染色体;适当地引入一些突变来增强遗传算法的局部搜索能力。
交叉步骤:
社区内部的节点采用小于等于节点总数的任意整数进行表示,具有较高的多样性,使用一种双路交叉的模式,定义如下:
假设存在两个亲代染色体Xa和Xb,两个染色体上的节点顺序相互对应;
首先在染色体Xa上随机选择一个节点vi,vi的标识符为然后找出染色体Xa中所有标识符和vi相同的节点,即找出和节点vi处于同一个社区的节点,将这些节点在染色体Xb中的标识符也改为生成子代个体Xc;
同时,找出染色体Xb中同样位置的节点vi以及和节点vi的标识符相同的节点,将这些节点在染色体Xa中的标识符也改为即生成子代个体Xd;交叉后的两个新染色体Xc和Xd生成;
这种交叉方式可以产生载有和双亲部分特征完全相同的子代,体现出交叉操作对于亲代资源充分利用的一面;另一方面,这种交叉过程十分具有探索性,它不像单切点交叉或双切点交叉,直接去切断染色体再简单地交换拼接,而是将双亲的特征进行有规律的结合。
表1所示例子里面子代染色体Xc中,v1和v2成为了同一个社区中的节点。
表1双路交叉方式举例(当v2被选择时)
变异步骤:
采用基于邻位基因值的变异方式;在交叉后的染色体中随机挑选一个节点,然后将这个节点的标识符随机地变为其任意邻居节点的标识符,其中这些节点变异方向所能取到的标识符值被限定在其邻居节点的标识符值之中;
这种变异方式优势在于可以保证在变异过后的子代里面,染色体上的所有节点中,除了自身之外,有变化的节点只与其某个邻居有所关联,这可以大大缩小搜索空间,防止无效搜索,提高了算法的效率。
求取交叉概率pm和变异概率pc:
采用自适应的方法来模拟种群中个体本身在发育和遗传时,交配频率和范围、繁殖数量、变异程度会受到环境的变化而变化的情况,即在种群初期需要扩大搜索范围,避免早熟收敛,赋予算法较大的pc和pm;到了种群进化后期需要注重局部范围的搜索,以加快算法的收敛速度,则需要赋予算法较小的pc和pm。
使用logistic函数中来构造自适应的pc和pm;
其中,β1和β2是两个常数,β1∈(0,+∞),β2∈(0,1);pc∈(0.4,0.9),pm∈(0,0.1);这种构造方法比较合理。
局部搜索:
为了提高局部搜索算法的收敛速度和搜索精确度,且避免算法陷入局部最优过早,局部搜索采用爬山算法方式:
将全局搜索中得到的Pareto解集看作局部搜索对象,通过爬山算法局部搜索产生最优解;
局部优化的适应度函数为RA和RC的权重和;
F1=fmax+ω1RA-ω2RC+x;
其中,fmax为保证适应值为非负的常数,x表示扰动参数,x为0.05;
ω1=i/N,i为种群中的个体序号,N为种群规模,ω2=1-ω1;
不同个体的ω1和ω2都不一样,致使在优化函数中进行自适应微调,从而扩大搜索范围。
具体的试验和分析:
利用两个真实动态通讯网络来验证DYN-SMMCD算法的检测性能。
一是VAST数据集(http://vast.cs.uml.edu/vast/repo/);
另一个是麻省理工学院学生接触网络(http://realitycommons.media.mit.edu/realitymining.html)。
(1)VAST数据集来自2006年6月恐怖分子10天的电话记录,一共有400个不同的电话,9834条通讯记录。每个不同的电话可以看做是网络中的节点,两个电话之间的呼叫记录看做是网络中的边。将10天的通话记录按照每天为一组的方式构建一个由10个时刻组成的动态网络.
在图2中(a)、(b)中分别给出了DYN-SMMCD算法、DYN-MOGA、DYN-NNIA和ESCD 在不同时刻的NMI值和Q值。
由图1(a)可知,DYN-SMMCD算法的NMI值明显高于DYN-MOGA和ESCD;在时刻7 时略低于算法DYN-NNIA,其余时刻点均高于算法DYN-NNIA。
说明DYN-SMMCD算法整体上在连续时刻中的瞬时顺滑度要优于其他算法,在时间代价方面消耗更低。
由图1(b)可知,DYN-SMMCD算法的Q值明显高于ESCD和DYN-NNIA;在时刻3、4、 9与DYN-MOGA算法值相近,其余时刻高于DYN-MOGA算法。
这说明DYN-SMMCD算法整体上在全时刻内社区划分质量优于对比算法,划分的结构质量更好。
NMI值和Q值宏观对比可知本算法在检验精度上具有明显的提高,具有较好的社区检测能力,而NMI值和Q值在某些时刻低于对比算法,说明DYN-SMMCD算法中仍然存在一些无效搜索,导致个别时刻点指标较低。
图3给出了DYN-SMMCD算法在VAST数据集上时刻3和时刻9的社区划分图。
从图2(a)中可以观察到网络中5个非常重要的人物erdinando Catalano、DavidVidro、 Estaban Catalano、Jorge Vidro和Juan Vidro(对应于节点201、2、6、3和4)联系较为频繁;
从图2(b)中能观察到节点301、310、307、398和361成为新的中心。
从图2(a)和(b)的对比中可以观察网络结构的变化,即从节点201、2、6、3和4改变到 301、310、307、398和361。
在体现出运动趋势的同时,本算法还能够细分成其他小型联系频繁的社区,如图2(a)中节点16、21和55等所在的小社区,以及图2(b)中节点19、24、31和42等所在的小社区,体现出本算法在划分结构时具有更为细致和精确划分的能力,并体现出追踪到社团的演化特征的能力,这种能力可以让我们从节点的迁移变化中跟踪到犯罪分子,找出其现在所在的联系网络,有效地掌握到犯罪分子的通信网络的迁移情况,进行精准追捕布控,实现高效抓捕。
通过精细化划分之后获得的社区数量多,可以尽量多地发现犯罪参与者,真正实现“疏而不漏”,具有较大的现实意义。
(2)麻省理工学院学生接触的数据,包含有100名学生在九个月内的联系信息。由于它是包含百万个数据的较大数据集,我们无法全部进行分析,因此从中抽取了连续五个时刻作为代表,去验证我们的算法在日常往来中的分区识别、透过电话的联系了解关系亲疏的能力。
图4(a)和(b)显示了时刻2和3时,DYN-SMMCD算法对学生接触数据集的结构划分,明显表现出了社区结构,分别有三个和五个社区。
这再一次验证了DYN-SMMCD算法在通讯网络上划分的能力。也显示出了100名学生的社区结构随着时间变化的迁移情况,直观地展示了随着时间的变化动态网络会不断的产生新社团,消亡旧社团,大社团分裂和小社团结合等现象,本算法具有提取网络社区结构和追踪社区结构的演化能力。
综上,本发明DYN-SMMCD算法采用memetic寻优框架,引入logistic函数模型,构造自适应遗传算子,可以提高收敛速度避免早熟收敛。通过框架内部的局部搜索机制,可以有效地减少搜索空间避免无效搜索,最终降低时间代价。
另外,DYN-SMMCD算法还在遗传算法中使用多目标函数,即Dλ和NMI,其中使用Dλ解决了单纯使用模块度Q可能存在的分辨率限制问题,可以同时优化平均内度和平均外度,降低复杂度的同时可以得到更精确和更细致的社区结构,最终提高快照代价,不同的Pareto最优解还可以从不同层面分析网络划分。在真实的通讯联系网络上的试验结果表明, DYN-SMMCD算法总体上能够提高社区检测的稳定性和准确度,能够有效地体现出动态联系网络的动态演变情况。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (7)
1.一种基于memetic框架的多目标动态网络社区划分方法,其特征在于,包括以下步骤:
步骤100、建立memetic算法框架;
步骤200、在memetic框架下,将模块度密度函数D加权得到的优化型模块度密度函数Dλ,同归一化互信息NMI,嵌入到代价目标函数中求取最小化优化目标函数;
所述最小化优化目标函数的求取方法包括:
根据动态网络G的节点集V的两个不相交的节点子集V1和V2,定义, 其中Aij表示邻接矩阵中的元素值,L(V1,V1)表示社区的内度,表示社区的外度;则模块度密度函数D为:
式中:表示社区i的平均内度之和,用RA表示,表示社区i平均外度之和,用RC表示;
对模块度密度函数D加入权重调节参数λ,将模块度密度函数D看做两个目标函数的组合,得到优化模块度密度Dλ:
动态网络G的两种划分分别为s1和s2,H为混合矩阵,H中的元素Hij表示在s1划分情况下社区i中的节点同时也出现在s2划分情况下社区j中的数量;s1和s2之间的同归一化互信息NMI为:
其中,np1和np2分别是s1和s2划分中的社区个数,Hi和Hj分别为H中第i行和第j列的元素之和,N为网络中所有节点的数量;
如果s1=s2,则NMI(s1,s2)=1;
如果s1和s2完全不同,则NMI(s1,s2)=0;
采用优化模块度密度Dλ和归一化互信息NMI分别作为代价函数中的快照代价SC和时间代价TC:
代价函数cost=α·SC+(1-α)·TC;
其中,SC衡量的是在某一时刻t下社区结构的质量;TC衡量的是当前t时刻下的社区结构st和t-1时刻下社区结构st-1之间的一致性;参数α是权重参数,得到最小化优化目标函数F:
F=σ-αDλ-(1-α)NMI;
其中,σ是一常数;
步骤300、采用直接式整数编码的方式,结合基于标识符传递的初始化机制、双路交叉遗传算法和自爬山算法的搜索方式获取最优社区结构。
2.根据权利要求1所述基于memetic框架的多目标动态网络社区划分方法,其特征在于:所述memetic算法框架包括:
输入:动态网络G={G1,G2,...,GT},G1,G2,...,GT表示每个时刻对应的网络,T表示动态网络的总时间步;
参数:种群的规模N;交叉概率pc;变异概率pm;迭代次数t;最大迭代次数max_gen,时间步tl;
第一步、使用MOGA-net检测算法对初始时刻的网络G1进行社区划分,获得第一个时刻的网络G1的社区划分结构tl=2,k表示G1网络划分的社区个数;
第二步、判断终止条件:tl≥T,满足,则输出社区划分结构C={C1,C2,...,CT},否则,转向第三步;
第三步、种群初始化:基于标识符传递机制的父代初始化操作,并分别计算所有个体的适应值F,此时,t=0;
第四步、子代个体产生:根据个体适应度是高低,进行正比选择策略生成交配池,在交配池中进行双路交叉和基于邻位基因值的变异操作,产生子代个体,其中交叉概率pc和变异概率pm使用自适应优化;
第五步、种群更新:进行爬山式局部搜索,从当前父代个体及子代个体中选出适应度值F最高的N个个体,更新之前的父代种群,生成新的父代种群;
第六步、t=t+1,如果t=max_gen,从非占有解中选择模块度大的最优解,输出当前时刻的社区划分结构,否则,转向第四步;
第七步、tl=tl+1,转向第二步;
输出:动态网络G对应的每个时刻下的社区划分结构C={C1,C2,...,CT}。
3.根据权利要求2所述基于memetic框架的多目标动态网络社区划分方法,其特征在于:所述步骤300直接式整数编码包括:
对动态网络G的一个社区划分s编码为一个整型字符串X={x1,x2,...,xN},其中X代表染色体,N代表网络G中的节点总数,xi,i=1,2,...,N,为节点vi的社区整型标识符,带有相同标识符的节点被视为处于相同社区。
4.根据权利要求3所述基于memetic框架的多目标动态网络社区划分方法,其特征在于:所述基于标识符传递的初始化机制包括:
假设一个网络中节点数量为N,种群初始化前,所有染色体都为同样的整数编码{1,2,...,N};
首先随机选择个体中的一个节点i,假设节点i有k个邻居节点,邻居节点集为A(i),邻居节点标识符集合为S(i)={x1,x2,...,xk},网络中的每个节点标识符的初始化取决于其邻居集中的标识符;
若节点i的邻居集中所有节点的标识符都不同,则随机选择一个邻居标识符去覆盖原来的xi;
若节点i的邻居集中存在节点具有相同标识符的情况,则选择具有最大比例的那个标识符去覆盖原来的xi。
5.根据权利要求4所述基于memetic框架的多目标动态网络社区划分方法,其特征在于:所述双路交叉遗传算法包括:
交叉步骤:
假设存在两个亲代染色体Xa和Xb,两个染色体上的节点顺序相互对应;
首先在染色体Xa上随机选择一个节点vi,vi的标识符为然后找出染色体Xa中所有标识符和vi相同的节点,即找出和节点vi处于同一个社区的节点,将这些节点在染色体Xb中的标识符也改为 生成子代个体Xc;
同时,找出染色体Xb中同样位置的节点vi以及和节点vi的标识符相同的节点,将这些节点在染色体Xa中的标识符也改为即生成子代个体Xd;交叉后的两个新染色体Xc和Xd生成;
变异步骤:
采用基于邻位基因值的变异方式;在交叉后的染色体中随机挑选一个节点,然后将这个节点的标识符随机地变为其任意邻居节点的标识符,其中这些节点变异方向所能取到的标识符值被限定在其邻居节点的标识符值之中;
求取交叉概率pm和变异概率pc:
使用logistic函数中来构造自适应的pc和pm;
其中,β1和β2是两个常数,β1∈(0,+∞),β2∈(0,1);pc∈(0.4,0.9),pm∈(0,0.1)。
6.根据权利要求5所述基于memetic框架的多目标动态网络社区划分方法,其特征在于:所述爬山算法包括:
将全局搜索中得到的Pareto解集看作局部搜索对象,通过爬山算法局部搜索产生最优解;
局部优化的适应度函数为RA和RC的权重和;
F1=fmax+ω1RA-ω2RC+x;
其中,fmax为保证适应值为非负的常数,x表示扰动参数;
ω1=i/N,i为种群中的个体序号,N为种群规模,ω2=1-ω1。
7.根据权利要求6所述基于memetic框架的多目标动态网络社区划分方法,其特征在于:扰动参数x为0.05。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910190769.7A CN109921936A (zh) | 2019-03-13 | 2019-03-13 | 基于memetic框架的多目标动态网络社区划分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910190769.7A CN109921936A (zh) | 2019-03-13 | 2019-03-13 | 基于memetic框架的多目标动态网络社区划分方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109921936A true CN109921936A (zh) | 2019-06-21 |
Family
ID=66964692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910190769.7A Pending CN109921936A (zh) | 2019-03-13 | 2019-03-13 | 基于memetic框架的多目标动态网络社区划分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109921936A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430224A (zh) * | 2019-09-12 | 2019-11-08 | 贵州电网有限责任公司 | 一种基于随机块模型的通信网络异常行为检测方法 |
CN110610433A (zh) * | 2019-09-04 | 2019-12-24 | 成都威嘉软件有限公司 | 基于模式识别的社区搜索方法 |
CN111507506A (zh) * | 2020-03-20 | 2020-08-07 | 厦门大学 | 一种基于共识嵌入的复杂网络社区发现方法 |
CN112989713A (zh) * | 2021-04-28 | 2021-06-18 | 广东电网有限责任公司东莞供电局 | 一种高压开关柜负荷智能动态分析方法 |
CN113379203A (zh) * | 2021-05-26 | 2021-09-10 | 中交第三公路工程局有限公司 | 一种流域水环境污染的生态风险监测方法及系统 |
CN114172699A (zh) * | 2021-11-19 | 2022-03-11 | 北京计算机技术及应用研究所 | 一种工业控制网络安全事件关联分析方法 |
-
2019
- 2019-03-13 CN CN201910190769.7A patent/CN109921936A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110610433A (zh) * | 2019-09-04 | 2019-12-24 | 成都威嘉软件有限公司 | 基于模式识别的社区搜索方法 |
CN110430224A (zh) * | 2019-09-12 | 2019-11-08 | 贵州电网有限责任公司 | 一种基于随机块模型的通信网络异常行为检测方法 |
CN111507506A (zh) * | 2020-03-20 | 2020-08-07 | 厦门大学 | 一种基于共识嵌入的复杂网络社区发现方法 |
CN112989713A (zh) * | 2021-04-28 | 2021-06-18 | 广东电网有限责任公司东莞供电局 | 一种高压开关柜负荷智能动态分析方法 |
CN113379203A (zh) * | 2021-05-26 | 2021-09-10 | 中交第三公路工程局有限公司 | 一种流域水环境污染的生态风险监测方法及系统 |
CN113379203B (zh) * | 2021-05-26 | 2024-05-03 | 中交第三公路工程局有限公司 | 一种流域水环境污染的生态风险监测方法及系统 |
CN114172699A (zh) * | 2021-11-19 | 2022-03-11 | 北京计算机技术及应用研究所 | 一种工业控制网络安全事件关联分析方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109921936A (zh) | 基于memetic框架的多目标动态网络社区划分方法 | |
Bara’a et al. | A review of heuristics and metaheuristics for community detection in complex networks: Current usage, emerging development and future directions | |
CN108734223A (zh) | 基于社区划分的社交网络好友推荐方法 | |
CN112381179B (zh) | 一种基于双层注意力机制的异质图分类方法 | |
Ji et al. | A decomposition-based ant colony optimization algorithm for the multi-objective community detection | |
CN112087447B (zh) | 面向稀有攻击的网络入侵检测方法 | |
CN110677284A (zh) | 一种基于元路径的异构网络链路预测的方法 | |
CN108009575A (zh) | 一种用于复杂网络的社区发现方法 | |
CN110263236B (zh) | 基于动态多视图学习模型的社交网络用户多标签分类方法 | |
CN113962358B (zh) | 一种基于时序超图注意力神经网络的信息扩散预测方法 | |
CN107292097A (zh) | 基于特征组的特征选择方法、及中医主症选择方法 | |
CN113297429B (zh) | 一种基于神经网络架构搜索的社交网络链路预测方法 | |
CN115270007B (zh) | 一种基于混合图神经网络的poi推荐方法及系统 | |
CN106789320A (zh) | 一种用于优化无线传感器网络拓扑的多种群协同进化方法 | |
CN110334285A (zh) | 一种基于结构平衡约束的符号网络社区发现方法 | |
CN111210002A (zh) | 一种基于生成对抗网络模型的多层学术网络社区发现方法、系统 | |
CN114723037A (zh) | 一种聚合高阶邻居节点的异构图神经网络计算方法 | |
CN112311608A (zh) | 一种多层异质网络空间节点表征方法 | |
Ghafori et al. | A multiobjective Cuckoo Search Algorithm for community detection in social networks | |
CN112016701B (zh) | 一种融合时序和属性行为的异常变化检测方法及系统 | |
CN116756695B (zh) | 一种融合地理特征和流特征的城市功能协同优化方法 | |
CN114265954B (zh) | 基于位置与结构信息的图表示学习方法 | |
CN110113215A (zh) | 一种基于时间加权的重叠社区检测算法 | |
CN115905903A (zh) | 基于图注意力自动编码器的多视图聚类方法及系统 | |
CN114792187A (zh) | 基于意愿和信任双重约束的群智感知团队招募方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190621 |
|
RJ01 | Rejection of invention patent application after publication |