一种基于适应性函数和社区相似性的社团发现方法

文档序号:25421926发布日期:2021-06-11 21:33阅读:61来源:国知局
一种基于适应性函数和社区相似性的社团发现方法
本发明提供一种基于适应性函数和社区相似性的社团发现算法,属于网络社区划分领域。
背景技术
:网络社区划分在很多领域,比如计算机科学、社会学、生物学、交通学,获得了关注。因为大部分复杂系统可以被建模为复杂网络。网络中每个节点代表人们感兴趣要研究的实体,而边则代表不同实体之间的关系。发现网络中的社区可以更好地帮助我们研究网络的结构特征,比如社交网络同社区的人往往有共同的兴趣;把网页集合分为一个个社区,意味着这些网页往往都有同一个主题。传统的社区划分算法专注发现不相交的社区,而不是发现互相有重叠的社区;往往利用全局优化的手段,而不是局部优化的方法来得到社区划分。lfm(localfitnessmethod)作为一种基于本地拓展优化的算法,虽然能够较为快速地划分社区,但是容易出现在拓展社区的过程中把种子节点先加入后排除,再加入再排除的情况,严重影响了算法效率和准确度。因此,lfmex(localfitnessmethodextension)被我们提出来,采用了新的适应性函数和社区相似性度量。新的适应性函数移除了原来lfm中后退调整的步骤,并且考虑了节点和社区直接关系、间接联系、互斥联系。通过优化新的适应性函数,可能有多个社区重叠的社区划分可以被我们得到。因此,基于随机图的相似性度量被用来合并这些重叠社区。它通过考虑社团之间的真实边数和期望边数来衡量相似性。最后,模块度较高比较紧凑的社区划分可以被我们得到。技术实现要素:(一)发明目的原先的lfm算法在拓展社区过程中,原先的适应性函数因为有个回退调整的过程,所以会导致种子节点不断被加入拓展社区,又不断被排除出社区,最后种子节点划分不到社区,造成最后的社区划分质量较差。因此,针对这种种子节点无家可归的问题,提出一种基于适应性函数和社区相似性的改进lfm算法,该方法提高了社区划分的模块度、交叉信息熵,算法可以在多个真实网络和人工网络上表现良好,因此具有较好的普适性。(二)技术方案本发明为实现上述发明目的采用如下技术方案:步骤1,输入图结构g(v,e),v代表节点集合,e代表边集合。n=|v|代表图中节点数量,m=|e|代表图中边的数量,n(v)代表节点v的邻居集合,kv=|n(v)|代表节点v的度。对于重叠社区发现来说,目标是找到一些社团,从而使并且s是社区的数量。步骤2,随机选择一个还未划分到社区的节点v,作为一个种子节点,初始化形成一个新的社区c(v)步骤3,计算n(c(v))中每个节点的适应函数值,其中n(c(v))是待拓展社区c(v)的邻居节点。适应性函数如下:s.t.0<θ<1x+y+z=ki0<α<10<β<10<α+β<1其中代表的是社区c的全部内度之和,是社区c的全部外都之和,所谓内度就是贡献度的边两端节点都在社区c之内,而外度则是一端在社区内,另一端在社区外。x代表的是节点i和社区c直接相连的边数,z代表的是i和其他社区相连的边数,y则是剩下的边数,因此x,y,z的和是节点i的度数。步骤4,找出适应值最大的节点加入待拓展社区。步骤5,检查是否每个待选节点的适应值都是负数,如果是,也就是待拓展社区无法继续拓展,此时得到一个划分好的新社区c’(v),进行下一步;否则不断重复步骤3、步骤4。步骤6,检查是否所有节点都分配到了社区,如果是,意味着现在已经得到一个可能部分社区重叠较多的社区原始划分,则进行下一步;否则重复步骤2,步骤3,步骤4,步骤5。步骤7,对于原始社区划分中每个社区i,计算i和每个邻居社j′的相似性:其中auv节点u和节点v之间的边数,iuv是对角线为1的单位矩阵,ku和kv是节点u,v的度数,而m是整个网络的边数。保证相似性大于阈值ε,挑选出与i最相似的社区j,并记录成i->j。步骤8,合并那些互为最相似关系的社区,也就是i->j,j->i这样的社区步骤9,检查是否还有互为最相似的社区对,如果是,则重复步骤6,步骤7;否则整个算法结束,输出现在的社区划分作为最后社区划分。(三)本发明的优点及功效本发明与现有技术相比的有点在于,本发明提出了新的适应性函数,考虑了节点和社区之间直接、间接、互斥的三种联系,能够有效地判断一个是否应该要被加入当前待拓展社区,并且采用了考虑真实边数和期望边数差异的相似性度量来合并社区,从而提高了最后划分社区的模块度和交叉信息熵。并且适应性函数和相似性度量都可以用数据结构高效实现,从而使算法效率大大提升,可以应用到较大型的网络之上,从而具有较强的普适性和应用价值。附图说明图1为本发明所述方法流程示意图图2为本发明所述方法中zachary网络拓扑结构图3为本发明所述方法适应性函数计算图图4为本发明所述方法社区相似性函数计算图图5为本发明所述方法中zachary最后网络划分具体实施方式为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及一个真实网络社区划分实例进行详细描述。如图1所示,本发明提供一种基于适应性函数和社区相似性的改进lfm算法,包括如下步骤:步骤1,输入真实网络空手道网络(zacharynetwork)的图结构g(v,e),主要是以边表格式作为原始输入,然后程序转化为邻接表或者邻接矩阵作为存储。源节点目标节点0102030405………………………………30323033313231333233其拓扑结构如图1所示步骤2,随机选择一个还未划分到社区的节点v,作为一个种子节点,初始化形成一个新的社区c(v)步骤3,计算n(c(v))中每个节点的适应函数值,其中n(c(v))是待拓展社区c(v)的邻居节点。适应性函数如下:s.t.0<θ<1x+y+z=ki0<α<10<β<10<α+β<1其中代表的是社区c的全部内度之和,是社区c的全部外都之和,所谓内度就是贡献度的边两端节点都在社区c之内,而外度则是一端在社区内,另一端在社区外。x代表的是节点i和社区c直接相连的边数,z代表的是i和其他社区相连的边数,y则是剩下的边数,因此x,y,z的和是节点i的度数。如图3中所示,x是与节点i直接相连的黑色虚线边的数目,z是与社区a,社区b相连的黑色实线边的数目,然后y是剩下的和其他正常节点相连的边的个数。是待拓展社区c中所有实线边数的两倍,而是待拓展社区c外围虚线边的个数。适应性函数中的θ控制着最后拓展社区c的大小,θ越小,c越容易拓展,最后大小就会比较大。x,y,z分别考虑了候选节点i和待拓展社区的直接联系,间接联系,互斥联系,然后这三种联系所占的权重在待拓展社区不断被拓展的过程中应该是不断变化的。一开始,直接联系和间接联系应该被考虑的重要些,然后随着节点的增多,影响应该越来越小,而互斥关系则越来越重要。因此,令其中|c(v)|是社区c的大小,可以看出,α,β都会随着时间快速减小。如图3所示,这里各个参数值应为:因为为负无穷,所以节点i肯定不会被加入待拓展社区中。步骤4,找出适应值最大的节点加入待拓展社区。步骤5,检查是否每个待选节点的适应值都是负数,如果是,也就是待拓展社区无法继续拓展,此时得到一个划分好的新社区c’(v),进行下一步;否则不断重复步骤3、步骤4。步骤6,检查是否所有节点都分配到了社区,如果是,意味着现在已经得到一个可能部分社区重叠较多的社区原始划分,则进行下一步;否则重复步骤2,步骤3,步骤4,步骤5。步骤7,对于原始社区划分中每个社区i,计算i和每个邻居社j′的相似性:其中auv节点u和节点v之间的边数,iuv是对角线为1的单位矩阵,ku和kv是节点u,v的度数,而m是整个网络的边数。挑选出与i最相似的社区j,并且保证相似性大于阈值ε,并记录成i->j。如图4所示,节点o是两个社区之间的重叠节点。其中的虚线边的数目代表的两个社区之间的真实联系数,而根据基于概率论的随机图,是两个社区c1,c2随机情况的期望连接数。因此可以合理地认为如果两个社区之间是完全没有联系,也就是不相似的,那么真实联系数肯定会十分接近期望联系数。因此,可以用真实联系数和期望联系数的差值来衡量两个社团的相似性。在这里,除以是为了归一化,方便比较。如图4,各参数值如下:由于sim(ci,cj)>ε,所以这两个社区要合并。步骤8,合并那些互为最相似关系的社区,也就是i->j,j->i这样的社区。具体来说,社区i和社区j互为对方的最相似社区。步骤9,检查是否还有互为最相似的社区对,如果是,则重复步骤6,步骤7;否则整个算法结束,输出现在的社区划分作为最后社区划分。如图5所示,zachary网络被分为4个结构明显的社区。以上所述,仅为本发明部分具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1