CN102521649A - 基于密母计算的网络社区结构检测方法 - Google Patents
基于密母计算的网络社区结构检测方法 Download PDFInfo
- Publication number
- CN102521649A CN102521649A CN2011103661549A CN201110366154A CN102521649A CN 102521649 A CN102521649 A CN 102521649A CN 2011103661549 A CN2011103661549 A CN 2011103661549A CN 201110366154 A CN201110366154 A CN 201110366154A CN 102521649 A CN102521649 A CN 102521649A
- Authority
- CN
- China
- Prior art keywords
- population
- node
- individuality
- fitness function
- community
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于密母计算的网络社区结构检测方法,主要解决现有社区结构检测技术的分辨率限制、难以发现社区层次结构、收敛速度慢等问题。该方法的实现步骤为:(1)构造初始化种群,采用直接编码方法初始化种群中的个体;(2)选择操作;(3)交叉变异;(4)局部搜索;(5)更新种群;(6)判断是否终止;(7)终止。本发明通过将扩展模块密度作为适应度函数,引入局部搜索策略构造出基于密母计算的方法,以不同分辨率分析网络,进而发现社区的层次结构,并加快收敛速度,可用于解决网络中的社区结构检测问题。
Description
技术领域
本发明属于计算机技术领域,更进一步涉及人工智能技术领域的基于密母计算的网络社区结构检测方法。本发明通过将扩展模块密度作为适应度函数,引入局部搜索策略构造出基于密母计算的方法,以不同分辨率分析网络,并加快收敛速度,可用于解决网络中的社区结构检测问题。
背景技术
很多现实世界的复杂***都可以表示为网络,如协作网,万维网,电力网,生物网和社会网络等。除了小世界效应,无标度等网络属性外,社区结构是复杂网络中另外一个重要属性。社区可定性的定义为网络中节点的子集,其内部节点之间的链接比较紧密,而和网络中其它节点的链接相对稀疏。研究复杂网络社区结构对于分析网络的拓扑结构、理解网络的功能、发现网络中的隐藏规律以及预测网络的行为不仅具有十分重要的理论意义,而且具有广泛的应用前景,目前已被应用于新陈代谢网络分析、蛋白质交互网络分析等各种生物网络分析以及Web社区挖掘等众多领域。
目前,已存在多种复杂网络社区检测方法,按照所采取的基本求解策略,可以归纳为两大类:基于优化的方法和启发式方法。前者将复杂网络社区检测问题转化为优化问题,通过最优化预定义的目标函数来计算复杂网络的社区结构,后者将复杂网络社区检测问题转化为预定义启发式规则的设计问题。
戴飞飞、唐普英等人在“基于DNA遗传算法的复杂网络社区结构发现”(《计算机工程与应用》,2008年3期,44(3))中提出了基于DNA遗传算法的复杂网络社区检测方法。文中所提到的DNA遗传算法是以模块度作为适应度函数,通过适应度比例选择、单向传递交叉、变异、基因转移等操作,求模块度的最大值以探测社区结构,该方法存在的不足是,不能发现网络社区的层次结构,收敛速度较慢。
刘晋霞、曾建潮等人在“用遗传算法优化模块密度探测社团结构”(《解放军理工大学学报》,2011年第3期,12(3))中提出了基于遗传算法的社区结构检测方法。文中提到的遗传算法是以模块密度作为适应度函数,通过适应度比例选择、单向传递交叉、变异等遗传操作,求模块密度的最大值以探测社区结构,其优点是采用模块密度作为适应度函数,能够一定程度上克服分辨率限制问题,但仍存在的不足是,只能发现网络的一个划分,不能以不同分辨率分析网络,收敛速度慢等问题。
发明内容
本发明针对上述现有技术存在的不足,提出了一种基于密母计算的网络社区结构检测方法。本发明通过将扩展模块密度作为适应度函数,并引入爬山法作为局部搜索策略,以解决现有网络社区结构检测方法中的分辨率限制、收敛速度慢等缺点,提高了网络社区检测的准确度。
本发明的步骤包括如下:
(1)构造初始化种群,采用直接编码方法初始化种群中的个体;
(2)选择操作
2a)将扩展模块密度作为适应度函数;
2b)计算当前种群中每一个个体的适应度函数值;
2c)从当前种群中随机选择两个个体,将其中适应度函数值较大的个体加入父种群中;
2d)重复步骤2c),直至得到整个父种群;
(3)交叉变异
3a)从父种群中随机选择两个父个体;
3b)对两个父个体进行双向传递交叉操作,得到两个临时子个体;
3c)对两个临时子个体分别进行单点变异操作,得到两个子个体;
3d)重复步骤3a)、步骤3b)、步骤3c),直至得到整个子种群;
(4)局部搜索
4a)从子种群中选择适应度函数值最大的一个个体;
4b)利用爬山法对适应度函数值最大的个体进行局部搜索操作,得到局部最优个体;
4c)用局部最优个体替代子种群中适应度函数值最大的个体,得到改进子种群;
(5)更新种群
5a)将改进子种群与当前种群合并,组成临时种群;
5b)将临时种群中的个体按照适应度函数值大小由高到低排序;
5c)截取临时种群中和当前种群规模大小相同的适应度函数值大的个体,得到下一代种群;
(6)判断是否终止:如果迭代次数达到限定的次数则执行下一步骤,否则,执行步骤(2);
(7)终止。
本发明与现有技术相比具有如下优点:
第一,由于本发明将扩展模块密度作为目标函数,克服了现有技术只能发现网络的一个划分,不能从不同分辨率分析网络的问题。本发明通过调节扩展模块密度里面的参数,产生不同分辨率的网络划分结果,进而可以发现网络社区的层次结构。
第二,由于本发明引入了爬山法作为局部搜索策略,克服了现有技术的收敛速度慢,检测结果不够准确的问题。本发明通过在交叉变异后的种群中选择适应度函数值最大的个体,然后在这个个体上进一步利用爬山法进行局部搜索,使该个体达到局部最优,可大大减少迭代次数,加快收敛速度,并且能够提高检测结果的准确率。
附图说明
图1为本发明的流程图;
图2为本发明与基于遗传算法的社区结构检测方法的检测结果比较图;
图3为本发明在Zachary空手道俱乐部网络上的30次仿真结果统计盒图;
图4为本发明在Zachary空手道俱乐部网络上,当目标函数中的参数取不同值时对应的网络社区划分结果图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照附图1,本发明的详细步骤是:
步骤1,初始化
采用直接编码方法初始化种群中的个体,直接编码方法为计算机随机生成一位整数作为每一位上的类别标记,该整数不超过网络节点的个数。
步骤2,选择操作
首先,将扩展模块密度作为适应度函数,扩展模块密度公式为:
其中,D为适应度函数值,λ为调节参数,m为网络社区的个数,Vi为网络社区i的节点构成的子集,为Vi的补集,L(Vi,Vi)为社区i中所有节点的内度之和,为社区i中所有节点的外度之和,|Vi|为社区i中的节点个数。
其次,计算当前种群中每一个个体的适应度函数值;
然后,从当前种群中随机选择两个个体,将其中适应度函数值较大的个体加入父种群中;
最后,重复前一步,直至得到整个父种群。
步骤3,交叉变异
首先,从父种群中随机选择两个父个体;
其次,对两个父个体进行双向传递交叉操作;
双向传递交叉操作的具体步骤是,先随机选择一个节点,然后按照下式进行第一次传递交叉,得到一个临时子个体:
其中,表示父个体b上第k个节点的类别标记,x为类别标记,k为所有的类别标记与相同的节点,←表示赋值操作,表示父个体a上第j个节点的类别标记,j为随机选择的节点,表示父个体a上第k个节点的类别标记,和∈分别表示对任一和属于符号,|为概率论中的条件符号;
再按照下式进行第二次传递交叉,得到另外一个临时子个体:
其中,表示父个体a上第k个节点的类别标记,x为类别标记,k为所有的类比标记与相同的节点,←表示赋值操作,表示父个体b上第j个节点的类别标记,j为随机选择的节点,表示父个体b上第k个节点的类别标记,和∈分别表示对任一和属于符号,|为概率论中的条件符号。
然后,对两个临时子个体分别进行单点变异操作,得到两个子个体;
单点变异操作的具体步骤是,先随机选择一个待变异的节点,再将待变异节点的类别标记变更为与其任意相邻节点相同的类别标记。
最后,重复前三步,直至得到整个子种群。
步骤4,局部搜索
首先,从子种群中选择适应度函数值最大的一个个体;
其次,利用爬山法对适应度函数值最大的个体进行局部搜索操作,得到局部最优个体;
爬山法局部搜索的步骤是,先查找当前个体的所有相邻个体;再从所有相邻个体中选择适应度函数值最大的相邻个体;最后比较适应度函数值最大的相邻个体和当前个体的适应度函数值,如果前者大于后者,则用适应度函数值最大的相邻个体替代当前个体,返回第一步,否则,直接输出当前个体作为局部搜索的结果。
最后,用局部最优个体替代子种群中适应度函数值最大的个体,得到改进子种群。
步骤5,更新种群
首先,将改进子种群与当前种群合并,组成临时种群;
其次,将临时种群中的个体按照适应度函数值大小由高到低排序;
最后,截取临时种群中和当前种群规模大小相同的适应度函数值大的个体,得到下一代种群。
步骤6,判断是否终止:如果迭代次数达到限定的次数则执行下一步骤,否则,执行步骤2;限定的次数为预设的最大迭代次数,其范围为50~100之间。
步骤7,终止。
本发明的效果可以通过以下仿真进一步说明:
1.仿真条件
在CPU为Intel Core 22.3GHz、内存2G、Windows XP***上使用Matlab 2009a进行仿真。
2.仿真内容
分别选取电脑合成网络和现实世界网络作为实验对象,其真实网络社区结构划分均已知。设定最大迭代次数为50,种群规模为450,交配池大小为225,锦标赛选择大小为2,交叉概率为0.8,变异概率0.2。使用正则互信息NMI(Normalized MutualInformation)作为相似性度量,用来衡量仿真检测的结果与真实网络划分之间的相似度,其值在0~1之间,越接近于1表明两个网络划分越相似。以下MA表示本发明的基于密母计算的网络社区结构检测方法,GA表示去掉局部搜索的基于遗传算法的社区结构检测方法,两者的参数设置相同。
电脑合成网络仿真:本仿真中使用Lancichinetti提出的基准测试网络,该网络包含128个节点,4个社区,每个社区32个节点,每个节点平均度为16。每个节点与社区内部节点的连接比例为1-μ,每个节点与社区外部节点连接的比例为μ,μ为混合参数。我们生成μ从0~0.5变化的11个不同的电脑合成网络进行仿真实验,μ越大,表明网络的社区结构越模糊,越难以检测出真实的网络划分。图2(a)表示当扩展模块密度Dλ中的参数λ取0.5时,MA与GA分别在这11个网络上独立运行10次所得到的平均NMI值比较图,图中实线表示MA的结果,点划线表示GA的结果,从该图可以看出,当μ≤0.25,MA得到的NMI值为1,也就是说检测出了真实的网络划分,然而GA对于μ>0.15的网络就很难检测出真实的划分了。对于μ=0.15的电脑合成网络,当扩展模块密度Dλ中的参数λ取0.5时,图2(b)表示MA与GA分别在一次运行当中Dλ值随着迭代次数的变化比较图,图2(c)表示相应的NMI值随着迭代次数的变化比较图,图中实线表示MA的结果,点划线表示GA的结果。从图2(b)和图2(c)可以看出,MA仅仅在两代内就找到了最大的目标函数值44.75,相应的NMI值为1,也就是说找到了真实的网络划分,而GA在50代之后还没有检测出真实划分。
现实世界网络仿真:本仿真中使用Zachary空手道俱乐部网络作为实验对象,这个网络包含34个节点,78条边,2个社区。在仿真实验中,对于目标函数中的参数λ在0.2~0.8之间的每一个取值,MA独立运行30次,记录下这30次运行的NMI值和相应的网络划分。图3表示λ取不同的值时这30次运行所得到的NMI值统计盒图,从该图可以看出,本方法每次得到的NMI值变化很小,盒图近似成为一条直线,说明本发明所得到的检测结果稳定性很好。图4表示当λ取不同值时,30次运行当中Dλ值最大时对应的网络划分结果图。结合图4做进一步分析:当λ取0.2时,整个网络被划分为一个社区;当λ取0.3时,网络被划分为2个社区,恰恰就是真实的网络划分,此时的NMI值为1,如图4(a),2个社区的节点分别用正方形和圆形表示;当λ取0.4或0.5时,网络被划分为3个社区,只是把真实划分左侧较大的社区又分成了两个,并没有错误地划分任一个节点,相应的NMI值为0.699,如图4(b),3个社区的节点分别用正方形、圆形、三角形表示;当λ取0.6时或0.7时,检测到了4个社区,只是把真实划分的两个社区分别又分成了两个,如图4(c),4个社区的节点分别用正方形、圆形、三角形、钻石型表示;当λ取0.8时,检测出5个社区,更进一步把右侧的社区划分为了3个小社区,如图4(d),5个社区的节点分别用正方形、圆形、三角形、钻石型、十字型表示。综上分析,通过改变扩展模块密度Dλ的参数λ,可以在不同分辨率上分析网络,进而发现网络社区的层次结构。
总之,本发明将扩展模块密度作为适应度函数,并引入局部搜索策略构造出基于密母计算的网络社区结构检测方法,能够以不同分辨率分析网络的社区结构,进而发现网络的层次结构,并较传统的基于遗传算法的社区结构检测方法收敛速度更快,准确度更高。
Claims (7)
1.一种基于密母计算的网络社区结构检测方法,具体步骤如下:
(1)构造初始化种群,采用直接编码方法初始化种群中的个体;
(2)选择操作
2a)将扩展模块密度作为适应度函数;
2b)计算当前种群中每一个个体的适应度函数值;
2c)从当前种群中随机选择两个个体,将其中适应度函数值较大的个体加入父种群中;
2d)重复步骤2c),直至得到整个父种群;
(3)交叉变异
3a)从父种群中随机选择两个父个体;
3b)对两个父个体进行双向传递交叉操作,得到两个临时子个体;
3c)对两个临时子个体分别进行单点变异操作,得到两个子个体;
3d)重复步骤3a)、步骤3b)、步骤3c),直至得到整个子种群;
(4)局部搜索
4a)从子种群中选择适应度函数值最大的一个个体;
4b)利用爬山法对适应度函数值最大的个体进行局部搜索操作,得到局部最优个体;
4c)用局部最优个体替代子种群中适应度函数值最大的个体,得到改进子种群;
(5)更新种群
5a)将改进子种群与当前种群合并,组成临时种群;
5b)将临时种群中的个体按照适应度函数值大小由高到低排序;
5c)截取临时种群中和当前种群规模大小相同的适应度函数值大的个体,得到下一代种群;
(6)判断是否终止:如果迭代次数达到限定的次数则执行下一步骤,否则,执行步骤(2);
(7)终止。
2.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤(1)所述的直接编码方法为计算机随机生成一位整数作为每一位上的类别标记,该整数不超过网络节点的个数。
4.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤3b)所述的双向传递交叉方法的步骤如下:
第1步,随机选择一个节点;
第2步,按下式进行第一次传递交叉:
其中,表示父个体b上第k个节点的类别标记,x为类别标记,k为所有的类别标记与相同的节点,←表示赋值操作,表示父个体a上第j个节点的类别标记,j为随机选择的节点,表示父个体a上第k个节点的类别标记,和∈分别表示对任一和属于符号,|为概率论中的条件符号;
第3步,按下式进行第二次传递交叉:
5.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤3c)所述的单点变异操作的步骤如下:
第1步,随机选择一个待变异的节点;
第2步,将待变异节点的类别标记变更为与其任意相邻节点相同的类别标记。
6.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤4b)所述的爬山法局部搜索的步骤如下:
第1步,查找当前个体的所有相邻个体;
第2步,从所有相邻个体中选择适应度函数值最大的相邻个体;
第3步,比较适应度函数值最大的相邻个体和当前个体的适应度函数值,如果前者大于后者,则用适应度函数值最大的相邻个体替代当前个体,返回第1步;否则,直接输出当前个体作为局部搜索的结果。
7.根据权利要求1所述的基于密母计算的网络社区结构检测方法,其特征在于,步骤(6)所述的限定的次数为预设的最大迭代次数,其范围为50~100之间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103661549A CN102521649A (zh) | 2011-11-17 | 2011-11-17 | 基于密母计算的网络社区结构检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103661549A CN102521649A (zh) | 2011-11-17 | 2011-11-17 | 基于密母计算的网络社区结构检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102521649A true CN102521649A (zh) | 2012-06-27 |
Family
ID=46292560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103661549A Pending CN102521649A (zh) | 2011-11-17 | 2011-11-17 | 基于密母计算的网络社区结构检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102521649A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455610A (zh) * | 2013-09-01 | 2013-12-18 | 西安电子科技大学 | 基于多目标密母计算的网络社区检测方法 |
CN103457800A (zh) * | 2013-09-08 | 2013-12-18 | 西安电子科技大学 | 基于m精英协同进化策略的网络社区检测方法 |
CN103455612A (zh) * | 2013-09-07 | 2013-12-18 | 西安电子科技大学 | 基于两阶段策略的非重叠与重叠网络社区检测方法 |
CN108647490A (zh) * | 2018-05-04 | 2018-10-12 | 安徽大学 | 基于多目标进化算法的大规模蛋白质功能模块识别方法 |
CN116702052A (zh) * | 2023-08-02 | 2023-09-05 | 云南香农信息技术有限公司 | 一种社区社会信用体系信息处理***及方法 |
-
2011
- 2011-11-17 CN CN2011103661549A patent/CN102521649A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455610A (zh) * | 2013-09-01 | 2013-12-18 | 西安电子科技大学 | 基于多目标密母计算的网络社区检测方法 |
CN103455610B (zh) * | 2013-09-01 | 2017-01-11 | 西安电子科技大学 | 基于多目标密母计算的网络社区检测方法 |
CN103455612A (zh) * | 2013-09-07 | 2013-12-18 | 西安电子科技大学 | 基于两阶段策略的非重叠与重叠网络社区检测方法 |
CN103455612B (zh) * | 2013-09-07 | 2016-08-17 | 西安电子科技大学 | 基于两阶段策略的非重叠与重叠网络社区检测方法 |
CN103457800A (zh) * | 2013-09-08 | 2013-12-18 | 西安电子科技大学 | 基于m精英协同进化策略的网络社区检测方法 |
CN108647490A (zh) * | 2018-05-04 | 2018-10-12 | 安徽大学 | 基于多目标进化算法的大规模蛋白质功能模块识别方法 |
CN108647490B (zh) * | 2018-05-04 | 2022-06-17 | 安徽大学 | 基于多目标进化算法的大规模蛋白质功能模块识别方法和*** |
CN116702052A (zh) * | 2023-08-02 | 2023-09-05 | 云南香农信息技术有限公司 | 一种社区社会信用体系信息处理***及方法 |
CN116702052B (zh) * | 2023-08-02 | 2023-10-27 | 云南香农信息技术有限公司 | 一种社区社会信用体系信息处理***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102413029B (zh) | 基于分解的局部搜索多目标复杂动态网络社区划分方法 | |
CN103905246B (zh) | 基于分组遗传算法的链路预测方法 | |
CN113780002B (zh) | 基于图表示学习和深度强化学习的知识推理方法及装置 | |
CN102594909B (zh) | 基于共邻矩阵谱信息的多目标社区检测方法 | |
CN110334742A (zh) | 一种基于强化学习的通过添加虚假节点的图对抗样本生成方法 | |
CN108009575A (zh) | 一种用于复杂网络的社区发现方法 | |
CN102456062B (zh) | 社区相似度计算方法与社会网络合作模式发现方法 | |
CN102521649A (zh) | 基于密母计算的网络社区结构检测方法 | |
CN108763376A (zh) | 融合关系路径、类型、实体描述信息的知识表示学习方法 | |
CN105183796A (zh) | 一种基于聚类的分布式链路预测方法 | |
CN106934722A (zh) | 基于k节点更新与相似度矩阵的多目标社区检测方法 | |
CN104200272A (zh) | 一种基于改进遗传算法的复杂网络社区挖掘方法 | |
CN103455610A (zh) | 基于多目标密母计算的网络社区检测方法 | |
CN107203619A (zh) | 一种复杂网络下的核心子图提取算法 | |
CN103455612A (zh) | 基于两阶段策略的非重叠与重叠网络社区检测方法 | |
CN104657442B (zh) | 基于局部搜索的多目标社区发现方法 | |
Chen et al. | A novel Fireworks Factor and Improved Elite Strategy based on Back Propagation Neural Networks for state-of-charge estimation of lithium-ion batteries | |
CN104156462A (zh) | 基于元胞自动学习机的复杂网络社团挖掘方法 | |
CN107276093B (zh) | 基于场景削减的电力***概率潮流计算方法 | |
CN104933103A (zh) | 整合结构聚类和属性分类的多目标社区发现方法 | |
CN102768735B (zh) | 基于免疫克隆多目标优化的网络社区划分方法 | |
CN104899283A (zh) | 一种针对单个不确定图的频繁子图挖掘与优化方法 | |
CN103457800A (zh) | 基于m精英协同进化策略的网络社区检测方法 | |
CN112116305A (zh) | 一种用于机器学习的电网概率可视化模型构建方法和*** | |
CN105608267A (zh) | 一种多变量全局优化算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120627 |