一种基于平均互信息的快速社区发现方法及系统技术方案

技术编号:21400130 阅读:28 留言:0更新日期:2019-06-19 07:18
本发明专利技术公开了一种基于平均互信息的快速社区发现方法及系统,所述方法包括步骤:根据社区划分请求初始化节点所属社区;获取当前网络结构中所有存在连接的社区组合并进行遍历;计算两个社区合并时的平均互信息值和模块度增量值、加权修正后的平均互信息值并进行记录;若当前网络结构中存在连接的社区组合遍历完毕时选择计算的修正后的平均互信息值最大的社区组合进行合并;计算并记录本次社区划分过程中的平均互信息值;重复以上步骤直至当前网络中所有节点属于同一社区时,选择记录的平均互信息的最大值所对应社区划分结果作为最终社区划分结果并输出。本发明专利技术提供的社区划分结果更贴近真实划分结果且社区划分速度更快。

【技术实现步骤摘要】
一种基于平均互信息的快速社区发现方法及系统
本专利技术涉及社区划分质量评价领域,具体涉及一种基于平均互信息的快速社区发现方法及系统。
技术介绍
随着互联网、物联网技术的快速发展,事物之间的联系更加紧密,错综复杂的联系形成了多样、多变、规模庞大的网络,这样的网络被称为复杂网络。所谓社区是指具有关联的个体所组成的集合,复杂网络由若干社区组成。社区划分涉及计算机、物理、生物、社会学以及复杂性系统科学等多学科,近年来成为多个学科的研究热点之一。在社区划分中,社区划分系统通常会构造并评判多种社区结构,并从一种社区结构演变到另一种社区结构。优化社区划分系统的关键是找到一种社区划分质量评价方法,通过该评价方法优化社区划分系统,从而提高社区划分系统的准确性。但是,目前对社区划分质量评价方法的思路主要还是集中在模块度评价方法,而模块度评价方法存在Resolutionlimit的问题。虽然也有社区划分质量评价方法是基于信息论的相关知识,但是在使用基于信息论方面的评价方法时,需要知道一些先验条件。
技术实现思路
本专利技术的目的是针对现有技术的不足,提供了一种基于平均互信息的快速社区发现方法,所述方法针对已有的经典社区划分系统,从社区划分质量评价的角度出发,以平均互信息为基础,利用该算法在层次聚类过程中找出最优的社区合并选择,有效地提高了社区划分的速度与准确性。同时本专利技术还公开了一种基于平均互信息的快速社区发现系统。本专利技术具体的技术方案为:一种基于平均互信息的快速社区发现方法,包括以下步骤:S1、服务器接收社区划分请求;S2、初始化节点所属社区,为每个节点分配唯一的社区;S3、获取当前网络结构中所有存在连接的社区组合;S4、从社区组合选出起始社区组合开始进行遍历;S5、计算两个社区合并时的平均互信息值Ip和模块度增量值ΔQ,计算加权修正后的平均互信息值CIp并进行记录;S6、若当前网络结构中存在连接的社区组合遍历完毕时,则进行步骤S7,否则选择下一个社区组合并返回步骤S5;S7、选择步骤S6中计算的修正后的平均互信息值CIp最大的社区组合进行合并;S8、计算并记录本次社区划分过程中的平均互信息值;S9、若当前网络中所有节点属于同一社区时,则进行步骤S10,否则返回步骤S3;S10、选择步骤S8中记录的平均互信息的最大值所对应社区划分结果作为最终社区划分结果并输出。进一步地,步骤S2中所述初始化节点所属社区的具体操作为:将每个节点都设置为一个社区,即初始化后社区个数等于节点个数。进一步地,所述步骤S3的具体过程为:找出所有符合社区合并条件的社区组合,即只有当前网络中有连接的两个社区才有可能进行社区合并,若两个社区之前没有连接,则无法进行社区合并。进一步地,步骤S5中,所述平均互信息值IP的计算公式为:其中,Xi表示社区结构X中的第i个社区,Yj表示社区结构Y中的第j个社区,I(Xi;Yj)表示社区Xi与社区Yj的平均互信息值,ωij表示Xi社区和Yj社区的关联性;所述模块度增量值ΔQ的计算公式为:ΔQ=(eji+eij-2ai*aj)=2(eij-2ai*aj),其中ai=∑jeij表示与社区i中节点相连的边占所有边的比例;aj=∑ieji表示与社区j中节点相连的边占所有边的比例;eij表示一个节点在社区i内,另一个节点在社区j内的边的数量;eji表示一个节点在社区j内,另一个节点在社区i内的边的数量,即等于eij。所述修正后的平均互信息值CIp计算公式为:CIp=β·Ip+(1-β)·ΔQ,其中,C为标识符号,表示该平均互信息值为修正后的值;β为预设参数,表示社区合并时考虑节点信息的多少,β越大,则表示考虑社区的节点信息越多,考虑社区的连接信息越少;β的预设值取值范围为0~1,实际使用时需根据对具体社区节点信息和连接信息的考虑权重进行设定。进一步地,步骤S7中,选择修正后平均互信息值CIp最大的社区组合进行合并时,由于修正后平均互信息值考虑了复杂网络中的节点信息与连接信息,因此此时可以选出最优社区组合进行合并。进一步地,步骤S9的具体过程为:判断当前网络中的节点是否属于同一社区,若是则表明社区中所有点都已经合并为一个社区,即完成了层次聚类过程。一种用于实现所述的一种基于平均互信息的快速社区发现方法的系统,所述系统包括客户端和服务器,其中服务器包括以下模块:请求接收模块:用于接收客户端发送的社区划分请求;社区合并模块:用于对两个社区进行社区合并,得到社区合并结果;计算平均互信息值模块:用于计算计算两个社区合并时的平均互信息值,得到平均互信息值结果;计算模块度增量值模块:用于计算模块度增量值,得到模块度增量值结果;计算修正后平均互信息值模块:用于计算修正后平均互信息值,得到修正后的平均互信息值结果;输出模块:用于将记录的平均互信息的最大值所对应社区划分结果作为最终社区划分结果并发送至客户端。本专利技术与现有技术相比,具有如下优点和有益效果:1、本专利技术通过在社区划分系统中引入基于平均互信息的快速社区划分算法,该算法是基于层次聚类的凝聚式社区检测算法,在每一次社区划分过程中,会将网络中的两个社区合并,即社区划分前的社区结构X与社区划分后的社区结构Y是有直接关联的。在社区划分过程中使用模块度值修正后的平均互信息值进行判断,选择修正后平均互信息值最大的两个社区进行合并。重复以上步骤直至网络中所有的节点都属于同一个社区,选择并输出平均互信息值Ip最大值所对应的社区划分结果为AMI-FD算法的社区划分结果。2、本专利技术采用基于平均互信息的快速社区发现方法,该算法相对于其它社区发现方法来说,社区划分结果更贴近真实划分结果且社区划分速度更快。附图说明图1为本专利技术实施例的基于平均互信息的快速社区发现方法的流程图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。实施例:本专利技术实施例在基于层次聚类的凝聚式社区发现方法的基础上,加入了基于平均互信息的社区合并方法。首先初始化节点所属社区,为每个节点分配唯一的社区;获取当前网络结构中所有存在连接的社区组合并从社区组合选出起始社区组合开始进行遍历:计算两个社区合并时的平均互信息值Ip、模块度增量值ΔQ和加权修正后的平均互信息值CIp并进行记录;选择修正后平均互信息值最大的社区组合进行合并,计算并记录本次社区划分过程中的平均互信息值;重复以上步骤直至当前网络中所有节点属于同一社区,选择平均互信息最大值所对应社区划分结果作为最终社区划分结果并输出。本专利技术实施例另外提供了一种基于平均互信息的快速社区发现系统,所述系统包括客户端和服务器,其中服务器包括以下模块:请求接收模块:用于接收客户端发送的社区划分请求;社区合并模块:用于对两个社区进行社区合并,得到社区合并结果;计算平均互信息值模块:用于计算平均互信息值,得到互信息结果;计算模块度值模块:用于计算平均互信息值,得到模块度值结果;计算修正后平均互信息值模块:用于计算修正后平均互信息值,得到互信息结果;输出模块:用于将最终的社区划分结果发送至客户端。下面对本专利技术实施例提供的一种基于平均互信息的快速社区发现方法及系统做详细说明。首先,对本专利技术实施例提供的方法及系统中所涉及到的相关术语,我们给出如下定义,并结合定义说明该专利技术的基本本文档来自技高网...

【技术保护点】
1.一种基于平均互信息的快速社区发现方法,其特征在于,包括以下步骤:S1、服务器接收社区划分请求;S2、初始化节点所属社区,为每个节点分配唯一的社区;S3、获取当前网络结构中所有存在连接的社区组合;S4、从社区组合选出起始社区组合开始进行遍历;S5、计算两个社区合并时的平均互信息值Ip和模块度增量值ΔQ,计算加权修正后的平均互信息值CIp并进行记录;S6、若当前网络结构中存在连接的社区组合遍历完毕时,则进行步骤S7,否则选择下一个社区组合并返回步骤S5;S7、选择步骤S6中计算的修正后的平均互信息值CIp最大的社区组合进行合并;S8、计算并记录本次社区划分过程中的平均互信息值;S9、若当前网络中所有节点属于同一社区时,则进行步骤S10,否则返回步骤S3;S10、选择步骤S8中记录的平均互信息的最大值所对应社区划分结果作为最终社区划分结果并输出。

【技术特征摘要】
1.一种基于平均互信息的快速社区发现方法,其特征在于,包括以下步骤:S1、服务器接收社区划分请求;S2、初始化节点所属社区,为每个节点分配唯一的社区;S3、获取当前网络结构中所有存在连接的社区组合;S4、从社区组合选出起始社区组合开始进行遍历;S5、计算两个社区合并时的平均互信息值Ip和模块度增量值ΔQ,计算加权修正后的平均互信息值CIp并进行记录;S6、若当前网络结构中存在连接的社区组合遍历完毕时,则进行步骤S7,否则选择下一个社区组合并返回步骤S5;S7、选择步骤S6中计算的修正后的平均互信息值CIp最大的社区组合进行合并;S8、计算并记录本次社区划分过程中的平均互信息值;S9、若当前网络中所有节点属于同一社区时,则进行步骤S10,否则返回步骤S3;S10、选择步骤S8中记录的平均互信息的最大值所对应社区划分结果作为最终社区划分结果并输出。2.根据权利要求1所述的一种基于平均互信息的快速社区发现方法,其特征在于,步骤S2中所述初始化节点所属社区的具体操作为:将每个节点都设置为一个社区,即初始化后社区个数等于节点个数。3.根据权利要求1所述的一种基于平均互信息的快速社区发现方法,其特征在于,所述步骤S3的具体过程为:找出所有符合社区合并条件的社区组合,即只有当前网络中有连接的两个社区才有可能进行社区合并,若两个社区之前没有连接,则无法进行社区合并。4.根据权利要求1所述的一种基于平均互信息的快速社区发现方法,其特征在于,步骤S5中,所述平均互信息值IP的计算公式为:其中,Xi表示社区结构X中的第i个社区,Yj表示社区结构Y中的第j个社区,I(Xi;Yj)表示社区Xi与社区Yj的平均互信息值,ωij表示Xi社区和Yj社区的关联性;所述模块度增量值ΔQ的计算公式为:ΔQ=(eji+eij-2ai*aj)=2(eij-2ai*aj),其中ai=∑jeij表示与社区i...

【专利技术属性】
技术研发人员:李东叶文彬程鸣权
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东,44

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

1