当前位置: 首页 > 专利查询>福州大学专利>正文

基于随机游走与种子扩展的重叠社区发现方法技术

技术编号:17033718 阅读:35 留言:0更新日期:2018-01-13 19:52
本发明专利技术涉及一种基于随机游走与种子扩展的重叠社区发现方法,运用了随机游走选取种子社区、相似度计算与优化自适应函数社区扩展,实现大规模社交网络上的社区发现,包括以下步骤:1、读取原始数据,获取网络结构及节点近邻信息;2、根据节点的转移概率矩阵、评分矩阵以及节点与社区的相似度,获得种子社区集合

【技术实现步骤摘要】
基于随机游走与种子扩展的重叠社区发现方法
本专利技术涉及社交网络上的重叠社区发现
,特别是一种基于随机游走与种子扩展的重叠社区发现方法。
技术介绍
现实生活中存在很多复杂的网络结构,例如社交网络、科学家合作网络、文献引用网络、蛋白质互相协作网以及在线社交网络等。这些复杂网络最关键的特性就是都可以被抽象为由许多节点和边组成,节点代表网络中的个体,而边代表个体间的联系,边还可以赋予权重值。复杂网络中的社区通常要求一个社区内的点连接紧密,而社区与社区之间的点连接稀疏。社区发现是研究复杂网络结构的关键技术之一。社区发现的目的就是要从复杂的网络结构中高效准确的发现这些紧密的社区。社区结构是复杂网络中重要的结构,如何高效准确的挖掘出社区隐含的结构与信息仍是一个难点,近些年吸引很多人对其进行深入的研究。目前已经提出了很多基于网络结构划分的全局社区发现算法,包括层次聚类算法、谱方法、基于团的方法、边聚类、标签传播等。由于全局社区发现算法需要对整个网络结构信息进行整体认知,在规模较大或者不完整的复杂网络中就存在一些缺陷,所以就有了基于种子扩展的局部社区发现算法。基于种子扩展的局部社区发现算法通常是从网络中的种子节点出发,利用社区的局部信息不断的从网络中加入节点来发现社区结构。现有的基于种子扩展的局部社区发现算法在社区发现方面已经取得一定成果,但仍然存在以下几个问题:首先算法的时间与空间复杂度相对较高,在处理较大规模网络时存在不足;其次,算法通常只是通过某个简单策略选取节点作为种子节点,从而影响了社区扩展挖掘的精确度;最后,在社区扩展阶段未能从多个方面考虑节点加入社区的紧密度,发现的社区质量不高。
技术实现思路
本专利技术的目的在于提供一种基于随机游走与种子扩展的重叠社区发现方法,该方法可以高效、准确得发现重叠社区。为实现上述目的,本专利技术的技术方案是:一种基于随机游走与种子扩展的重叠社区发现方法,包括以下步骤:步骤1:读取原始数据,获取网络结构及节点近邻信息;步骤2:根据节点的转移概率矩阵、评分矩阵以及节点与社区的相似度,获得种子社区集合Seeds;步骤3:根据社区间相似度优化种子社区集合Seeds;步骤4:根据种子与社区的相似度和自适应fitness函数扩展社区;步骤5:根据节点与社区相似度和社区间相似度处理网络中的自由节点并合并相似社区;步骤6:输出网络重叠社区结构。进一步地,在步骤2中,根据节点的转移概率矩阵、评分矩阵以及节点与社区的相似度,获得种子社区集合Seeds的方法如下:步骤2.1:根据网络的邻接矩阵Auv和节点度kv,得到转移概率矩阵Puv:Puv=Auv/kv(1)Puv中元素表示节点u随机走动一步到达节点v的概率;进一步得到随机走动t步之后的转移概率矩阵Ptuv:步骤2.2:根据游走t步之后的转移概率矩阵Ptuv,得到评分矩阵B:其中,T表示随机游走的步数阈值;评分矩阵B中每个元素表示节点u走动t步到达节点v所得到的评分,用B(u,v)表示,两个节点连接越紧密,则其间的评分越高;步骤2.3:把B(u,v)降序排序,取出前l个评分值较大的节点构成初始种子列表B-list;步骤2.4:计算B-list中每个节点作为初始种子社区与其近邻节点的节点与社区相似度NC_SIM(v,Ci),当相似度大于设定阈值时就将邻居节点加入到种子社区中,最终得到种子社区集合Seeds;其中,v表示节点,为节点v与社区Ci关联边的度,kv为节点v的度;NC_SIM(v,Ci)越大,则表明节点v越有可能属于社区Ci。进一步地,在步骤3中,根据社区间相似度优化种子社区集合Seeds的方法如下:步骤3.1:遍历种子社区集合Seeds中的每个种子社区,计算社区间的相似度CC_SIM(Ci,Cj);其中,|overlap(Ci,Cj)|为社区Ci与社区Cj共有的节点数,|Ci|为社区Ci的节点数,|Cj|为社区Cj的节点数;CC_SIM(Ci,Cj)越大,则表明社区Ci与社区Cj的结构越相近,当超过设定阈值ε时,将两个社区合并为一个社区;步骤3.2:如果社区间的相似度大于阈值ε时,则将该两个社区合并,获得优化后的种子社区集合Seeds’。进一步地,在步骤4中,根据种子与社区相似度和自适应fitness函数扩展社区的方法如下:步骤4.1:先获得步骤3优化后的种子社区的邻居集NBSet,遍历NBSet,计算其中每个邻居节点与种子社区的节点与社区相似度NC_SIM(v,Ci);步骤4.2:取出前l个相似度较大的节点,构成候选节点列表C-list;步骤4.3:计算将C-list中的候选节点加入社区中的自适应函数fitness,把能够让fitness增加的节点加入社区,否则置其为自由节点;自适应函数fitness的计算公式如下:其中,和分别为子图g内部度和外部度的总值,参数α是一个为正的实数,用来控制发现的社区规模;步骤4.4:更新NBSet,然后重复以上步骤,直到NBSet为空;步骤4.5:得到初始网络重叠社区集合C。进一步地,在步骤5中,根据节点与社区相似度和社区间相似度处理网络中的自由节点并合并相似社区的方法如下:步骤5.1:计算网络中的自由节点到社区的节点与社区相似度CC_SIM(Ci,Cj),把自由节点加入到相似度最高的社区中,并更新的重叠社区集合C;步骤5.2:计算重叠社区集合C中社区与社区的之间的相似度CC_SIM(Ci,Cj),合并相似度大于阈值ε的社区,得到新的重叠社区集合C’。进一步地,在步骤6中,输出网络重叠社区结构的方法为:根据优化后得到新的重叠社区集合C’,集合C’中的每个元素代表一个社区,然后输出生成的网络重叠社区结构。本专利技术的有益效果是将随机游走策略、相似度计算以及优化自适应函数fitness相结合,应用于较大规模网络的社区发现,从而能够有效的得到网络中重叠社区结构划分,并为网络聚类在重叠社区发现方向的发展提供有益补充。附图说明图1是本专利技术实施例的实现流程图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步的详细说明。本专利技术基于随机游走与种子扩展的重叠社区发现方法,运用了随机游走选取种子社区、相似度计算与优化自适应函数社区扩展,实现大规模社交网络上的社区发现,如图1所示,包括以下步骤:步骤1:读取原始数据,获取网络结构及节点近邻信息。步骤2:根据节点的转移概率矩阵、评分矩阵以及节点与社区的相似度,获得种子社区集合Seeds。具体方法如下:步骤2.1:根据网络的邻接矩阵Auv和节点度kv,得到转移概率矩阵Puv:Puv=Auv/kv(1)Puv中元素表示节点u随机走动一步到达节点v的概率;进一步得到随机走动t步之后的转移概率矩阵Ptuv:步骤2.2:根据游走t步之后的转移概率矩阵Ptuv,得到评分矩阵B:其中,T表示随机游走的步数阈值;评分矩阵B中每个元素表示节点u走动t步到达节点v所得到的评分,用B(u,v)表示,两个节点连接越紧密,则其间的评分越高;步骤2.3:把B(u,v)降序排序,取出前l个评分值较大的节点构成初始种子列表B-list;步骤2.4:计算B-list中每个节点作为初始种子社区与其近邻节点的节点与社区相似度NC_SIM(v,Ci),当相似度大于设定阈值时就将邻居节点加入到种子社区中,最终得本文档来自技高网
...
基于随机游走与种子扩展的重叠社区发现方法

【技术保护点】
一种基于随机游走与种子扩展的重叠社区发现方法,其特征在于,包括以下步骤:步骤1:读取原始数据,获取网络结构及节点近邻信息;步骤2:根据节点的转移概率矩阵、评分矩阵以及节点与社区的相似度,获得种子社区集合Seeds;步骤3:根据社区间相似度优化种子社区集合Seeds;步骤4:根据种子与社区的相似度和自适应fitness函数扩展社区;步骤5:根据节点与社区相似度和社区间相似度处理网络中的自由节点并合并相似社区;步骤6:输出网络重叠社区结构。

【技术特征摘要】
1.一种基于随机游走与种子扩展的重叠社区发现方法,其特征在于,包括以下步骤:步骤1:读取原始数据,获取网络结构及节点近邻信息;步骤2:根据节点的转移概率矩阵、评分矩阵以及节点与社区的相似度,获得种子社区集合Seeds;步骤3:根据社区间相似度优化种子社区集合Seeds;步骤4:根据种子与社区的相似度和自适应fitness函数扩展社区;步骤5:根据节点与社区相似度和社区间相似度处理网络中的自由节点并合并相似社区;步骤6:输出网络重叠社区结构。2.根据权利要求1所述的基于随机游走与种子扩展的重叠社区发现方法,其特征在于,在步骤2中,根据节点的转移概率矩阵、评分矩阵以及节点与社区的相似度,获得种子社区集合Seeds的方法如下:步骤2.1:根据网络的邻接矩阵Auv和节点度kv,得到转移概率矩阵Puv:Puv=Auv/kv(1)Puv中元素表示节点u随机走动一步到达节点v的概率;进一步得到随机走动t步之后的转移概率矩阵Ptuv:步骤2.2:根据游走t步之后的转移概率矩阵Ptuv,得到评分矩阵B:其中,T表示随机游走的步数阈值;评分矩阵B中每个元素表示节点u走动t步到达节点v所得到的评分,用B(u,v)表示,两个节点连接越紧密,则其间的评分越高;步骤2.3:把B(u,v)降序排序,取出前l个评分值较大的节点构成初始种子列表B-list;步骤2.4:计算B-list中每个节点作为初始种子社区与其近邻节点的节点与社区相似度NC_SIM(v,Ci),当相似度大于设定阈值时就将邻居节点加入到种子社区中,最终得到种子社区集合Seeds;其中,v表示节点,为节点v与社区Ci关联边的度,kv为节点v的度;NC_SIM(v,Ci)越大,则表明节点v越有可能属于社区Ci。3.根据权利要求2所述的基于随机游走与种子扩展的重叠社区发现方法,其特征在于,在步骤3中,根据社区间相似度优化种子社区集合Seeds的方法如下:步骤3.1:遍历种子社区集合Seeds中的每个种子社区,计算社区间的相似度CC_SIM(Ci,Cj);

【专利技术属性】
技术研发人员:郭昆郭文忠陈羽中牛玉贞陈基杰
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1