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

文档序号:6522416阅读:302来源:国知局
基于遗传算法的异构社会网络社区检测方法
【专利摘要】本发明公开一种基于遗传算法的异构社会网络社区检测方法,主要解决现有技术在社会网络数据和关系规模较大时,检测到的社区结构正确率明显降低的问题。其实现方案是:根据网络中的节点个数和节点之间的联系信息构建描述异构社会网络的邻接矩阵;利用邻接矩阵产生随机的符号编码个体;采用改进的模块密度作为适应度函数评价个体的优劣;根据个体的适应度函数值采用遗传算法对个体进行优化;将优化得到的适应度函数值最高的个体还原成对应的异构网络,解码得到划分出的社区结构。实验结果表明,本发明能够有效检测出异构社会网络的社区结构,且检测正确率较高,可用于大规模异构社会网络的社区检测。
【专利说明】基于遗传算法的异构社会网络社区检测方法
【技术领域】
[0001]本发明属于社会网络计算【技术领域】,特别涉及一种异构社会网络社区检测方法,可用于对复杂社会系统和大規模社会网络的结构研究。
【背景技术】
[0002]社会系统,是指由社会人和社会人与社会人之间的经济关系、政治关系和文化关系构成的系统,比如家庭、政党、社区都是不同层次的社会系统。社会系统是ー种典型的复杂系统,可以被抽象成为复杂网络来处理,即将系统中的实体抽象为节点,将实体间的联系抽象为节点之间的连边,得到一个由节点和连边组成的社会网络。由社会系统抽象而得到的复杂网络称为社会网络。
[0003]社区检测问题是复杂网络的ー个重要研究方向,近年来开始受到计算机科学、生物学、社会学和经济学等领域的广泛关注并体现出了一定的应用价值。复杂网络中的社区是指ー些相互之间比较相似,而与网络中的其它大部分节点有较大差异的节点簇。复杂网络的社区结构表现在社区内部连接紧密,而社区之间连接稀疏。复杂网络的社区检测目的在于探测并掲示出复杂网络固有的社区结构,社区结构有助于理解和推断整个网络的结构和功能。社区结构可用于蛋白质功能识别、新陈代谢途径预測、web社区挖掘、连接预测等实际问题中。
[0004]一般情况下所研究的社会网络都是由同一种节点组成的,但在实际生活中社会网络的构成更复杂,节点种类可能超过ー种。包含ー种以上节点的社会网络称为异构社会网络。比如在一个电影评价标签系统中,电影、标签、用户三种类型的实体构成了整个系统,一个用户对一部电影评分并且添加了一个标签,这样这三种实体之间就有联系,相应的节点之间有连边;而不同用户之间,不同电影之间,不同标签之间,则是没有联系的,所以同类节点之间没有连边。
[0005]异构社会网络的社区检测问题可描述为:包含k类实体的异构社会网络由图G表示,图G(V,E)由节点集合V和连边集合E组成。其中,节点集合V可看作由k类节点子集V11V2,…,Vk组成,非同类节点之间有连接而同类节点之间没有连接。在这样的一个异构社会网络中根据非同类节点之间的连接划分社区,使得划分出的社区结构具有社区内的非同类节点连接紧密,而社区间的非同类节点连接稀疏的特点。
[0006]目前,现有文献中提出的社会网络社区检测方法,大多是研究节点类型单ー的传统社会网络,主要有图分割方法、谱方法和快速算法,这些方法的共同点在于需要构建相似度矩阵,并通过求解特征向量来实现社区结构的划分。这些方法均没有考虑到网络中多种节点的情况,而在实 际应用中,社会网络中的节点多样性是很常见而且是不容忽略的,因此传统的社会网络社区检测方法无法应用于异构社会网络的社区检测问题。另外,现在也有一种异构社会网络的社区检测方法,即多关系聚类方法,该方法是基于多种实体间的联系计算相似性,并依据相似性将实体划分成簇。这种方法虽说可以划分出异构社会网络的社区结构,然而由于社会网络类型多、数据大量、关系复杂,存在扩展性问题,即随着社会网络数据和关系规模的増大,探測社区结构正确率明显降低。

【发明内容】

[0007]本发明的目的在于针对上述已有技术的不足,提出ー种基于遗传算法的异构社会网络社区检测方法,以对异构社会网络数据进行分类或聚类,进而实现对社区功能的探測和预测,得到满足较高准确率的异构社会网络社区结构。
[0008]本发明的技术方案是这样实现的:
[0009]为实现上述目的,本发明的实现步骤如下:
[0010]I)对异构网络中的节点类别数k和每类节点的个数Ii1, n2,…,nk进行统计,得到网络中节点总个数用每类节点的个数和节点之间联系信息构建描述异构社会网络的k维邻接矩阵A,A的大小为n1Xn2...Xnk;
[0011 ] 2)令初始种群的大小pn=50,根据节点总个数n随机产生pn个采用符号编码的个
体,用这些个体组成初始种群Pci ;设置交叉概率PC=0.8,变异概率pm=0.2,初始代数gfl,最
大代数mg=50,当前代数g=g(l,令第g代父代种群Pg等于初始种群Ptl,即Pg=Ptl ;
[0012]3)计算第g代父代种群P。中每个个体的适应度函数值D:
【权利要求】
1.ー种基于遗传算法的异构社会网络社区检测方法,包括如下步骤: 1)对异构网络中的节点类别数k和每类节点的个数Ii1,n2,…,nk进行统计,得到网络中节点总个数Il=W"+!!,;用每类节点的个数和节点之间联系信息构建描述异构社会网络的k维邻接矩阵A,A的大小为Ii1Xrv" Xnk ; 2)令初始种群的大小pn=50,根据节点总个数n随机产生pn个采用符号编码的个体,用这些个体组成初始种群Ptl ;设置交叉概率PC=0.8,变异概率pm=0.2,初始代数gfl,最大代数mg=50,当前代数g=g(l,令第g代父代种群Pg等于初始种群Ptl,即Pg=Ptl ; 3)计算第g代父代种群Pg中每个个体的适应度函数值D:
2.如权利要求1所述的基于遗传算法的异构社会网络社区检测方法,其中步骤I)所述的用每类节点之间的个数和联系信息构建描述异构社会网络的k维邻接矩阵A,按照如下规则进行: 如果第I类节点Vil、第2类节点vi2、--?、第k类节点Vik之间相互都有连接,则这k个节点之间有边相连,对应邻接矩阵中的元素Aai, i2,…,ik)=l,其中I≤I1 ≤ H1,I≤i2≤n2,…,I≤ik≤nk ; 如果第I类节点Vil、第2类节点vi2、--?、第k类节点Vik之间不是相互都有连接,则这k个节点之间没有边相连,对应邻接矩阵中的元素A Q1, i2,…,ik)=0。
3.如权利要求1所述的基于遗传算法的异构社会网络社区检测方法,其中步骤2)所述的根据节点总个数n随机产生pn个采用符号编码的个体,是指每个个体R=(ri,r2,…,^,…,rn)中的每个基因ri随机取I到n之间的整数,其中,I≤i≤n,第i个基因值巧代表第i个节点Vi所在的社区标号。
4.如权利要求1所述的基于遗传算法的异构社会网络社区检测方法,其中步骤4)所述的对第g代父代种群Pg进行精英保留操作和锦标赛选择操作,按照如下步骤进行: 4a)设新种群pnew为空集,进行I次精英保留操作,即将父代种群Pg中适应度函数值最大的个体放入新种群pnew中; 4b)进行pn-1次锦标赛选择操作,即在父代种群Pg中随机选取两个个体,比较这两个个体的适应度函数值大小,将适应度函数值较大的个体放入新种群pnew中; 4c)令更新后的第g代父代种群pg’等于新种群pnew,即pg’ =pnew。
5.如权利要求1所述的基于遗传算法的异构社会网络社区检测方法,其中步骤6)所述的对更新后的第g代父代种群Pg’进行单路交叉操作,按照如下步骤进行: 5a)设迭代次数q=l,设第g代子代种群Chpg为空集; 5b)随机在更新后的第g代父代种群pg’中选择两个个体R1和R2,并将R1作为源个体,将R2作为目的个体; 5c)随机选择在I到n之间的整数i,设目的基因值e等于源个体R1中的第i个基因值べ,即设节点标号集合U为空集,比较源个体R1中的每个基因值ベ和目的基因值e,如果^.=e,将节点标号j放入节点标号集合U中,得到待改变的节点标号集合Ve=U,其中I ≤j ≤n ; 5d)对于待改变的节点标号集合T中的每个节点标号j,将目的个体R2中对应的第j个基因值改变为目的基因值e,即r2j=e,则得到交叉后的新个体R2’,将新个体R2’放入第g代子代种群Chpg中; 5e)令q=q+l,比较迭代次数q和父代种群大小np,如果q≤np,贝U返回步骤5b);否则,结束执行。
6.如权利要求1所述的基于遗传算法的异构社会网络社区检测方法,其中步骤7)所述对第g代子代种群Chpg中每个个体R进行变异操作,按照如下步骤进行: 6a)设迭代次数q=l ; 6b)随机产生第二随机数rand2和变异概率pm进行比较,如果rand2〈pm,则转到步骤6c);否则,转到步骤6f); 6c)设基因值集合L为空集,由邻接矩阵A得到与第q个节点 ' 有连接的每个节点Vj,将每个节点 ' 在个体R中对应的第j个基因值ハ放入基因值集合L中,其中I <≤j <≤n,将最大局部模块度max设为负无穷大,即max=- ; 6d)对基因值集合L中的每个基因值假设个体R中的第q个基因值r,等于基因值rj,计算在此假设情况下第ハ个社区的局部模块度f?_,并比较第ハ个社区的局部模块度函frJ和最大局部模块度max,如果f;j>max,则令max=f;j,令取得最大局部模块度的社区标号1q=rj 其中,第。个社区的局部模块度计算公式如下:
【文档编号】G06F17/30GK103605793SQ201310651893
【公开日】2014年2月26日 申请日期:2013年12月4日 优先权日:2013年12月4日
【发明者】刘静, 焦李成, 曾玉洁, 马文萍, 马晶晶, 李阳阳 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1