[发明专利]一种网络社区发现方法在审
申请号: | 201711167279.2 | 申请日: | 2017-11-21 |
公开(公告)号: | CN107784598A | 公开(公告)日: | 2018-03-09 |
发明(设计)人: | 白亮;杜航原 | 申请(专利权)人: | 山西大学 |
主分类号: | G06Q50/00 | 分类号: | G06Q50/00 |
代理公司: | 山西五维专利事务所(有限公司)14105 | 代理人: | 郭海燕 |
地址: | 030006 山*** | 国省代码: | 山西;14 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络 社区 发现 方法 | ||
1.一种网络社区发现方法,其特征在于,给定一个网络,用G(V,E)表示,其中V=(v1,v2,…,vm)表示网络中节点的集合,vi表示网络中第i个节点(1≤i≤m),m为节点数量,E=(e1,e2,…,en)表示网络中边的集合,ej表示网络中第j条边(1≤j≤n),n为边的数量,用L=(l1,l2,…,lm)表示网络中所有节点的社区标签构成的集合,li(1≤i≤m)为第i个节点vi的社区标签;本发明所述内容即确定网络中所有节点的社区标签集合L,并将标签一致的节点归为同一社区的过程,包括以下步骤:
步骤1、对于网络中的任一节点vi,记其周围与之存在直接连边关系的邻居节点集合为Vi,这些直接连边构成的集合记作Ei;节点vi的节点子图即由Vi和Ei组成的局部网络,可表示为Gi={(v,e)|v∈Vi,e∈Ei};利用最优模块度模型对网络中每个节点的节点子图划分局部社区,这一过程是通过迭代计算实现的,对任一节点vi的节点子图Gi其具体步骤如下:
步骤1-1、初始化Gi的社区分布,每个节点属于一个独立局部社区;
步骤1-2、利用式(1)计算节点子图Gi的模块度Qi:
其中mi为节点子图Gi中的节点数量,ni为Gi中边的数量;1≤p≠q≤mi表示Gi中任意两个节点的序号;A为Gi的邻接矩阵,其元素Apq取值为0或1,表示Gi中节点p和q之间的连边数量;表示Gi中节点p的度;为Gi中节点p的局部社区标签,若节点p和q同属一个局部社区则否则
步骤1-3、沿着使Qi增大最多的方向对Gi中有边相连的局部社区对进行合并;
步骤1-4、计算社区合并后Gi的模块度,记此时的模块度为若则返回步骤1-3继续进行社区合并,否则进入步骤1-5;
步骤1-5、记录节点子图Gi中节点的局部社区标签,完成Gi的局部社区划分,记Gi的局部社区数量为Ni,Gi的最优模块度为
步骤2、计算每个网络节点的信息熵,确定网络中节点的社区标签传播顺序,具体包含以下步骤:
步骤2-1、计算每个网络节点的信息熵,计算方法如式(2)所示:
其中,Hi表示网络中第i个节点vi的信息熵,Ni为步骤1-5得到的节点子图Gi的局部社区数量,1≤a≤Ni表示Gi中社区的序号,ωa表示Gi中第a个社区的分布概率,其计算方法如式(3):
满足0<ωa≤1,
步骤2-2、按照信息熵大小对网络中的全部节点进行排序,以此作为节点社区标签传播的顺序,即以不确定性度量值最大的节点作为社区标签传播的起点;
步骤3、为网络中的所有节点随机分配初始化社区标签,初始状态下每个节点各自位于不同的社区内;
步骤4、计算每个网络节点的不确定性度量值,计算方法如式(4)所示:
其中,Ωi表示节点vi的不确定性度量,其取值越大表明节点vi包含的社区不确定性却小,为步骤1-5获得的节点vi的节点子图Gi的最优模块度,Hi为步骤2-1获得的节点vi的信息熵;
步骤5、按照步骤2确定的标签传播顺序对网络中所有节点的社区标签进行依次更新,对于任一节点vi,具体包含以下步骤:
步骤5-1、选出与vi存在直接连边关系的邻居节点集合Vi中不确定性度量值最大的邻居节点;
步骤5-2、比较该邻居节点的社区标签与vi的社区标签是否一致,如不一致则将vi的社区标签进行替换;
步骤6、检查社区中是否有节点社区标签发生变化,如有变化则返回步骤5对节点社区标签进行下一轮迭代更新,如无变化则将标签一致的节点划分到相同社区当中,进行结果输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山西大学,未经山西大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711167279.2/1.html,转载请声明来源钻瓜专利网。