基于中心节点的二层相异性社区发现算法研究

文档序号:1087058 发布日期:2020-10-20 浏览:2次 >En<

阅读说明:本技术 基于中心节点的二层相异性社区发现算法研究 (Two-layer dissimilarity community discovery algorithm research based on central node ) 是由 张月霞 陈紫扬 于 2019-04-03 设计创作,主要内容包括:本发明提供了一种基于中心节点的二层相异性社区发现算法(TDCN-CD)。其中,所述方法包括:首先,通过节点的度和距离选择中心节点,避免了同一社区中距离较近的节点同时被选为中心节点。其次,提出了基于二层的节点相异性指标,可以深度挖掘节点相异性性质,达到精确社区划分的效果。最后,采用Karate和Dolphins两个数据集,分别进行仿真和结果分析,表明相比于Girvan-Newman和Fast-Newman经典社区划分算法,TDCN-CD算法可以有效地检测出社区结构,达到更加准确划分社区的效果。(The invention provides a two-layer dissimilarity community discovery algorithm (TDCN-CD) based on a central node. Wherein the method comprises the following steps: first, the central node is selected according to the degree and the distance of the node, so that the node which is closer to the central node in the same community is prevented from being simultaneously selected as the central node. Secondly, a node dissimilarity index based on two layers is provided, the node dissimilarity property can be deeply mined, and the effect of accurate community division is achieved. Finally, two data sets of Karate and Dolphins are adopted to carry out simulation and result analysis respectively, and the TDCN-CD algorithm can effectively detect the community structure and achieve the effect of more accurately dividing communities compared with the classic community division algorithms of Girvan-Newman and Fast-Newman.)

基于中心节点的二层相异性社区发现算法研究

技术领域

本发明涉及社区发现领域,特别是涉及一种基于中心节点的二层相异性社区发现算法。

背景技术

复杂网络可以用来表示自然界与现实世界的各种复杂系统,具有复杂性、无标度和小世 界等特性。复杂网络有特定的组织结构且大部分复杂网络具有局部聚集总体分散的社区结构 特性。复杂网络的社区发现对于复杂网络的结构分析和行为预测等方面的研究具有重要意义。

目前针对复杂网络的社区发现研究已经提出了许多思想和算法,可以分为图分割方法、 谱方法、基于模块度、动态方法和层次聚类方法。其中,层次聚类方法可以有效地展示网络 层次结构,方便接下来对于网络拓扑结构的研究。因此,层次聚类方法在复杂网络的社区发 现的研究中得到广泛关注。层次聚类方法分为***式和凝聚式两类。以GN算法为典型代表 的***式方法在稀疏网络中存在孤立节点无法进行社区归属的问题,且时间复杂度较高,往 往无法取得准确的结果。而凝聚式方法的时间复杂度普遍低于***式方法,在社区发现的研 究中具有更大的应用前景。根据节点选择范围的不同可将凝聚式方法分为:以Newman提出的 快速GN算法为典型代表的全局相似性的方法;以标记传播算法为代表的局部相似性的方法 和以K-means算法为代表的基于中心节点的聚类方法三类。基于中心节点的聚类方法具有准 确度更好,发现社区质量高,适用范围广等优点。

针对传统的K-means算法的划分结果受起始中心节点影响较大且运行时间较长的问题, 本文提出了基于中心节点的二层相异性社区发现算法(Community DetectionMethod Based on Two-layer Dissimilarity of Central Node,TDCN-CD)。该算法基本思想是先将网络中的每个 节点都视为一个独立社区,先以节点的度作为指标选择出大度数节点,再采用节点的距离作 为指标进行二次筛选,保证中心节点选择的准确性。同时,为了解决社区划分中节点之间相 异性相同的问题,TDCN-CD算法中定义了二层节点相异性指标,深度挖掘节点相异性性质, 使得算法的准确性更高,适用范围更广。本发明提出的TDCN-CD算法可以有效地检测出社 区结构,实现准确划分社区的效果,具有一定的实现价值和研究意义。

发明内容

本发明提出了一种基于中心节点的二层相异性社区发现算法(TDCN-CD)。该算法首先 通过节点的度和距离选择中心节点,避免了同一社区中距离较近的节点同时被选为中心节点。 同时,提出了基于二层的节点相异性指标,可以深度挖掘节点相异性性质,达到精确社区划 分的效果。采用Karate和Dolphins两个数据集,分别进行仿真和结果分析,表明相比于 Girvan-Newman和Fast-Newman经典社区划分算法,TDCN-CD算法可以有效地检测出社区结 构,达到更加准确划分社区的效果。

所述基于中心节点的二层相异性社区发现算法(TDCN-CD)包括以下步骤:

1)建立中心节点集。

2)根据二层相异性指标进行社区划分。

3)使用模块度函数评价划分结果。

上述步骤1中建立中心节点集的方法为:

TDCN-CD算法首先遍历整个网络G,计算网络中所有节点的度。根据节点的度数对节点进行降序排序,排序后构成集合VH={V1,…Vi,Vi+1,…VN},其中,ki>ki+1。选取集合VH中前10%的节点构成节点集Vmax={V1,…VE},其中,E=10%*N,Vmax表示大度数节点集。

为了避免所选出的中心节点处于同一社区,还需要对大度数节点进行二次筛选。处于 同一社区的节点距离很近,即处于同一社区中的大度数节点的相异性一定远小于不同社区 中的大度数节点。因此,根据节点相异性指标的度量方法,计算集合Vmax内节点两两之间 的相异性,设置门限D,保留相异性大的节点,构成中心节点集Vcore={V1,…VF},其中,F 为网络中心节点个数。

上述步骤2中,根据二层相异性指标进行社区划分的方法为:

确定网络中心节点后,需要确定其他节点所属社区。按照单层的节点相异性指标计算每 个节点所属社区。

当只考虑单层节点相异性指标时,节点i和中心节点可能有两个共同相连的单层邻居节点 b和c,计算出的单层节点相异性为节点j和中心节点同样有两个共同相连的单层邻居 节点c和e,计算出的单层节点相异性也为

Figure BSA0000181263640000022

节点i和节点j相异性相同,无法进行社区归 属的判断。本文定义了二层节点相异性评价指标,当单层节点相异性相同时,需要计算二层 节点相异性评价指标,将节点划分到与其相异性最小的中心节点所在的社区。

上述步骤3中,使用模块度函数评价划分结果的方法为:

模块度函数Q值可以反应社区结构性的强弱,Q值越大,社区结构性越强;Q值越小,社区结构性越弱。遍历网络中所有节点,根据二层相异性指标将节点分别划分到不同中心节 点所在的社区后,使用模块度函数Q作为社区划分质量的评价指标。

附图说明

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的 详细描述,其中:

图1为本发明的模型结构图。

图2为网络G的社区关系图。

图3为与中心节点的公共邻接节点示意图。

图4为Karate网络拓扑图。

图5为Karate网络的度示意图。

图6为Karate网络的聚类系数示意图。

图7为Karate网络基于TDCN-CD算法的社区划分结果图。

图8为Dolphins网络拓扑图。

图9为Dolphins网络的度示意图。

图10为Dolphins网络的聚类系数示意图。

图11为Dolphins网络基于TDCN-CD算法的社区划分结果图。

具体实施方式

下面结合附图对本发明的具体实施方式做进一步的详细描述。

图1为本发明的模型结构图。按照单层节点相异性指标进行社区划分时,有可能出现节 点之间相异性相同,无法根据单层节点相异性性质判断节点所归属的社区。为了解决这一问 题,TDCN-CD算法定义了二层节点相异性指标,进一步保证了最终社区划分的准确性。

图1表示出了本发明的模型结构图,其中具体的步骤如下:

1、建立中心节点集。

TDCN-CD算法首先遍历整个网络G,由公式(1)计算网络中所有节点的度。根据节点的度数对节点进行降序排序,排序后构成集合VH={V1,…Vi,Vi+1,…VN},其中,ki>ki+1。选取集 合VH中前10%的节点构成节点集Vmax={V1,…VE},其中,E=10%*N,Vmax表示大度数节点集。

Figure BSA0000181263640000041

式(1)中节点之间的联系用邻接矩阵A表示,节点的度ki是指节点i的所有相邻的节点 的个数。

为了避免所选出的中心节点处于同一社区,还需要对大度数节点进行二次筛选。如图2 所示,处于同一社区的节点距离很近,即处于同一社区中的大度数节点的相异性一定远小于 不同社区中的大度数节点。因此,利用公式(2)节点相异性指标的度量方法,计算集合Vmax内节点两两之间的相异性,设置门限D,保留相异性大的节点,构成中心节点集Vcore={V1,…VF},其中,F为网络中心节点个数。

γ1(Vi,Vj)=Si,j (2)

式(2)中Si,j表示节点之间的距离,作为γ1(Vi,Vj)表示单层节点相异性评价指标。

2、根据二层相异性指标进行社区划分。

如图3所示,当只考虑单层节点相异性指标时,节点i和中心节点可能有两个共同相连的 单层邻居节点b和c,按照公式(2)计算出的单层节点相异性为节点j和中心节点同样 有两个共同相连的单层邻居节点c和e,按照公式(2)计算出的单层节点相异性也为

Figure RE-GSB0000182226500000043

节 点i和节点j相异性相同,无法进行社区归属的判断。

如图1所示,节点i和节点j之间可能的连接情况主要分为两种,第一种为节点i的二层 邻接节点q与节点j直接相连,即节点i和节点j通过p和q两个节点相连,这时可以将节点i 和节点j的二层节点相异性指标表示为γ21(Vi,Vj),如公式(3)所示。

第二种情况为节点i的二层邻接节点q与节点j的一层邻接节点s相连,即节点i和节点j通过 p、q和s三个节点相连,这时可以将节点i和节点j的节点相异性表示为γ22(Vi,Vj),如公式 (4)所示:

二层节点相异性评价指标最终表示如公式(5),二层节点相异性评价指标将节点划分到 与其相异性最小的中心节点所在的社区。

Figure BSA0000181263640000051

其中,为平均聚类系数。

Figure BSA0000181263640000053

3、使用模块度函数评价划分结果。

Newman等人提出了网络模块性评价函数,具体定义如公式(7)。

Figure BSA0000181263640000054

其中,gββ表示构成边的两个节点均在社区β内,αβ表示构成边的其中一个节点在社区β 内。Q值可以反应社区结构性的强弱,Q值越大,社区结构性越强;Q值越小,社区结构性越弱。

遍历网络中所有节点,根据二层相异性指标将节点分别划分到不同中心节点所在的社区 后,使用模块度函数Q作为社区划分质量的评价指标。

最后通过实验仿真验证模型的正确性。

1)基于Karate网络的社区划分分析

Karate网络是一个针对美国大学空手道俱乐部成员关系而构建的社会网络。网络中包含 34个节点和78条边,网络中的节点表示俱乐部成员,边表示成员之间的联系,网络拓扑图 如图4所示。TDCN-CD算法在对复杂网络进行社区划分时需要用到度和平均聚类系数这两 个指标。Karate网络中节点的度如图5所示,聚类系数如图6所示。

使用TDCN-CD算法在Karate网络上进行社区划分,划分结果如图7所示,与真实网络 相比,编号为10的节点划分错误,其余节点的划分结果均与真实网络相同。

2)基于Dolphins网络的社区划分分析

Dolphins网络是一个针对海豚群落中成员关系而构建的社会网络。网络中包含62个节点 和159条边,网络中的节点表示群落成员,边表示成员之间的联系,网络拓扑图如图8所示。 Dolphins网络中节点的度如图9所示,聚类系数如图10所示。

使用TDCN-CD算法在Dolphins网络上进行社区划分,划分结果如图11所示,与真实网络相比,编号为31的节点划分错误,其余节点的划分结果均与真实网络相同。

本文利用模块度Q值这一指标来评价社区划分的质量,在真实网络数据集中对本文提出 的TDCN-CD算法与经典的GN算法和FN算法的划分质量进行比较。本文算法在Karate网 络进行社区划分后得到的Q值为0.7293,在Dolphins网络进行社区划分后得到的Q值为0.8356,都高于另外两种经典算法,证明本文提出的算法是具有实际意义的。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,显然,本领域的技术人 员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这 些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动 和变型在内。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:产品标签权重确定方法、装置、电子设备及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!