基于模块度优化的重叠社区发现方法及装置制造方法及图纸

技术编号:36061955 阅读:19 留言:0更新日期:2022-12-24 10:26
本发明专利技术提供一种基于模块度优化的重叠社区发现方法及装置,该方法包括:获取网络节点的社区标签以及所述网络节点的邻接关系数据;基于所述社区标签以及所述邻接关系数据确定模块度比率,并基于所述模块度比率确定是否对所述网络节点进行合并;基于当前更新的网路节点与相邻的网络节点的相似性值,确定是否对网络节点的社区标签进行更新,并将更新的社区标签存储于对应的标签列表;基于所述标签列表中的社区标签的出现概率确定与所述标签列表对应的网络节点的社区,降低了原始方法的随机性,减少了标签传播过程的迭代次数,使得节点标签在较短时间内趋于稳定。标签在较短时间内趋于稳定。标签在较短时间内趋于稳定。

【技术实现步骤摘要】
基于模块度优化的重叠社区发现方法及装置


[0001]本专利技术涉及计算机
,具体涉及一种基于模块度优化的重叠社区发现方法及装置。

技术介绍

[0002]目前,标签传播方法LPA是一种基于图的半监督学习方法,其主要思想是利用已标记节点的标签信息预测未标记节点的标签信息。在标签传播过程中,每一个节点利用唯一的标签作为社区标识,对图中所有的顶点进行标签迭代更新。每个节点的标签选取邻居节点中出现次数最多的标签进行更新,若出现次数最多的标签不唯一时,随机选择一个标签进行更新,直到所有节点的标签不再发生变化为止。
[0003]该方法思路简单清晰,其基本过程如下:

为每个节点随机指定一个特有的标签;

逐轮刷新所有节点的标签,直到网络中节点的标签不再发生变化为止。对于每一轮刷新,节点标签的刷新规则如下:对于某一节点,考察其所有邻居节点的标签,并进行统计,将出现次数最多的标签赋值给当前节点。当出现次数最多的标签不唯一时,随机选择一个标签赋值给当前节点。LPA方法具有线性的时间复杂度,但是该方法只能发现非重叠社区,无法满足发现重叠社区。
[0004]在SLPA方法中引入了listener和speaker两个形象的概念,在刷新节点标签的过程中,任意选取一个节点作为listener,即消息的接收者,则其所有邻居节点都为speaker,即消息的发送者,speaker通常不止一个,所以需要制定一个规则来更新节点listener的标签。在LPA方法中,每个节点有且只有一个标签,但在SLPA方法中,每个节点设置了一个标签存储列表,将每次迭代更新的标签都存储在该列表中。SLPA方法中,用户需定义方法最大迭代次数T和后处理阈值r这两个参数。其基本思想为:

使用唯一的标签初始化每个节点的标签列表;

循环以下步骤直到达到最大迭代次数T:a.选择一个节点作为listener;b.所选节点的每个邻居(speaker)随机选择概率正比于该标签在其存储器中出现频率的标签,把所选择的标签发送给listener;c.Listener将接受到的出现次数最多的标签添加到其标签列表中。根据标签列表中的标签和后处理阈值r,输出每个节点最终的标签集。
[0005]与LPA方法相比,SLPA方法最大的特点为:SLPA会记录每个节点在迭代过程中的历史标签序列,例如迭代T次,则每个节点将保存一个长度为T+1的标签序列。当迭代停止后,对每个节点的标签列表中各互异标签出现的概率进行统计,按照某一给定的阈值r删除出现频率小的标签。所以方法结束后,一些节点会拥有多个标签,则这些节点即为重叠节点。所以LPA方法到SLPA方法,完成了非重叠社区发现方法到重叠社区发现方法的跨越。
[0006]因此,如何提供一种基于模块度优化的重叠社区发现方案,能够加快标签传播的速度,增加了原始方法的稳定性和鲁棒性,使得节点标签在较短时间内趋于稳定是本领域技术人员亟待解决的技术问题。

技术实现思路

[0007]本专利技术提供一种基于模块度优化的重叠社区发现方法及装置,能够加快标签传播的速度,增加了原始方法的稳定性和鲁棒性,使得节点标签在较短时间内趋于稳定。
[0008]第一方面,本专利技术提供一种基于模块度优化的重叠社区发现方法,包括:
[0009]获取网络节点的社区标签以及所述网络节点的邻接关系数据;
[0010]基于所述社区标签以及所述邻接关系数据确定模块度比率,并基于所述模块度比率确定是否对所述网络节点进行合并;
[0011]基于当前更新的网路节点与相邻的网络节点的相似性值,确定是否对网络节点的社区标签进行更新,并将更新的社区标签存储于对应的标签列表;
[0012]基于所述标签列表中的社区标签的出现概率确定与所述标签列表对应的网络节点的社区。
[0013]在一种实施例中,所述获取网络节点的社区标签以及所述网络节点的邻接关系数据包括:
[0014]分配所述网络节点所属的社区标签;
[0015]获取网络邻接矩阵net,所述net用于表示当前所需处理网络的内部结构,包括n阶矩阵,如下所示:
[0016][0017]取任意的A
kl
,k∈[1,n],l∈[1,n],当节点k和节点l间有边存在时,A
kl
=1,当节点k和节点l间无边存在时,A
kl
=0,k和l为正整数。
[0018]在一种实施例中,所述基于所述社区标签以及所述邻接关系数据确定模块度比率,并基于所述模块度比率确定是否对所述网络节点进行合并包括:
[0019]假设对所述网路节点两两合并相邻社区;确定社区区合并后与社区合并前的模块度变化比率Qratio;若Qratio最大且Qratio>1,则合并两社区;
[0020]若Qratio≤1,则保留原始社区分类;若当前的网络节点的社区与多个邻居社区合并后模块度比率最大且大于1,依然保留原始社区划分;
[0021]迭代进行社区合并指定次数S或者直到模块度比率不再出现大于1的情况时,将每个网络节点此时所携带的社区标签作为节点标签列表的初始标签。
[0022]在一种实施例中,所述确定社区区合并后与社区合并前的模块度变化比率Qratio包括:
[0023]如果一个特定的网络被划分为C个社区,则模块度定义如下所示:
[0024][0025]其中,e
cc
表示社区c内所有边占整个网络边的比例,a
c
表示社区c内的节点的度占整个网络度的比例;还有一个清晰的物理意义:表示在相应的具有相同度序列的配置模型中这些节点之间的连边数占整个网络边数比例的期望值;l
c
表示社区c内所包含的边数,
d
c
表示社区c内所有节点的度值之和,则式的等价表示方式为:
[0026][0027]假设某一网络N被划分为两个社区c1和c2,网络的模块度值为:
[0028][0029]将社区c1中的节点i移至社区c2中,此时网络的模块度值为:
[0030][0031]其中,k
i,c1
表示节点i与社区c1的连边数,k
i,c2
表示节点i与社区c2的连边数,k
i
表示节点i的度;节点i移动后与移动前网络的模块度比率值为:
[0032][0033]在一种实施例中,所述基于当前更新的网路节点与相邻的网络节点的相似性值,确定是否对网络节点的社区标签进行更新,并将更新的社区标签存储于对应的标签列表包括:
[0034]将所有节点随机排序,依次更新节点标签列表;
[0035]对于当前所需更新标签列表的目标节点,确定所述目标节点与其邻居节点的相似性值;
[0036]基于所述相似性值选取具有最大相似性值的邻居节点;在所述邻居节点的标签列表中随机选择概率正比于该标签在其列表中出现频率的社区标签传递给当前节点;...

【技术保护点】

【技术特征摘要】
1.一种基于模块度优化的重叠社区发现方法,其特征在于,包括:获取网络节点的社区标签以及所述网络节点的邻接关系数据;基于所述社区标签以及所述邻接关系数据确定模块度比率,并基于所述模块度比率确定是否对所述网络节点进行合并;基于当前更新的网路节点与相邻的网络节点的相似性值,确定是否对网络节点的社区标签进行更新,并将更新的社区标签存储于对应的标签列表;基于所述标签列表中的社区标签的出现概率确定与所述标签列表对应的网络节点的社区。2.根据权利要求1所述的基于模块度优化的重叠社区发现方法,其特征在于,所述获取网络节点的社区标签以及所述网络节点的邻接关系数据包括:分配所述网络节点所属的社区标签;获取网络邻接矩阵net,所述net用于表示当前所需处理网络的内部结构,包括n阶矩阵,如下所示:取任意的A
kl
,k∈[1,n],l∈[1,n],当节点k和节点l间有边存在时,A
kl
=1,当节点k和节点l间无边存在时,A
kl
=0,k和l为正整数。3.根据权利要求1所述的基于模块度优化的重叠社区发现方法,其特征在于,所述基于所述社区标签以及所述邻接关系数据确定模块度比率,并基于所述模块度比率确定是否对所述网络节点进行合并包括:假设对所述网路节点两两合并相邻社区;确定社区区合并后与社区合并前的模块度变化比率Qratio;若Qratio最大且Qratio>1,则合并两社区;若Qratio≤1,则保留原始社区分类;若当前的网络节点的社区与多个邻居社区合并后模块度比率最大且大于1,依然保留原始社区划分;迭代进行社区合并指定次数S或者直到模块度比率不再出现大于1的情况时,将每个网络节点此时所携带的社区标签作为节点标签列表的初始标签。4.根据权利要求3所述的基于模块度优化的重叠社区发现方法,其特征在于,所述确定社区区合并后与社区合并前的模块度变化比率Qratio包括:如果一个特定的网络被划分为C个社区,则模块度定义如下所示:其中,e
cc
表示社区c内所有边占整个网络边的比例,a
c
表示社区c内的节点的度占整个网络度的比例;还有一个清晰的物理意义:表示在相应的具有相同度序列的配置模型中这些节点之间的连边数占整个网络边数比例的期望值;l
c
表示社区c内所包含的边数,d
c
表示社区c内所有节点的度值之和,则式的等价表示方式为:
假设某一网络N被划分为两个社区c1和c2,网络的模块度值为:将社区c1中的节点i移至社区c2中,此时网络的模块度值为:其中,k
i,c1
表示节点i与社区c1的连边数,k
i,c2
表示节点i与社区c2的连边数,k
i

【专利技术属性】
技术研发人员:张静宜
申请(专利权)人:中移雄安信息通信科技有限公司中国移动通信集团有限公司
类型:发明
国别省市:

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

1