CN103605793A - 基于遗传算法的异构社会网络社区检测方法 - Google Patents

基于遗传算法的异构社会网络社区检测方法 Download PDF

Info

Publication number
CN103605793A
CN103605793A CN201310651893.1A CN201310651893A CN103605793A CN 103605793 A CN103605793 A CN 103605793A CN 201310651893 A CN201310651893 A CN 201310651893A CN 103605793 A CN103605793 A CN 103605793A
Authority
CN
China
Prior art keywords
community
node
population
individual
centerdot
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
Application number
CN201310651893.1A
Other languages
English (en)
Inventor
刘静
焦李成
曾玉洁
马文萍
马晶晶
李阳阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201310651893.1A priority Critical patent/CN103605793A/zh
Publication of CN103605793A publication Critical patent/CN103605793A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Business, Economics & Management (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • Artificial Intelligence (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • General Business, Economics & Management (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种基于遗传算法的异构社会网络社区检测方法,主要解决现有技术在社会网络数据和关系规模较大时,检测到的社区结构正确率明显降低的问题。其实现方案是:根据网络中的节点个数和节点之间的联系信息构建描述异构社会网络的邻接矩阵;利用邻接矩阵产生随机的符号编码个体;采用改进的模块密度作为适应度函数评价个体的优劣;根据个体的适应度函数值采用遗传算法对个体进行优化;将优化得到的适应度函数值最高的个体还原成对应的异构网络,解码得到划分出的社区结构。实验结果表明,本发明能够有效检测出异构社会网络的社区结构,且检测正确率较高,可用于大规模异构社会网络的社区检测。

Description

基于遗传算法的异构社会网络社区检测方法
技术领域
本发明属于社会网络计算技术领域,特别涉及一种异构社会网络社区检测方法,可用于对复杂社会***和大规模社会网络的结构研究。
背景技术
社会***,是指由社会人和社会人与社会人之间的经济关系、政治关系和文化关系构成的***,比如家庭、政党、社区都是不同层次的社会***。社会***是一种典型的复杂***,可以被抽象成为复杂网络来处理,即将***中的实体抽象为节点,将实体间的联系抽象为节点之间的连边,得到一个由节点和连边组成的社会网络。由社会***抽象而得到的复杂网络称为社会网络。
社区检测问题是复杂网络的一个重要研究方向,近年来开始受到计算机科学、生物学、社会学和经济学等领域的广泛关注并体现出了一定的应用价值。复杂网络中的社区是指一些相互之间比较相似,而与网络中的其它大部分节点有较大差异的节点簇。复杂网络的社区结构表现在社区内部连接紧密,而社区之间连接稀疏。复杂网络的社区检测目的在于探测并揭示出复杂网络固有的社区结构,社区结构有助于理解和推断整个网络的结构和功能。社区结构可用于蛋白质功能识别、新陈代谢途径预测、web社区挖掘、连接预测等实际问题中。
一般情况下所研究的社会网络都是由同一种节点组成的,但在实际生活中社会网络的构成更复杂,节点种类可能超过一种。包含一种以上节点的社会网络称为异构社会网络。比如在一个电影评价标签***中,电影、标签、用户三种类型的实体构成了整个***,一个用户对一部电影评分并且添加了一个标签,这样这三种实体之间就有联系,相应的节点之间有连边;而不同用户之间,不同电影之间,不同标签之间,则是没有联系的,所以同类节点之间没有连边。
异构社会网络的社区检测问题可描述为:包含k类实体的异构社会网络由图G表示,图G(V,E)由节点集合V和连边集合E组成。其中,节点集合V可看作由k类节点子集V1,V2,…,Vk组成,非同类节点之间有连接而同类节点之间没有连接。在这样的一个异构社会网络中根据非同类节点之间的连接划分社区,使得划分出的社区结构具有社区内的非同类节点连接紧密,而社区间的非同类节点连接稀疏的特点。
目前,现有文献中提出的社会网络社区检测方法,大多是研究节点类型单一的传统社会网络,主要有图分割方法、谱方法和快速算法,这些方法的共同点在于需要构建相似度矩阵,并通过求解特征向量来实现社区结构的划分。这些方法均没有考虑到网络中多种节点的情况,而在实际应用中,社会网络中的节点多样性是很常见而且是不容忽略的,因此传统的社会网络社区检测方法无法应用于异构社会网络的社区检测问题。另外,现在也有一种异构社会网络的社区检测方法,即多关系聚类方法,该方法是基于多种实体间的联系计算相似性,并依据相似性将实体划分成簇。这种方法虽说可以划分出异构社会网络的社区结构,然而由于社会网络类型多、数据大量、关系复杂,存在扩展性问题,即随着社会网络数据和关系规模的增大,探测社区结构正确率明显降低。
发明内容
本发明的目的在于针对上述已有技术的不足,提出一种基于遗传算法的异构社会网络社区检测方法,以对异构社会网络数据进行分类或聚类,进而实现对社区功能的探测和预测,得到满足较高准确率的异构社会网络社区结构。
本发明的技术方案是这样实现的:
为实现上述目的,本发明的实现步骤如下:
1)对异构网络中的节点类别数k和每类节点的个数n1,n2,…,nk进行统计,得到网络中节点总个数n=n1+n2+…+nk;用每类节点的个数和节点之间联系信息构建描述异构社会网络的k维邻接矩阵A,A的大小为n1×n2…×nk
2)令初始种群的大小pn=50,根据节点总个数n随机产生pn个采用符号编码的个体,用这些个体组成初始种群p0;设置交叉概率pc=0.8,变异概率pm=0.2,初始代数g0=1,最大代数mg=50,当前代数g=g0,令第g代父代种群pg等于初始种群p0,即pg=p0
3)计算第g代父代种群pg中每个个体的适应度函数值D:
D = Σ c = 1 m L ( V c ) - L ( V ‾ c ) | V c | - L ( V ) n ,
式中,m是个体中的基因值种类个数,V1,V2,…,Vm是由个体得到的m个社区的节点集合,V是网络中所有节点集合,即V=V1∪V2∪…∪Vm
Figure BDA0000431226190000032
是节点集合Vc在V中的差集,即
Figure BDA0000431226190000033
1≤c≤m,|Vc|是社区Vc中的节点个数,L(Vc)是第c个社区内的连边条数,
Figure BDA0000431226190000034
是从第c个社区外连接到第c个社区内的连边条数,L(V)是网络中的总连边条数;
4)根据第g代父代种群pg中每个个体的适应度函数值D,对第g代父代种群pg进行精英保留操作和锦标赛选择操作,得到更新后的第g代父代种群pg’;
5)随机产生第一随机数rand1,并对第一随机数rand1和交叉概率pc进行比较,如果rand1<pc,执行第6)步;否则,得到与更新后的第g代父代种群pg’相等的第g代子代种群chpg,即chpg=pg’,执行第7)步;
6)对更新后的第g代父代种群pg’进行单路交叉操作,得到第g代子代种群chpg
7)对第g代子代种群chpg中每个个体R进行变异操作,得到更新后的第g代子代种群chpg’;
8)令当前代数g=g+1,将当前代数g与最大代数mg进行比较,若g≤mg,则第g代的父代种群pg与更新后的第g-1代子代种群chpg-1’相等,即pg=chpg-1’,返回步骤3);否则,执行步骤9);
9)取更新后的第g-1代子代种群chpg-1’中适应度函数值最高的个体,将该个体还原成对应的异构网络,解码得到划分出的社区结构。
本发明与现有的技术相比具有以下优点:
1.本发明针对异构社会网络的特点,设计了衡量异构社会网络社区结构优劣的适应度函数,不仅解决了传统模块密度函数不能衡量异构网络社区结构优劣的问题,而且保证了使用本发明得到的社区结构有较高的准确性。
2.本发明设计的变异操作具有局部搜索能力,使进化过程容易跳出局部最优,不仅提高了进化效率,而且能高效得到最优解。
3.相对于现有的异构网络社区检测方法,本发明能够对用户-商品网络测试得到正确率更高的社区结构。
实验结果表明,本发明提出的基于遗传算法的社区检测方法能够有效的检测到异构网络的社区结构。
附图说明
图1是本发明的实现总流程图;
图2是本发明中的变异操作子流程图;
图3是本发明仿真使用的用户-商品网络拓扑图;
图4是描述用户-商品网络的邻接矩阵示意图;
图5是用本发明对用户-商品网络检测出的社区结构示意图。
具体实施方式
为了对本发明进行清楚描述,本实例以图3给出的用户-商品网络拓扑图为例,但不构成对本发明的任何限制,本发明可以适用于所有的异构社会网络。
参照图1,本发明的实施步骤如下:
步骤1.对异构网络中的节点类别数k和每类节点的个数n1,n2,…,nk进行统计,得到网络中节点总个数n=n1+n2+…+nk
本实例的异构网络如图3所述,它是一个用户-商品异构网络。该网络中有2种节点,即节点类别数k=2,其中第1类节点代表用户,第2类节点代表商品,即图中的方块代表第1类节点,共有50个,即n1=50,圆代表第2类节点,共有50个,即n2=50,网络中的节点总个数为100个,即n=100;
步骤2.用每类节点的个数和节点之间联系信息构建描述异构社会网络的k维邻接矩阵A。
2a)根据网络中的每类节点个数n1,n2,…,nk,设定邻接矩阵A的大小为n1×n2…×nk
本实例的异构网络中,第1类节点个数n1为50,第2类节点个数n2为50,则设定2维邻接矩阵A大小为50×50;
2b)根据网络中节点之间的联系信息,确定邻接矩阵A中每个元素的值:
如果网络中的第1类节点vi1、第2类节点vi2、…、第k类节点vik之间相互都有连接,则这k个节点之间有边相连,对应邻接矩阵中的元素A(i1,i2,…,ik)=1,
如果第1类节点vi1、第2类节点vi2、…、第k类节点vik之间不是相互都有连接,则这k个节点之间没有边相连,对应邻接矩阵中的元素A(i1,i2,…,ik)=0,其中1≤i1≤n1,1≤i2≤n2,…,1≤ik≤nk
本实例中,如果用户-商品异构网络中的第i1个用户对第i2个商品有一条购买记录,则A(i1,i2)=1;如果用户-商品异构网络中的第i1个用户对第i2个商品没有购买记录,则A(i1,i2)=0,其中1≤i1≤50,1≤i2≤50,如图4所示。图4中横坐标表示第1类节点标号,纵坐标表示第2类节点标号,图中黑点表示横纵坐标对应的元素取值为1。
步骤3.令初始种群的大小pn=50,根据节点总个数n随机产生pn个采用符号编码的个体,用这些个体组成初始种群p0
上述符号编码得到的个体,是指每个个体R=(r1,r2,…,ri,…,rn)中的每个基因ri随机取1到n之间的整数,其中,1≤i≤n,第i个基因值ri代表第i个节点vi所在的社区标号。
本实例的异构网络中,采用符号编码产生50个个体,其中每个个体R=(r1,r2,…,ri,…,r100)中的每个基因ri随机取1到100之间的整数,其中,1≤i≤100。
步骤4.设置交叉概率pc=0.8,变异概率pm=0.2,初始代数g0=1,最大代数mg=50,当前代数g=g0,令第g代父代种群pg等于初始种群p0,即pg=p0
步骤5.计算第g代父代种群pg中每个个体的适应度函数值D:
5a)根据第g代父代种群pg中的个体,得到个体中的m个基因值种类,同时得到m个社区内的节点集合为:V1,V2,…,Vc…,Vm,1≤c≤m;由m个节点集合的并集得到网络中的所有节点集合为V,即V=V1∪V2∪…∪Vm,其中∪是并集运算符,根据第c个节点集合Vc和所有节点集合V,得到第c个节点集合Vc在所有节点集合V中的差集为 V &OverBar; c , V &OverBar; c = V - V c ;
5b)根据邻接矩阵A,计算出第c个社区内的连边条数L(Vc):
L ( V c ) = &Sigma; v i 1 , v i 2 , &CenterDot; &CenterDot; &CenterDot; , v ik &Element; V c A ( i 1 , i 2 , &CenterDot; &CenterDot; &CenterDot; , i k ) ;
5c)根据邻接矩阵A,计算出从第个c社区连接到网络中除第c个社区之外的其他社区的连边条数
Figure BDA0000431226190000064
L ( V &OverBar; c ) = &Sigma; v i 1 , v i 2 , &CenterDot; &CenterDot; &CenterDot; , v ik A ( i 1 , i 2 , &CenterDot; &CenterDot; &CenterDot; , i k ) ,
其中,k个节点vi1,vi2,…,vik中至少有一个节点在第c个节点集合Vc内,至少另有一个节点在第c个节点集合Vc在所有节点集合V中的差集内;
5d)根据邻接矩阵A,计算出网络中的总连边条数L(V):
L ( V ) = &Sigma; v i 1 , v i 2 , &CenterDot; &CenterDot; &CenterDot; , v ik &Element; V A ( i 1 , i 2 , &CenterDot; &CenterDot; &CenterDot; , i k ) ;
5e)根据上述计算出的第c个社区内的连边条数L(Vc),从第c个社区连接到网络中除第c个社区之外的其他社区的连边条数
Figure BDA0000431226190000068
和网络中的总连边条数L(V),计算出第g代父代种群pg中每个个体对应的适应度函数值D:
D = &Sigma; c = 1 m L ( V c ) - L ( V &OverBar; c ) | V c | - L ( V ) n ,
其中,|Vc|为第c个节点集合Vc中的节点个数。
步骤6.根据第g代父代种群pg中每个个体的适应度函数值D,对第g代父代种群pg进行精英保留操作和锦标赛选择操作,得到更新后的第g代父代种群pg’。
在现有技术中,遗传算法的选择操作有精英保留操作、轮盘赌选择操作、锦标赛选择操作、随机遍历选择操作和截断选择操作等,由于其中的精英保留操作能使父代种群中最优秀的个体保存下来,而锦标赛选择操作能使操作后得到的父代种群具有较高的多样性,因此本发明采用了精英保留操作和锦标赛选择操作。
具体的描述如下:
6a)设新种群pnew为空集,进行1次精英保留操作,即将父代种群pg中适应度函数值最大的个体放入新种群pnew中;
6b)进行pn-1次锦标赛选择操作,即在父代种群pg中随机选取两个个体,比较这两个个体的适应度函数值大小,将适应度函数值较大的个体放入新种群pnew中;
6c)令更新后的第g代父代种群pg’等于新种群pnew,即pg’=pnew。
步骤7.随机产生第一随机数rand1,并对第一随机数rand1和交叉概率pc进行比较,如果rand1<pc,执行步骤8;否则,得到与更新后的第g代父代种群pg’相等的第g代子代种群chpg,即chpg=pg’,执行步骤9。
步骤8.对更新后的第g代父代种群pg’进行单路交叉操作,得到第g代子代种群chpg
现有技术中,遗传算法的交叉操作有单点交叉操作、多点交叉操作、均匀交叉操作、离散交叉操作和单路交叉操作等,由于其中的单路交叉是一种更适合符号编码个体的交叉操作,因此本发明采用了单路交叉操作。
单路交叉的具体操作如下:
8a)设迭代次数q=1,设第g代子代种群chpg为空集;
8b)随机在更新后的第g代父代种群pg’中选择两个个体R1和R2,并将R1作为源个体,将R2作为目的个体,例如,假设网络中节点总个数n=5,随机在更新后的第g代父代种群pg’中选择两个个体R1=(3,2,4,4,2)和R2=(4,1,3,4,1),将R1作为源个体,将R2作为目的个体;
8c)随机选择在1到n之间的整数i,设目的基因值e等于源个体R1中的第i个基因值r1 i,即e=r1 i,设节点标号集合U为空集,比较源个体R1中的每个基因值r1 j和目的基因值e,如果r1 j=e,将节点标号j放入节点标号集合U中,得到待改变的节点标号集合Ve=U,其中1≤j≤n,随机选取选择在1到5之间的整数i,得到i=3;设目的基因值e等于源个体R1中的第3个基因值r1 3,即e=r1 3,则e=4,设节点标号集合U为空集,比较源个体R1中的每个基因值r1 j和目的基因值e,源个体R1中基因值等于目的基因值e的节点是第3个和第4个,则把节点标号3和4放入集合U中,得到待改变节点标号集合V4=U;
8d)对于待改变的节点标号集合Ve中的每个节点标号j,将目的个体R2中对应的第j个基因值r2 j改变为目的基因值e,即r2 j=e,则得到交叉后的新个体R2’,将新个体R2’放入第g代子代种群chpg中,对于待改变节点标号集合V4中的每个节点标号3和4,将R2中对应的第3个和第4个基因值都改变为目的基因值e,即R2中的r2 3=e,r2 4=e,则得到交叉后的新个体R2’=(4,1,4,4,1),将新个体R2’放入第g代子代种群chpg中;
8e)令q=q+1,比较迭代次数q和父代种群大小np,如果q≤np,则返回步骤8b);否则,结束执行。
步骤9.对第g代子代种群chpg中每个个体R进行变异操作,得到更新后的第g代子代种群chpg’。
参照图2,本步骤的具体描述如下:
9a)设迭代次数q=1;
9b)随机产生第二随机数rand2和变异概率pm进行比较,如果rand2<pm,则转到步骤9c);否则,转到步骤9f);
9c)设基因值集合L为空集,由邻接矩阵A得到与第q个节点vq有连接的每个节点vj,将每个节点vj在个体R中对应的第j个基因值rj放入基因值集合L中,其中1≤j≤n,设最大局部模块度max为负无穷大,即max=-∞;
9d)对于基因值集合L中的每个基因值rj,假设个体R中的第q个基因值rq等于基因值rj,计算在此假设情况下第rj个社区的局部模块度frj,并比较第rj个社区的局部模块度函数frj和最大局部模块度max,如果frj>max,则令max=frj,令取得最大局部模块度的社区标号lq=rj
其中,第rj个社区的局部模块度frj计算公式如下:
f r j = &Sigma; v i 1 , v i 2 , &CenterDot; &CenterDot; &CenterDot; , v it , &CenterDot; &CenterDot; &CenterDot; v ik V r j ( A ( i 1 , i 2 , &CenterDot; &CenterDot; &CenterDot; , i t , &CenterDot; &CenterDot; &CenterDot; , i k ) - d i 1 d i 2 &CenterDot; &CenterDot; &CenterDot; d it &CenterDot; &CenterDot; &CenterDot; d ik ( 2 | V | ) k - 1 ) ,
式中,Vrj为第rj个社区内的节点集合,其中1≤c≤n,dit为节点vit的度,即连接到节点vit的连边数,其中1≤it≤nt,1≤t≤k,|V|为网络中的总连边数;
9e)如果基因值集合L中的每个基因值rj对应的局部模块度frj都计算完毕,令个体R中的第q个基因值rq等于取得最大局部模块度的社区标号lq,即rq=lq,执行步骤9f);否则,返回步骤9d);
9f)令q=q+1,并比较迭代次数q和节点总个数n,如果q≤n,则返回步骤9b);否则,结束执行。
步骤10.令当前代数g=g+1,将当前代数g与最大代数mg进行比较,若g≤mg,则令第g代的父代种群pg与更新后的第g-1代子代种群chpg-1’相等,即pg=chpg-1’,返回步骤5;否则,执行步骤11。
步骤11.取更新后的第g-1代子代种群chpg-1’中适应度函数值最高的个体,将该个体还原成对应的异构网络,解码得到划分出的社区结构。
本发明的效果可以通过以下仿真实验进行验证:
1.实验运行环境与评价标准
实验运行的环境:处理器为Intel(R)Core(TM)2Duo CPU E65502.33GHz,内存为1.99GB,硬盘为120G,操作***为Microsoft windows7,编程环境为MATLAB7.13。
本实验选择归一化互信息NMI作为社区结构的评价标准来评价实验方法检测到的社区结构质量:
NMI = H ( C 0 ) + H ( C e ) - H ( C 0 , C e ) H ( C 0 ) H ( C e ) ,
上式中,C0表示真实的社区结构,Ce表示实验检测得到的社区结构,H(C)表示社区结构C的香农信息熵。如果实验找到的社区结构和真实社区结构是完全一致的,则NMI的取值为最大值1;如果实验找到的社区结构和真实社区结构是完全独立的,则NMI的取值为最小值0。
2.实验内容和结果分析
仿真一,用本发明方法对图3所示的用户-商品网络进行社区结构检测,检测结果如图5所示,图5中不同灰度的节点代表在不同社区内。
从图5中可以看出,在用户-商品异构社会网络中检测到了3个社区。从图5与图3的对比可以看出,实验得到的社区结构能够使连接紧密的非同类节点划分在同一社区内,而使连接稀疏的非同类节点划分在不同社区内。
利用上述评价标准计算本发明检测到社区结构对应的归一化互信息值NMI1,得到NMI1=1,即本发明检测到的社区结构具有很高的准确性。因此本发明是一种有效的社区检测方法。
仿真二,采用Xutao Li等人提出的Multicomm方法对图3表示的用户-商品网络进行社区检测,并利用上述评价标准计算Multicomm方法检测到社区结构对应的归一化互信息值NMI2,得到NMI2=0.9315。
将Multicomm方法得到的归一化互信息NMI2=0.9315与本发明得到的归一化互信息NMI1=1作对比,结果发现本发明检测到的社区结构有更高的准确性,即本发明的实验效果优于Multicomm方法。

Claims (6)

1.一种基于遗传算法的异构社会网络社区检测方法,包括如下步骤:
1)对异构网络中的节点类别数k和每类节点的个数n1,n2,…,nk进行统计,得到网络中节点总个数n=n1+n2+…+nk;用每类节点的个数和节点之间联系信息构建描述异构社会网络的k维邻接矩阵A,A的大小为n1×n2…×nk
2)令初始种群的大小pn=50,根据节点总个数n随机产生pn个采用符号编码的个体,用这些个体组成初始种群p0;设置交叉概率pc=0.8,变异概率pm=0.2,初始代数g0=1,最大代数mg=50,当前代数g=g0,令第g代父代种群pg等于初始种群p0,即pg=p0
3)计算第g代父代种群pg中每个个体的适应度函数值D:
D = &Sigma; c = 1 m L ( V c ) - L ( V &OverBar; c ) | V c | - L ( V ) n ,
式中,m是个体中的基因值种类个数,V1,V2,…,Vm是由个体得到的m个社区的节点集合,V是网络中所有节点集合,即V=V1∪V2∪…∪Vm
Figure FDA0000431226180000012
是节点集合Vc在V中的差集,即
Figure FDA0000431226180000013
1≤c≤m,|Vc|是社区Vc中的节点个数,L(Vc)是第c个社区内的连边条数,
Figure FDA0000431226180000014
是从第个c社区连接到网络中除第c个社区之外的其他社区的连边条数,L(V)是网络中的总连边条数;
4)根据第g代父代种群pg中每个个体的适应度函数值D,对第g代父代种群pg进行精英保留操作和锦标赛选择操作,得到更新后的第g代父代种群pg’;
5)随机产生第一随机数rand1,并对第一随机数rand1和交叉概率pc进行比较,如果rand1<pc,执行第6)步;否则,得到与更新后的第g代父代种群pg’相等的第g代子代种群chpg,即chpg=pg’,执行第7)步;
6)对更新后的第g代父代种群pg’进行单路交叉操作,得到第g代子代种群chpg
7)对第g代子代种群chpg中每个个体R进行变异操作,得到更新后的第g代子代种群chpg’;
8)令当前代数g=g+1,将当前代数g与最大代数mg进行比较,若g≤mg,则第g代的父代种群pg与更新后的第g-1代子代种群chpg-1’相等,即pg=chpg-1’,返回步骤3);否则,执行步骤9);
9)取更新后的第g-1代子代种群chpg-1’中适应度函数值最高的个体,将该个体还原成对应的异构网络,解码得到划分出的社区结构。
2.如权利要求1所述的基于遗传算法的异构社会网络社区检测方法,其中步骤1)所述的用每类节点之间的个数和联系信息构建描述异构社会网络的k维邻接矩阵A,按照如下规则进行:
如果第1类节点vi1、第2类节点vi2、…、第k类节点vik之间相互都有连接,则这k个节点之间有边相连,对应邻接矩阵中的元素A(i1,i2,…,ik)=1,其中1≤i1≤n1,1≤i2≤n2,…,1≤ik≤nk
如果第1类节点vi1、第2类节点vi2、…、第k类节点vik之间不是相互都有连接,则这k个节点之间没有边相连,对应邻接矩阵中的元素A(i1,i2,…,ik)=0。
3.如权利要求1所述的基于遗传算法的异构社会网络社区检测方法,其中步骤2)所述的根据节点总个数n随机产生pn个采用符号编码的个体,是指每个个体R=(r1,r2,…,ri,…,rn)中的每个基因ri随机取1到n之间的整数,其中,1≤i≤n,第i个基因值ri代表第i个节点vi所在的社区标号。
4.如权利要求1所述的基于遗传算法的异构社会网络社区检测方法,其中步骤4)所述的对第g代父代种群pg进行精英保留操作和锦标赛选择操作,按照如下步骤进行:
4a)设新种群pnew为空集,进行1次精英保留操作,即将父代种群pg中适应度函数值最大的个体放入新种群pnew中;
4b)进行pn-1次锦标赛选择操作,即在父代种群pg中随机选取两个个体,比较这两个个体的适应度函数值大小,将适应度函数值较大的个体放入新种群pnew中;
4c)令更新后的第g代父代种群pg’等于新种群pnew,即pg’=pnew。
5.如权利要求1所述的基于遗传算法的异构社会网络社区检测方法,其中步骤6)所述的对更新后的第g代父代种群pg’进行单路交叉操作,按照如下步骤进行:
5a)设迭代次数q=1,设第g代子代种群chpg为空集;
5b)随机在更新后的第g代父代种群pg’中选择两个个体R1和R2,并将R1作为源个体,将R2作为目的个体;
5c)随机选择在1到n之间的整数i,设目的基因值e等于源个体R1中的第i个基因值r1 i,即e=r1 i,设节点标号集合U为空集,比较源个体R1中的每个基因值r1 j和目的基因值e,如果r1 j=e,将节点标号j放入节点标号集合U中,得到待改变的节点标号集合Ve=U,其中1≤j≤n;
5d)对于待改变的节点标号集合Ve中的每个节点标号j,将目的个体R2中对应的第j个基因值r2 j改变为目的基因值e,即r2 j=e,则得到交叉后的新个体R2’,将新个体R2’放入第g代子代种群chpg中;
5e)令q=q+1,比较迭代次数q和父代种群大小np,如果q≤np,则返回步骤5b);否则,结束执行。
6.如权利要求1所述的基于遗传算法的异构社会网络社区检测方法,其中步骤7)所述对第g代子代种群chpg中每个个体R进行变异操作,按照如下步骤进行:
6a)设迭代次数q=1;
6b)随机产生第二随机数rand2和变异概率pm进行比较,如果rand2<pm,则转到步骤6c);否则,转到步骤6f);
6c)设基因值集合L为空集,由邻接矩阵A得到与第q个节点vq有连接的每个节点vj,将每个节点vj在个体R中对应的第j个基因值rj放入基因值集合L中,其中1≤j≤n,将最大局部模块度max设为负无穷大,即max=-∞;
6d)对基因值集合L中的每个基因值rj,假设个体R中的第q个基因值rq等于基因值rj,计算在此假设情况下第rj个社区的局部模块度frj,并比较第rj个社区的局部模块度函frj和最大局部模块度max,如果frj>max,则令max=frj,令取得最大局部模块度的社区标号lq=rj
其中,第rj个社区的局部模块度frj计算公式如下:
f r j = &Sigma; v i 1 , v i 2 , &CenterDot; &CenterDot; &CenterDot; , v it , &CenterDot; &CenterDot; &CenterDot; v ik V r j ( A ( i 1 , i 2 , &CenterDot; &CenterDot; &CenterDot; , i t , &CenterDot; &CenterDot; &CenterDot; , i k ) - d i 1 d i 2 &CenterDot; &CenterDot; &CenterDot; d it &CenterDot; &CenterDot; &CenterDot; d ik ( 2 | V | ) k - 1 ) ,
式中,Vrj为第rj个社区的节点集合,其中1≤c≤n,dit为节点vit的度,即连接到节点vit的连边数,其中1≤it≤nt,1≤t≤k,|V|为网络中的总连边数;
6e)如果基因值集合L中的每个基因值rj对应的局部模块度frj都计算完毕,令个体R中的第q个基因值rq等于取得最大局部模块度的社区标号lq,即rq=lq,执行步骤6f);否则,返回步骤6d);
6f)令q=q+1,并比较迭代次数q和节点总个数n,如果q≤n,则返回步骤6b);否则,结束执行。
CN201310651893.1A 2013-12-04 2013-12-04 基于遗传算法的异构社会网络社区检测方法 Pending CN103605793A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310651893.1A CN103605793A (zh) 2013-12-04 2013-12-04 基于遗传算法的异构社会网络社区检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310651893.1A CN103605793A (zh) 2013-12-04 2013-12-04 基于遗传算法的异构社会网络社区检测方法

Publications (1)

Publication Number Publication Date
CN103605793A true CN103605793A (zh) 2014-02-26

Family

ID=50124015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310651893.1A Pending CN103605793A (zh) 2013-12-04 2013-12-04 基于遗传算法的异构社会网络社区检测方法

Country Status (1)

Country Link
CN (1) CN103605793A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942308A (zh) * 2014-04-18 2014-07-23 中国科学院信息工程研究所 大规模社交网络社区的检测方法及装置
CN104199884A (zh) * 2014-08-19 2014-12-10 东北大学 一种基于r覆盖率优先的社交网络观察点选取方法
CN104318306A (zh) * 2014-10-10 2015-01-28 西安电子科技大学 基于非负矩阵分解和进化算法优化参数的自适应交叠社区检测方法
CN104484365A (zh) * 2014-12-05 2015-04-01 华中科技大学 一种多源异构网络中社会关系的预测方法与***
CN109150237A (zh) * 2018-08-15 2019-01-04 桂林电子科技大学 一种鲁棒多用户检测器设计方法
CN109166022A (zh) * 2018-08-01 2019-01-08 浪潮通用软件有限公司 基于模糊神经网络和遗传算法的筛选方法
CN109726001A (zh) * 2018-12-29 2019-05-07 中山大学 一种用于异构***的遗传算法
CN110334264A (zh) * 2019-06-27 2019-10-15 北京邮电大学 一种针对异构动态信息网络的社区检测方法及装置
CN112351033A (zh) * 2020-11-06 2021-02-09 北京石油化工学院 工控网络中基于双种群遗传算法的深度学习入侵检测方法
WO2021227130A1 (zh) * 2020-05-13 2021-11-18 深圳计算科学研究院 异构网络社群检测方法、装置、计算机设备及存储介质

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942308A (zh) * 2014-04-18 2014-07-23 中国科学院信息工程研究所 大规模社交网络社区的检测方法及装置
CN103942308B (zh) * 2014-04-18 2017-04-05 中国科学院信息工程研究所 大规模社交网络社区的检测方法及装置
CN104199884B (zh) * 2014-08-19 2017-09-22 东北大学 一种基于r覆盖率优先的社交网络观察点选取方法
CN104199884A (zh) * 2014-08-19 2014-12-10 东北大学 一种基于r覆盖率优先的社交网络观察点选取方法
CN104318306A (zh) * 2014-10-10 2015-01-28 西安电子科技大学 基于非负矩阵分解和进化算法优化参数的自适应交叠社区检测方法
CN104318306B (zh) * 2014-10-10 2017-03-15 西安电子科技大学 基于非负矩阵分解和进化算法优化参数的自适应交叠社区检测方法
CN104484365A (zh) * 2014-12-05 2015-04-01 华中科技大学 一种多源异构网络中社会关系的预测方法与***
CN104484365B (zh) * 2014-12-05 2017-12-12 华中科技大学 一种多源异构在线社会网络中网络主体之间社会关系的预测方法与***
CN109166022A (zh) * 2018-08-01 2019-01-08 浪潮通用软件有限公司 基于模糊神经网络和遗传算法的筛选方法
CN109150237A (zh) * 2018-08-15 2019-01-04 桂林电子科技大学 一种鲁棒多用户检测器设计方法
CN109726001A (zh) * 2018-12-29 2019-05-07 中山大学 一种用于异构***的遗传算法
CN110334264A (zh) * 2019-06-27 2019-10-15 北京邮电大学 一种针对异构动态信息网络的社区检测方法及装置
WO2021227130A1 (zh) * 2020-05-13 2021-11-18 深圳计算科学研究院 异构网络社群检测方法、装置、计算机设备及存储介质
CN112351033A (zh) * 2020-11-06 2021-02-09 北京石油化工学院 工控网络中基于双种群遗传算法的深度学习入侵检测方法
CN112351033B (zh) * 2020-11-06 2022-09-13 北京石油化工学院 工控网络中基于双种群遗传算法的深度学习入侵检测方法

Similar Documents

Publication Publication Date Title
CN103605793A (zh) 基于遗传算法的异构社会网络社区检测方法
Olteanu et al. On-line relational and multiple relational SOM
Kuo et al. Integration of ART2 neural network and genetic K-means algorithm for analyzing Web browsing paths in electronic commerce
CN104731962A (zh) 一种社交网络中基于相似社团的好友推荐方法及***
CN103810288A (zh) 基于聚类算法对异构社会网络进行社区检测的方法
US9075734B2 (en) Method for updating betweenness centrality of graph
CN106991447A (zh) 一种嵌入式多类别属性标签动态特征选择算法
CN104200272A (zh) 一种基于改进遗传算法的复杂网络社区挖掘方法
De Andrés et al. A HYBRID DEVICE OF SELF ORGANIZING MAPS (SOM) AND MULTIVARIATE ADAPTIVE REGRESSION SPLINES (MARS) FOR THE FORECASTING OF FIRMS'BANKRUPTCY.
CN109447110A (zh) 综合邻居标签相关性特征和样本特征的多标签分类的方法
CN102722578B (zh) 一种基于拉普拉斯正则化无监督的聚类特征选取方法
CN117557299B (zh) 基于计算机辅助的营销策划方法及***
Islambekov et al. Harnessing the power of topological data analysis to detect change points
Ponti et al. A Wasserstein distance based multiobjective evolutionary algorithm for the risk aware optimization of sensor placement
CN101142479A (zh) 用于非二进制序列比较的***、方法和计算机程序
CN105740949A (zh) 一种基于随机性best策略的群体全局优化方法
Huang et al. The Mahalanobis–Taguchi system–Neural network algorithm for data-mining in dynamic environments
Li et al. Adaptive subgraph neural network with reinforced critical structure mining
Wu et al. Automatic network clustering via density-constrained optimization with grouping operator
Zhou et al. Learning to correlate accounts across online social networks: An embedding-based approach
Wind et al. Link prediction in weighted networks
CN104899283A (zh) 一种针对单个不确定图的频繁子图挖掘与优化方法
Kuang et al. Coarformer: Transformer for large graph via graph coarsening
CN104572623A (zh) 一种在线lda模型的高效数据总结分析方法
CN116188115A (zh) 基于供应链网络需求与偏好挖掘的供应商推荐***及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140226

WD01 Invention patent application deemed withdrawn after publication