CN105303450A - 基于谱聚类改进交叉的复杂网络社区发现方法 - Google Patents
基于谱聚类改进交叉的复杂网络社区发现方法 Download PDFInfo
- Publication number
- CN105303450A CN105303450A CN201510760290.4A CN201510760290A CN105303450A CN 105303450 A CN105303450 A CN 105303450A CN 201510760290 A CN201510760290 A CN 201510760290A CN 105303450 A CN105303450 A CN 105303450A
- Authority
- CN
- China
- Prior art keywords
- community
- network
- individual
- node
- individuality
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于谱聚类改进交叉的复杂网络社区发现方法,采用可以在任意形状的样本空间上聚类等优点的谱聚类对种群中的个体进行了划分,在交叉操作时选取不同划分中的个体进行遗传操作,从而增加种群多样性,避免陷入局部最优;相似个体虽不能有效地增加种群多样性,但可有效地维持个体的优良性状,保持种群的进化方向,因此在进行不同划分个体间遗传操作的同时同一划分中的个体也进行遗传操作,选取两种方式产生的个体中最优的两个个体为子代个体。两种方式的交叉操作同时进行避免算法陷入局部最优和收敛速度过慢,调节收敛速度和寻找最优解之间的平衡。
Description
技术领域
本发明属于复杂网络社区发现方法的技术领域,具体是引入谱聚类改进交叉后的遗传算法用在复杂网络社区发现上的一种新方法,是一种利用计算机技术,遗传算法,谱聚类等方法实现的关于复杂网络研究中社区结构发现的方法。
背景技术
自然界及人类社会中存在大量的复杂系统都可以用不同网络来描述。在用网络描述复杂系统时用网络中结点表示复杂系统中的个体,结点之间的边来表示系统中个体间的联系。现实世界中不同领域的网络系统,如社会网络,生物网络,信息网络,技术网络,交通运输网络等都可以从复杂网络的角度和方法来描述,从而可以很好的理解复杂系统的性质和功能。
社区结构作为复杂网络的重要特性之一,已经成为复杂网络研究的一个热点,复杂网络社区挖掘是一种多学科交叉的前沿研究热点,近年来,很多有关复杂网络社区挖掘的方法被提出,并且也取得了一定的效果。这些方法大致可以分为:基于划分的社区挖掘方法,如经典的GN算法;基于模块性优化的社区挖掘方法,如经典的FN算法,SA算法,FUA算法等;基于标签传播的社区挖掘方法,如著名的标签算法LPA;基于动力学的社区挖掘方法,如MCL算法,FEC算法等;基于仿生计算的社区挖掘方法,主要侧重于蚁群算法和遗传算法。
虽然有大量的社区挖掘算法被提出,但很多算法本身还存在需要具备一定的先验知识,效率低,收敛速度慢,易陷入局部最优等缺点,如经典的GN算法存在效率太低,时间复杂度高的问题,模拟退火算法SA存在收敛速度慢的问题等。因此如何快速,精确高效地发掘复杂网络中的社区结构是研究复杂网络的一个热点问题。
发明内容
为了解决复杂网络社区挖掘方法中存在收敛速度慢,易于陷入局部最优等问题,本发明提出了一种基于谱聚类改进交叉的遗传算法用于复杂网络社区挖掘的新方法(GeneticAlgorithmwithanimprovedCrossoverbasedonSpectralClusteringforCommunityMining,GACSCM)。
本发明采用的技术方案如下:
根据生物进化中避免近亲繁殖的思想,及遗传算法中种群本身是不断进化且是朝着越来越相似的方向进化的事实,采用了思想简单,易于实现,且可以在任意形状的样本空间上聚类等优点的谱聚类对种群中的个体进行了划分,在交叉操作时选取不同划分中的个体进行遗传操作,从而增加种群多样性,避免陷入局部最优;相似个体虽不能有效地增加种群多样性,但可有效地维持个体的优良性状,保持种群的进化方向,因此在进行不同划分个体间遗传操作的同时同一划分中的个体也进行遗传操作,选取两种方式产生的个体中最优的两个个体为子代个体。两种方式的交叉操作同时进行避免算法陷入局部最优和收敛速度过慢,调节收敛速度和寻找最优解之间的平衡。
基于谱聚类改进交叉的遗传算法的复杂网络社区挖掘方法,其特征包括以下步骤:
步骤1,对网络社区挖掘问题进行编码,方法如下:
对网络中的结点进行编号,采用基于基因座邻接的编码表示种群中的个体,也被称为染色体,该编码是一种基于图的表示方法,以网络中的结点数目表示染色体的编码长度,染色中的每个基因对应于网络中的一个结点,基于结点和其大多数相邻结点在同一社区,令每个基因i取其在网络中的任意相邻结点j作为等位基因。
步骤2,种群初始化,方法如下:
按照步骤1的编码规则进行初始种群个体的产生,具体步骤如下
1)初始化一个编码长度为n,每个基因的等位基因都为0的染色体
2)顺序遍历每个基因位,查找其在网络中的相邻结点的集合
3)在相邻结点集合中随机选择一个结点作为该基因位的等位基因
4)重复步骤1)、2)、3)完成规定数目的个体的初始化工作
步骤3,适应度函数的选取
2004年Newman网络模块度函数的提出,将复杂网络挖掘问题转化为一种优化问题,优化的目标就是模块度函数,模块度函数能够刻画社区划分结果的好坏程度,是评价网络中社区结构好坏的性能指标,而基于遗传算法的复杂网络社区挖掘中,每个个体都代表了对网络中社区的一种划分,因此本方法采用模块度函数Q为遗传算法中的适应度函数。
模块度函数Q的表达式如下:
其中,A=(Auv)n×n表示网络G中结点的邻接矩阵,如果结点u与v之间存在边连接,则Auv=1,否则Auv=0;δ(r(u),r(v))为社区认同度函数,其中,r(u)表示u所在的社区,r(v)表示v所在的社区,如果r(u)=r(v),其取值为1,表示结点u和v在同一社区中;否则取值为0,表示结点u和v不在同一社区中;ku表示结点u的度,kv表示结点v的度;E表示网络G中总的边数,被定义为
步骤4,谱聚类划分种群个体
谱聚类算法的基本思想来源于谱图理论,把聚类问题看成是一个图分割问题,其本质是利用拉普拉斯矩阵的特征向量进行聚类,是一种配对聚类算法。
谱聚类的具体实现如下:
1)计算相似度矩阵S
首先构造一个无向加权图,将种群中的个体看作网络中的结点,个体之间的相似度看作网络中的边权,设种群规模为m
种群中的个体之间的相似度采用归一化的互信息表示,设A,B为种群中的两个个体,则A,B之间的相似度S(A,B)计算如下:
其中C为置乱矩阵,其元素Cij表示个体A中社区i与个体B中社区j中的拥有的共同结点的数目。CA和CB分别为个体A与个体B所代表划分中是社区的数目。Ci.是矩阵C中第i行元素之和,C.j是矩阵C中第j列元素之和,N为复杂网络中结点的总数。如A与B完全相同则S(A,B)=1,若完全不同则S(A,B)=0,S(A,B)越大说明两个体A与B之间越相似。则S为一个m行m列的元素值为个体间相似度的邻接矩阵。
2)计算度矩阵D
取矩阵S中的每一列元素之和为矩阵D对角线上的元素,其他位置元素为0得到D
3)计算拉普拉斯矩阵L=D-W
4)按特征值从小到大进行排序求出前k个特征值及对应的特征向量,将这些特征向量排列起来组成一个矩阵m行k列的矩阵M
5)将矩阵M的每一行看作k维空间的一个向量,使用k-means方法进行聚类。聚类结果中每一行所属的类别即为种群中相应个体所属的类别。
步骤5,交叉操作
1)采用轮盘赌选择一个个体p1,记下该个体所属的类别标号i,从类别i中选择一个最好的个体p2。
2)选择与类别i距离最远的类别j,选择类别j中的最好个体p3
3)个体p1与个体p2进行交叉操作产生的个体的集合为X
4)选择个体p1与p2中,与个体p3距离较远的个体,假设为p2,个体p2与个体p3进行交叉操作产生的个体集合为Y
5)通过贪婪算法选择集合X和集合Y中最好的两个个体作为子代个体。
步骤6,变异操作
变异时选择变异基因位的相邻结点中使得局部模块度增大的结点为等位基因。
局部模块度定义如下:
其中,Ml表示社区内部总的边数之和与社区和网络其他部分相连接的边数之和的比例,edgein代表社区内部的连接边数,edgeout代表本社区与网络其他部分的连接边数之和。
步骤7,选择操作
选择算子采用了组合优化进化算法所偏爱的μ+λ选择策略,该选择既保留了每代中的最优个体,也加快了算法收敛速度。
步骤8,解码
选择种群个体中模块度值最大的个体进行解码,得到复杂网络社区划分的最优解。
附图说明
图1是本发明方法的流程图;
图2是本发明方法中谱聚类交叉操作流程图;
具体实施方式
下面结合附图对本发明的具体实施方式进行详细说明。
图1为基于谱聚类交叉的遗传算法复杂网络社区挖掘的方法流程图,该方法包括以下步骤:
步骤一,种群初始化
步骤二,计算个体适应度函数Q。
步骤三,谱聚类划分。
步骤四,交叉操作,具体流程图如图2所示。
步骤五,变异
步骤六,选择
步骤七,解码,得到复杂网络的社区划分结果
本发明的实验采用的数据是Newman提供海豚网络(dolphin)、Krebs美国政治书网络(polbooks)、爵士乐队协作网,各个网络的信息描述如表1所示。
表1真实网络的信息
网络名称 | 结点数 | 边数 |
dolphin | 62 | 160 |
polbooks | 115 | 613 |
以表1中的网络为实验数据,Q函数为社区评价指标,分别在标准遗传算法SGA,李瑞的局部模块度方法LMGACD,与本文方法GACSCM上进行了实验,表2给出了各种算法运行10次取平均后的Q函数值。
从表2可以看出:对于海豚网络、美国政治书网络本发明的方法GACSCM均要优于SGA和LMGACD。实验结果表明,本发明方法GACSCM在性能上确实有所提高,具有很好的效果。
表2真实世界网络的模块度(Q函数值)
网络 | SGA | LMGACD | GACSCM |
dolphin | 0.511242 | 0.511496 | 0.513596 |
polbooks | 0.518805 | 0.522892 | 0.522908 |
Claims (1)
1.基于谱聚类改进交叉的复杂网络社区发现方法,其特征在于:该方法包括以下步骤,
步骤1,对网络社区挖掘问题进行编码,方法如下:
对网络中的结点进行编号,采用基于基因座邻接的编码表示种群中的个体,也被称为染色体,该编码是一种基于图的表示方法,以网络中的结点数目表示染色体的编码长度,染色中的每个基因对应于网络中的一个结点,基于结点和其大多数相邻结点在同一社区,令每个基因i取其在网络中的任意相邻结点j作为等位基因;
步骤2,种群初始化,方法如下:
按照步骤1的编码规则进行初始种群个体的产生,具体步骤如下
1)初始化一个编码长度为n,每个基因的等位基因都为0的染色体
2)顺序遍历每个基因位,查找其在网络中的相邻结点的集合
3)在相邻结点集合中随机选择一个结点作为该基因位的等位基因
4)重复步骤1)、2)、3)完成规定数目的个体的初始化工作
步骤3,适应度函数的选取
Newman网络模块度函数的提出,将复杂网络挖掘问题转化为一种优化问题,优化的目标就是模块度函数,模块度函数能够刻画社区划分结果的好坏程度,是评价网络中社区结构好坏的性能指标,而基于遗传算法的复杂网络社区挖掘中,每个个体都代表了对网络中社区的一种划分,因此本方法采用模块度函数Q为遗传算法中的适应度函数;
模块度函数Q的表达式如下:
其中,A=(Auv)n×n表示网络G中结点的邻接矩阵,如果结点u与v之间存在边连接,则Auv=1,否则Auv=0;δ(r(u),r(v))为社区认同度函数,其中,r(u)表示u所在的社区,r(v)表示v所在的社区,如果r(u)=r(v),其取值为1,表示结点u和v在同一社区中;否则取值为0,表示结点u和v不在同一社区中;ku表示结点u的度,kv表示结点v的度;E表示网络G中总的边数,被定义为
步骤4,谱聚类划分种群个体
谱聚类算法的基本思想来源于谱图理论,把聚类问题看成是一个图分割问题,其本质是利用拉普拉斯矩阵的特征向量进行聚类,是一种配对聚类算法;
谱聚类的具体实现如下:
1)计算相似度矩阵S
首先构造一个无向加权图,将种群中的个体看作网络中的结点,个体之间的相似度看作网络中的边权,设种群规模为m
种群中的个体之间的相似度采用归一化的互信息表示,设A,B为种群中的两个个体,则A,B之间的相似度S(A,B)计算如下:
其中C为置乱矩阵,其元素Cij表示个体A中社区i与个体B中社区j中的拥有的共同结点的数目;CA和CB分别为个体A与个体B所代表划分中是社区的数目;Ci.是矩阵C中第i行元素之和,C.j是矩阵C中第j列元素之和,N为复杂网络中结点的总数;如A与B完全相同则S(A,B)=1,若完全不同则S(A,B)=0,S(A,B)越大说明两个体A与B之间越相似;则S为一个m行m列的元素值为个体间相似度的邻接矩阵;
2)计算度矩阵D
取矩阵S中的每一列元素之和为矩阵D对角线上的元素,其他位置元素为0得到D
3)计算拉普拉斯矩阵L=D-W
4)按特征值从小到大进行排序求出前k个特征值及对应的特征向量,将这些特征向量排列起来组成一个矩阵m行k列的矩阵M
5)将矩阵M的每一行看作k维空间的一个向量,使用k-means方法进行聚类;聚类结果中每一行所属的类别即为种群中相应个体所属的类别;
步骤5,交叉操作
1)采用轮盘赌选择一个个体p1,记下该个体所属的类别标号i,从类别i中选择一个最好的个体p2;
2)选择与类别i距离最远的类别j,选择类别j中的最好个体p3
3)个体p1与个体p2进行交叉操作产生的个体的集合为X
4)选择个体p1与p2中,与个体p3距离较远的个体,假设为p2,个体p2与个体p3进行交叉操作产生的个体集合为Y
5)通过贪婪算法选择集合X和集合Y中最好的两个个体作为子代个体;
步骤6,变异操作
变异时选择变异基因位的相邻结点中使得局部模块度增大的结点为等位基因;
局部模块度定义如下:
其中,Ml表示社区内部总的边数之和与社区和网络其他部分相连接的边数之和的比例,edgein代表社区内部的连接边数,edgeout代表本社区与网络其他部分的连接边数之和;
步骤7,选择操作
选择算子采用了组合优化进化算法所偏爱的μ+λ选择策略,该选择既保留了每代中的最优个体,也加快了算法收敛速度;
步骤8,解码
选择种群个体中模块度值最大的个体进行解码,得到复杂网络社区划分的最优解。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510760290.4A CN105303450A (zh) | 2015-11-09 | 2015-11-09 | 基于谱聚类改进交叉的复杂网络社区发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510760290.4A CN105303450A (zh) | 2015-11-09 | 2015-11-09 | 基于谱聚类改进交叉的复杂网络社区发现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105303450A true CN105303450A (zh) | 2016-02-03 |
Family
ID=55200680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510760290.4A Pending CN105303450A (zh) | 2015-11-09 | 2015-11-09 | 基于谱聚类改进交叉的复杂网络社区发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105303450A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897500A (zh) * | 2017-01-25 | 2017-06-27 | 温州市特种设备检测研究院 | 一种基于复杂网络的燃煤锅炉结构调整的分析方法 |
CN106970779A (zh) * | 2017-03-30 | 2017-07-21 | 重庆大学 | 一种面向内存计算的流式平衡图划分方法 |
CN107194082A (zh) * | 2017-05-26 | 2017-09-22 | 西北工业大学 | 基于转基因理论的工业产品智能设计方法 |
CN107357858A (zh) * | 2017-06-30 | 2017-11-17 | 中山大学 | 一种基于地理位置的网络重构方法 |
CN107784356A (zh) * | 2017-10-27 | 2018-03-09 | 天津理工大学 | 一种基于蚁群和信号传递的重叠社区发现方法 |
CN108230174A (zh) * | 2018-01-19 | 2018-06-29 | 隆中天 | 一种基于谱分析的工业互联网社团检测的方法 |
CN108320512A (zh) * | 2018-03-30 | 2018-07-24 | 江苏智通交通科技有限公司 | 基于拉普拉斯谱分析的宏观道路安全分析单元选取方法 |
CN108491968A (zh) * | 2018-03-17 | 2018-09-04 | 北京工业大学 | 基于农产品质量安全应急资源调度模型计算方法 |
CN110503977A (zh) * | 2019-07-12 | 2019-11-26 | 国网上海市电力公司 | 一种变电站设备音频信号采集分析系统 |
CN111857691A (zh) * | 2020-07-28 | 2020-10-30 | 北京航空航天大学 | 一种软件体系结构恢复方法和装置 |
CN112949859A (zh) * | 2021-04-16 | 2021-06-11 | 辽宁工程技术大学 | 一种改进的遗传聚类算法 |
CN113128768A (zh) * | 2021-04-22 | 2021-07-16 | 中国电建集团中南勘测设计研究院有限公司 | 考虑风电不确定性的水风火短期优化调度方法 |
CN117807461A (zh) * | 2024-02-26 | 2024-04-02 | 中国计量科学研究院 | 一种基于大数据的威士忌酒产地溯源方法及系统 |
-
2015
- 2015-11-09 CN CN201510760290.4A patent/CN105303450A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897500A (zh) * | 2017-01-25 | 2017-06-27 | 温州市特种设备检测研究院 | 一种基于复杂网络的燃煤锅炉结构调整的分析方法 |
CN106970779A (zh) * | 2017-03-30 | 2017-07-21 | 重庆大学 | 一种面向内存计算的流式平衡图划分方法 |
CN107194082A (zh) * | 2017-05-26 | 2017-09-22 | 西北工业大学 | 基于转基因理论的工业产品智能设计方法 |
CN107194082B (zh) * | 2017-05-26 | 2020-09-22 | 西北工业大学 | 基于转基因理论的工业产品智能设计方法 |
CN107357858B (zh) * | 2017-06-30 | 2020-09-08 | 中山大学 | 一种基于地理位置的网络重构方法 |
CN107357858A (zh) * | 2017-06-30 | 2017-11-17 | 中山大学 | 一种基于地理位置的网络重构方法 |
CN107784356A (zh) * | 2017-10-27 | 2018-03-09 | 天津理工大学 | 一种基于蚁群和信号传递的重叠社区发现方法 |
CN108230174B (zh) * | 2018-01-19 | 2021-01-29 | 隆中天 | 一种基于谱分析的工业互联网社团检测的方法 |
CN108230174A (zh) * | 2018-01-19 | 2018-06-29 | 隆中天 | 一种基于谱分析的工业互联网社团检测的方法 |
CN108491968A (zh) * | 2018-03-17 | 2018-09-04 | 北京工业大学 | 基于农产品质量安全应急资源调度模型计算方法 |
CN108320512A (zh) * | 2018-03-30 | 2018-07-24 | 江苏智通交通科技有限公司 | 基于拉普拉斯谱分析的宏观道路安全分析单元选取方法 |
CN110503977A (zh) * | 2019-07-12 | 2019-11-26 | 国网上海市电力公司 | 一种变电站设备音频信号采集分析系统 |
CN111857691A (zh) * | 2020-07-28 | 2020-10-30 | 北京航空航天大学 | 一种软件体系结构恢复方法和装置 |
CN111857691B (zh) * | 2020-07-28 | 2021-07-23 | 北京航空航天大学 | 一种软件体系结构恢复方法和装置 |
CN112949859A (zh) * | 2021-04-16 | 2021-06-11 | 辽宁工程技术大学 | 一种改进的遗传聚类算法 |
CN113128768A (zh) * | 2021-04-22 | 2021-07-16 | 中国电建集团中南勘测设计研究院有限公司 | 考虑风电不确定性的水风火短期优化调度方法 |
CN117807461A (zh) * | 2024-02-26 | 2024-04-02 | 中国计量科学研究院 | 一种基于大数据的威士忌酒产地溯源方法及系统 |
CN117807461B (zh) * | 2024-02-26 | 2024-04-26 | 中国计量科学研究院 | 一种基于大数据的威士忌酒产地溯源方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105303450A (zh) | 基于谱聚类改进交叉的复杂网络社区发现方法 | |
Wang et al. | Multi-offspring genetic algorithm and its application to the traveling salesman problem | |
Kumar | Encoding schemes in genetic algorithm | |
CN105069173A (zh) | 基于有监督的拓扑保持哈希的快速图像检索方法 | |
CN103745258B (zh) | 基于最小生成树聚类的遗传算法的复杂网络社区挖掘方法 | |
CN106503148B (zh) | 一种基于多知识库的表格实体链接方法 | |
CN107832458A (zh) | 一种字符级的基于嵌套深度网络的文本分类方法 | |
WO2011135410A1 (en) | Optimization technique using evolutionary algorithms | |
CN106991295B (zh) | 一种基于多目标优化的蛋白质网络模块挖掘方法 | |
CN104200272A (zh) | 一种基于改进遗传算法的复杂网络社区挖掘方法 | |
CN104268629A (zh) | 一种基于先验信息和网络固有信息的复杂网络社区检测方法 | |
CN106991442A (zh) | 混合蛙跳算法的自适应核k‑means方法与系统 | |
CN108280180A (zh) | 一种基于主题模型的半监督哈希算法 | |
Xiong et al. | Recursive learning for sparse Markov models | |
CN113222165A (zh) | 一种基于遗传算法的量子线路优化方法 | |
CN105205534B (zh) | 一种三值fprm电路面积与功耗最佳极性搜索方法 | |
CN108509764B (zh) | 一种基于遗传属性约简的古生物谱系演化分析方法 | |
Liu et al. | DPSO based octagonal steiner tree algorithm for VLSI routing | |
Ripon et al. | Evolutionary multi-objective clustering for overlapping clusters detection | |
Ni et al. | A novel ensemble pruning approach based on information exchange glowworm swarm optimization and complementarity measure | |
CN107330201A (zh) | 一种固定极性Reed‑Muller逻辑电路极性搜索方法 | |
CN104318306A (zh) | 基于非负矩阵分解和进化算法优化参数的自适应交叠社区检测方法 | |
Abdullah | Determining a Cluster Centroid of Kmeans Clustering Using Genetic Algorithm | |
CN104156462A (zh) | 基于元胞自动学习机的复杂网络社团挖掘方法 | |
Altwaijry et al. | Multiple sequence alignment using a multiobjective artificial bee colony algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160203 |
|
RJ01 | Rejection of invention patent application after publication |