CN106600430B - 一种社区网络检测方法及装置 - Google Patents

一种社区网络检测方法及装置 Download PDF

Info

Publication number
CN106600430B
CN106600430B CN201610996893.9A CN201610996893A CN106600430B CN 106600430 B CN106600430 B CN 106600430B CN 201610996893 A CN201610996893 A CN 201610996893A CN 106600430 B CN106600430 B CN 106600430B
Authority
CN
China
Prior art keywords
node
target node
modularity
community
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610996893.9A
Other languages
English (en)
Other versions
CN106600430A (zh
Inventor
曹杰
卜湛
高光亮
刘金雯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Finance and Economics
Original Assignee
Nanjing University of Finance and Economics
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Finance and Economics filed Critical Nanjing University of Finance and Economics
Priority to CN201610996893.9A priority Critical patent/CN106600430B/zh
Publication of CN106600430A publication Critical patent/CN106600430A/zh
Application granted granted Critical
Publication of CN106600430B publication Critical patent/CN106600430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种社区网络检测方法及装置,包括:将社区网络中节点间的连接关系映射为二进制数组;根据二进制数组,确定目标节点的节点度、与目标节点连接的邻居节点的数量,所有节点的节点度之和、所有连接的数量;根据余弦相似性,确定目标节点与其邻居节点的相似度、获得边权重;根据边权重、所有节点的节点度之和、所有连接的数量,确定目标节点的模块度增益,并根据每一节点的模块度增益确定全局模块度,调整目标节点的模块度增益,当模块度增益使得全局模块度最大时或者使得全局模块度的增加百分比不大于阈值时值时,目标节点所在的社区是其最好社区,解决了模块度本身存在分辨率极限问题,具有更好的可扩展性,更高效的处理复杂的网络。

Description

一种社区网络检测方法及装置
技术领域
本发明涉及信息技术领域,尤其涉及一种社区网络检测方法及装置。
背景技术
当今世界,随着互联网和社区网络的不断发展,社区网络检测越来越成为热点话题之一。包括社交网络和生物网络在内的网络系统被自然的划分为许多模块,而这些模块就称为社区。简单来说,社区就是在一个网络系统中有联系的节点的集群。由于大量的在线社区网络深深的影响到了的日常生活,所以检测到有意义的社区就成为了社区检测中的重要任务。
目前已经出现了许多处理社区检测问题的方法,例如贪心算法,模拟退火算法,极值优化算法,谱聚类算法,Louvain算法(该算法是基于模块度的社区发现算法)以及遗传算法。然而这些算法都需要社区数量作为输入,这在现实网络中是不可能的。
重叠社区检测的方法也出现了许多,这些方法通常先定义在相同社区出现的一个节点或者是一组节点的性质,然后在整个社区网络中查找具有相同性质的节点。例如Oslom2算法,作为获得社区质量的一个测评方法;Nicosia算法,延伸了模块化的概念和向量的因素;BigClam算法,通过让目标函数最大化来对社区节点进行计算。以上算法的缺点是必须要知道社区的数量。
基于模块度的社区发现算法也存在一定的问题:分辨率极限的问题,以及仅针对于将网络分解成非重叠社区,却没有涉及现实中的重叠社区。
发明内容
本发明的目的是解决现有技术中处理社区检测问题时存在的分辨率极限的、不能涉及重叠社区的问题。
第一方面,本发明提供了一种社区网络检测方法,所述方法包括:将社区网络中节点间的连接关系映射为二进制数组;根据所述二进制数组的数值,确定目标节点的节点度、与目标节点连接的邻居节点的数量,以及包括所述目标节点在内的所有节点的节点度之和、包括与目标节点连接的邻居节点的数量在内的所有连接的数量;根据余弦相似性,确定所述目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得所述目标节点与其邻居节点的边权重;根据所述目标节点与其邻居节点的边权重、所述所有节点的节点度之和、所述所有连接的数量,确定所述目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度;当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度最大时,所述目标节点所在的社区是所述目标节点的最好社区;或者当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度的增加百分比不大于阈值时值时,所述目标节点所在的社区是所述目标节点的最好社区。
优选地,所述根据余弦相似性,确定所述目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得所述目标节点与其邻居节点的边权重具体包括:利用
Figure BDA0001149989540000021
确定所述目标节点与其邻居节点的相似度,其中,ωij为节点i和节点j的相似度,Ni为节点i的邻居节点集,Nj为节点j的邻居节点集;将所述相似度赋值给所述目标节点与其邻居节点所构成的边并作为所述边的边权重。
优选地,所述根据所述目标节点与其邻居节点的边权重、所述所有节点的节点度之和、所述所有连接的数量,确定所述目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度具体包括:利用公式
Figure BDA0001149989540000031
计算每一个节点的模块度增益,其中,Qω(Ii)为节点i的模块度增益,W为所有社区中所有节点的边权重之和,ωij为节点i和节点j的相似度,si为所有与节点i相连的边权重之和,sj为所有与节点j相连的边权重之和,uki为节点i属于社区k的概率,ukj为节点j属于社区k的概率;利用公式
Figure BDA0001149989540000032
计算全局模块度,其中,Qω(U)为全局模块度,Qω(Ii)为节点i的模块度增益。
优选地,所述方法之后还包括:利用势函数Θ(U)=-1/2Qω(U)验证目标节点所在的社区是否为其最好的社区;每一个节点用Qω(Ii)做为其目标函数,当目标节点通过改变Ii提高自身的模块度增益时,U趋近于纳什均衡。
第二方面,本发明提供了一种社区网络检测装置,所述装置包括:映射单元,加权单元,确定单元,判断单元;其中,所述映射单元,用于将社区网络中节点间的连接关系映射为二进制数组;根据所述二进制数组的数值,确定目标节点的节点度、与目标节点连接的邻居节点的数量,以及包括所述目标节点在内的所有节点的节点度之和、包括与目标节点连接的邻居节点的数量在内的所有连接的数量;所述加权单元,用于根据余弦相似性,确定所述目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得所述目标节点与其邻居节点的边权重;所述确定单元,用于根据所述目标节点与其邻居节点的边权重、所述所有节点的节点度之和、所述所有连接的数量,确定所述目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度;所述判断单元,用于当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度最大时,所述目标节点所在的社区是所述目标节点的最好社区;或者当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度的增加百分比不大于阈值时值时,所述目标节点所在的社区是所述目标节点的最好社区。
优选地,所述加权单元具体用于,利用
Figure BDA0001149989540000041
确定所述目标节点与其邻居节点的相似度,其中,ωij为节点i和节点j的相似度,Ni为节点i的邻居节点集,Nj为节点j的邻居节点集;将所述相似度赋值给所述目标节点与其邻居节点所构成的边并作为所述边的边权重。
优选地,所述确定单元具体用于,利用公式
Figure BDA0001149989540000042
计算每一个节点的模块度增益,其中,Qω(Ii)为节点i的模块度增益,W为所有社区中所有节点的边权重之和,ωij为节点i和节点j的相似度,si为所有与节点i相连的边权重之和,sj为所有与节点j相连的边权重之和,uki为节点i属于社区k的概率,ukj为节点j属于社区k的概率;利用公式
Figure BDA0001149989540000043
计算全局模块度,其中,Qω(U)为全局模块度,Qω(Ii)为节点i的模块度增益。
优选地所述装置还包括:验证单元;所述验证单元,利用势函数Θ(U)=-1/2Qω(U)验证目标节点所在的社区是否为其最好的社区;每一个节点用Qω(Ii)做为其目标函数,当目标节点通过改变Ii提高自身的模块度增益时,U趋近于纳什均衡。
通过应用本发明提供的社区网络检测方法,将社区网络中节点间的连接关系映射为二进制数组;根据所述二进制数组的数值,确定目标节点的节点度、与目标节点连接的邻居节点的数量,以及包括所述目标节点在内的所有节点的节点度之和、包括与目标节点连接的邻居节点的数量在内的所有连接的数量;根据余弦相似性,确定所述目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得所述目标节点与其邻居节点的边权重;根据所述目标节点与其邻居节点的边权重、所述所有节点的节点度之和、所述所有连接的数量,确定所述目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度;当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度最大时,所述目标节点所在的社区是所述目标节点的最好社区;或者当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度的增加百分比不大于阈值时值时,所述目标节点所在的社区是所述目标节点的最好社区,解决了模块度本身存在的分辨率极限问题,可以检测重叠社区、可以找到规模很小但定义良好的社区,而且具有更好的可扩展性,可以更高效的处理复杂的网络。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例提供的一种社区网络检测方法流程图;
图2为一个无权图网络中不同的社区以概率P连接;
图3为本发明实施例提供的节点最佳网络检测的示意图;
图4a为在无重叠社区中本发明实施例提供的社区网络检测方法、SCD算法、Louvain算法混合参数-归一化后信息示意图;
图4b为在无重叠社区中本发明实施例提供的社区网络检测方法、SCD算法、Louvain算法混合参数-平均F1值示意图;
图5a为在混合参数u=0.3时,重叠社区中本发明实施例提供的社区网络检测方法、SCD算法、Louvain算法混合参数u-归一化后信息示意图;
图5b为在混合参数u=0.5时,重叠社区中本发明实施例提供的社区网络检测方法、SCD算法、Louvain算法混合参数u-归一化后信息示意图;
图5c为在混合参数u=0.3时,重叠社区中本发明实施例提供的社区网络检测方法、SCD算法、Louvain算法混合参数u-平均F1值示意图;
图5d为在混合参数u=0.5时,重叠社区中本发明实施例提供的社区网络检测方法、SCD算法、Louvain算法混合参数u-平均F1值示意图;
图6为在社区中边的数量时本发明实施例提供的社区网络检测方法、SCD算法、Louvain算法、Oslom算法、BigClam算法的反应时间;
图7为本发明实施例提供的一种社区网络检测装置结构示意图;
图8为本发明实施例提供的又一种社区网络检测装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
当本发明实施例提及“第一”、“第二”等序数词时,除非根据上下文其确实表达顺序之意,应当理解为仅仅起区分的作用。
图1为本发明实施例提供的一种社区网络检测方法流程图。如图1所示,本实施例包括以下步骤:
S110,将社区网络中节点间的连接关系映射为二进制数组;根据所述二进制数组的数值,确定目标节点的节点度、与目标节点连接的邻居节点的数量,以及包括所述目标节点在内的所有节点的节点度之和、包括与目标节点连接的邻居节点的数量在内的所有连接的数量。
下文中,以目标节点为节点i为例,进行说明。
将一个社区中任意两个节点的连接关系以二进制数组表示,比如,节点i和节点j间的连接关系以二进制数组A=[Aij]表示,当两个节点间存在连接时,以“1”表示,并将与节点i连接的节点作为节点i的一个邻居节点;当两个节点间不存在连接时,以“0”表示。
当节点i和节点j间存在连接时,二进制数组的值为1,以此类推,确定与节点i相连的所有节点数量,该些所有节点作为节点i的邻居节点集,将与节点i相关联的边的条数作为节点i的节点度,其中,节点i与其邻居节点间的连接为一边。以此方法,确定该社区中包括目标节点在内的每一个节点的邻居节点的数量、包括目标节点在内的每一个节点的节点度,并根据每一个节点的邻居节点的数量,确定该社区中连接的数量,以及总的节点度。
在一个具体的实施例中,可以以di表示节点i的节点度,以Lk表示一个社区中连接的总数量,以Dk表示所有节点的节点度之和。
S120,根据余弦相似性,确定目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得目标节点与其邻居节点的边权重。
其中,利用
Figure BDA0001149989540000081
确定目标节点与其邻居节点的相似度,其中,ωij为节点i和节点j的相似度,Ni为节点i的邻居节点集,Nj为节点j的邻居节点集;如果相似度为0,则表示节点i的邻居节点集和节点j的邻居节点集不存在交集,可以直接将节点i和节点j移除;如果相似度不为0,将相似度赋值给目标节点与其邻居节点所构成的边并作为所述边的边权重,在该公式中,将相似度赋值给节点i和节点j的边。
S130,根据目标节点与其邻居节点的边权重、所有节点的节点度之和、所有连接的数量,确定目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度。
其中,节点i的模块度计算公式可以表示为
Figure BDA0001149989540000082
其中,m为节点i和其邻居节点构成的边的数量,其中,Aij为二进制数组的数值,di为节点i的节点度,dj为节点j的节点度,uki为节点i属于社区k的概率,ukj为节点j属于社区k的概率。将上面节点i的模块度计算公式可以化简为
Figure BDA0001149989540000083
其中,Lk表示社区k中连接的总数量,Dk表示社区k中所有节点的节点度之和。
下面对如何确定节点i的模块度增益,做进一步的说明。
在两个直观的社区中,将这两个社区进行合并得到ΔQ,
Figure BDA0001149989540000084
其中
Figure BDA0001149989540000085
是两个社区外部边的数量,m表示边的数量,Di为节点i的节点度,Dj为节点j的节点度,当有
Figure BDA0001149989540000091
时,ΔQ为正值,说明这两个直观的社区可以合并为一个社区,则不能用模块度优化算法,即本申请的社区网络检测方法,进行检测,由于m在现实的社区网络中数值很大,当一个加权网络的外部的边接近0期望时,可以解决分辨率极限的问题。因此给一个未加权的社区图的边适当的加权后,用模块度优化算法可以更有效的对社区网络进行检测。
如图2所示,图2为一个无权图网络中不同的社区以概率P连接的示意图。利用余弦相似性对社区中节点的每条边进行加权后,图2中的平均的节点度为<d>=(nc-1)+p(c-1)nc,其中,n为该社区中的节点数,p为节点与节点间存在连接的概率,c为社区的数量,每一个内部边的权重为
Figure BDA0001149989540000092
每一个外部的边的权重为
Figure BDA0001149989540000093
当有
Figure BDA0001149989540000094
时,如果不对内部边的权重
Figure BDA0001149989540000095
和外部边的权重
Figure BDA0001149989540000096
做处理的话,合并这两个社区不会得到满意的结果。因此,需要对内部边的权重
Figure BDA0001149989540000097
和外部边的权重
Figure BDA0001149989540000098
做进一步的处理。
对内部边的权重
Figure BDA0001149989540000099
和外部边的权重
Figure BDA00011499895400000913
处理过程为:根据分析得
Figure BDA00011499895400000910
所以有p2nc[(nc-1)+(c-2)(pnc-nc+1)]-(nc-1)(nc-2)<0,p2nc-(nc-2)<0及
Figure BDA00011499895400000911
从而模块度增益可以如下表示:
Figure BDA00011499895400000912
因此,目标节点的模块度增益如下:
Figure BDA0001149989540000101
其中,Ii=(u1i,...,uci)T可以视为社区内节点的矢量,
Figure BDA0001149989540000102
Figure BDA0001149989540000103
Qω(Ii)为节点i的模块度增益,W为边权重之和,ωij为节点i和节点j的相似度,si为所有与节点i相连的边权重之和,sj为所有与节点j相连的边权重之和,uki为节点i属于社区k的概率,ukj为节点j属于社区k的概率。
将一个社区中每个节点的模块度增益相加,得到全局模块度为:
Figure BDA0001149989540000104
其中,Qω(U)为全局模块度,Qω(Ii)为节点i的模块度增益。
对全局模块度
Figure BDA0001149989540000105
进行化简,可得
Figure BDA0001149989540000106
Figure BDA0001149989540000111
其中,
Figure BDA0001149989540000112
为社区
Figure BDA0001149989540000113
对节点i的引力,
Figure BDA0001149989540000114
为社区
Figure BDA0001149989540000115
所占的边权重的比例,siξk为社区
Figure BDA0001149989540000116
对节点i所期望的引力。因此,
Figure BDA0001149989540000117
是每一个节点的模块度。
形式化以后的模块度可以表示为:
Figure BDA0001149989540000118
Figure BDA0001149989540000121
S140,当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度最大时,所述目标节点所在的社区是所述目标节点的最好社区。
S150,当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度的增加百分比不大于阈值时值时,所述目标节点所在的社区是所述目标节点的最好社区。
由于目标节点具有不同的邻居节点,邻居节点可能属于不同的社区,计算目标节点和其每个邻居节点的模块度增益,会获得不同的数值,当计算出的目标节点的模块度增益使得全局模块度最大时或者使得全局模块度的增加百分比不大于阈值时,此时,该第一节点所在的社区即为其最好的社区。即当有
Figure BDA0001149989540000122
条件时,可以认为每一个节点都有自己最完美的社区。对该社区中的其他节点,也采用该方法获取其他节点的最好社区。
其中,S140和S150时并列关系,既可以是S110-S140的顺序,也可以是S110-S130,S150的顺序。
图3为本发明实施例提供的节点最佳网络检测的示意图,图2中存在两个社区,第一社区
Figure BDA0001149989540000123
包括第一节点1,第二节点2,第三节点3,第四节点4,第二社区
Figure BDA0001149989540000124
包括五节点5,第六节点6,第七节点7。因为
Figure BDA0001149989540000125
Figure BDA0001149989540000126
所以说
Figure BDA0001149989540000127
是第四节点4最好的社区,因此第四节点4应该属于第二社区
Figure BDA0001149989540000128
中。
进一步的,可以通过以下的定理证明目标节点在是否已经找到了其最好的社区:
当目标节点i处于最好的社区时,没有节点可以通过改变自身的模块度增益来使得全局模块度更大,那么这个最好的社区归属状态称为纳什均衡的状态。纳什均衡在势博弈中是一定存在的。
定理一:势函数定义为
Figure BDA0001149989540000134
目标节点i用Qω(Ii)做为其目标函数,如果当每一个节点持续的通过改变Qω(Ii)来提高自己的个体模块度增益,U最终将趋近于纳什均衡的状态。
定理二:
Figure BDA0001149989540000131
可以视为任意的节点所对应的最好的社区。
对定理一的证明如下,如果节点vi从Ii到xi=(u’1i,…,u’ci)T改变了社区成员的向量,那么相应的C-分区就会从U-U’,全局模块度可以有以下定义:
Figure BDA0001149989540000132
Figure BDA0001149989540000133
故有Qω(xi)-Qω(Ii)=Qω(U)-Qω(U’)。通过博弈论,将节点的社区归属与博弈论相结合,利用势博弈中一定存在纳什均衡的特点,验证了节点属于最优的社区。
对定理二的证明如下:
当y∈[1,c]时,让
Figure BDA0001149989540000141
于是有
Figure BDA0001149989540000149
假设
Figure BDA0001149989540000143
是节点i的最好的社区,于是有
Figure BDA0001149989540000144
如果有
Figure BDA0001149989540000145
那么这个约束条件也存在。所以有
Figure BDA0001149989540000146
然而
Figure BDA0001149989540000147
也可以写成
Figure BDA0001149989540000148
与条件矛盾。所以说假设不成立,得证。
图4a-b、图5a-5d、图6可以看出,本发明提出的社区网络检测方法,归一化程度最高,运行时间最短,因此具有最优的性能。
应用本发明实施例提供的社区网络检测方法,将社区网络中节点间的连接关系映射为二进制数组;根据所述二进制数组的数值,确定目标节点的节点度、与目标节点连接的邻居节点的数量,以及包括所述目标节点在内的所有节点的节点度之和、包括与目标节点连接的邻居节点的数量在内的所有连接的数量;根据余弦相似性,确定所述目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得所述目标节点与其邻居节点的边权重;根据所述目标节点与其邻居节点的边权重、所述所有节点的节点度之和、所述所有连接的数量,确定所述目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度;当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度最大时,所述目标节点所在的社区是所述目标节点的最好社区;或者当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度的增加百分比不大于阈值时值时,所述目标节点所在的社区是所述目标节点的最好社区,解决了模块度本身存在的分辨率极限问题,可以检测重叠社区,可以找到规模很小但定义良好的社区,而且具有更好的可扩展性,可以更高效的处理复杂的网络。
图7为本发明实施例提供的一种社区网络检测装置结构示意图,如图7所示,所述装置包括:映射单元710,加权单元720,确定单元730,判断单元740。
映射单元710用于将社区网络中节点间的连接关系映射为二进制数组;根据所述二进制数组的数值,确定目标节点的节点度、与目标节点连接的邻居节点的数量,以及包括所述目标节点在内的所有节点的节点度之和、包括与目标节点连接的邻居节点的数量在内的所有连接的数量。
加权单元720用于根据余弦相似性,确定所述目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得所述目标节点与其邻居节点的边权重。
确定单元730用于根据所述目标节点与其邻居节点的边权重、所述所有节点的节点度之和、所述所有连接的数量,确定所述目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度。
判断单元740用于当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度最大时,所述目标节点所在的社区是所述目标节点的最好社区;或者
当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度的增加百分比不大于阈值时值时,所述目标节点所在的社区是所述目标节点的最好社区。
其中,加权单元720具体用于,利用
Figure BDA0001149989540000161
确定所述目标节点与其邻居节点的相似度,其中,ωij为节点i和节点j的相似度,Ni为节点i的邻居节点集,Nj为节点j的邻居节点集;将所述相似度赋值给所述目标节点与其邻居节点所构成的边并作为所述边的边权重。
确定单元730具体用于,利用公式
Figure BDA0001149989540000162
计算每一个节点的模块度增益,其中,Qω(Ii)为节点i的模块度增益,W为所有社区中所有节点的边权重之和,ωij为节点i和节点j的相似度,si为所有与节点i相连的边权重之和,sj为所有与节点j相连的边权重之和,uki为节点i属于社区k的概率,ukj为节点j属于社区k的概率;利用公式
Figure BDA0001149989540000163
计算全局模块度,其中,Qω(U)为全局模块度,Qω(Ii)为节点i的模块度增益。
在另一个实施例中,本发明提供的社区网络检测装置还可以包括:验证单元750。
验证单元750用于利用势函数Θ(U)=-1/2Qω(U)验证目标节点所在的社区是否为其最好的社区;每一个节点用Qω(Ii)做为其目标函数,当目标节点通过改变Ii提高自身的模块度增益时,U趋近于纳什均衡。
应用本发明实施例提供的社区网络检测装置,通过映射单元将社区网络中节点间的连接关系映射为二进制数组;根据所述二进制数组的数值,确定目标节点的节点度、与目标节点连接的邻居节点的数量,以及包括所述目标节点在内的所有节点的节点度之和、包括与目标节点连接的邻居节点的数量在内的所有连接的数量;加权单元根据余弦相似性,确定所述目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得所述目标节点与其邻居节点的边权重;确定单元根据所述目标节点与其邻居节点的边权重、所述所有节点的节点度之和、所述所有连接的数量,确定所述目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度;判断单元当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度最大时,所述目标节点所在的社区是所述目标节点的最好社区;或者当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度的增加百分比不大于阈值时值时,所述目标节点所在的社区是所述目标节点的最好社区。解决了模块度本身存在的分辨率极限问题,可以检测重叠社区,可以找到规模很小但定义良好的社区,而且具有更好的可扩展性,可以更高效的处理复杂的网络。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种社区网络检测方法,其特征在于,所述方法包括:
将社区网络中节点间的连接关系映射为二进制数组;根据所述二进制数组的数值,确定目标节点的节点度、与目标节点连接的邻居节点的数量,以及包括所述目标节点在内的所有节点的节点度之和、包括与目标节点连接的邻居节点的数量在内的所有连接的数量;
根据余弦相似性,确定所述目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得所述目标节点与其邻居节点的边权重;
根据所述目标节点与其邻居节点的边权重、所述所有节点的节点度之和、所述所有连接的数量,确定所述目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度;
当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度最大时,所述目标节点所在的社区是所述目标节点的最好社区;或者
当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度的增加百分比不大于阈值时,所述目标节点所在的社区是所述目标节点的最好社区;
以所述社区网络检测方法,检测出待测社区网络系统中有联系的节点的集群。
2.根据权利要求1所述的方法,其特征在于,所述根据余弦相似性,确定所述目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得所述目标节点与其邻居节点的边权重具体包括:
利用
Figure FDA0002540255830000021
确定所述目标节点与其邻居节点的相似度,其中,ωij为节点i和节点j的相似度,Ni为节点i的邻居节点集,Nj为节点j的邻居节点集;
将所述相似度赋值给所述目标节点与其邻居节点所构成的边并作为所述边的边权重。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标节点与其邻居节点的边权重、所述所有节点的节点度之和、所述所有连接的数量,确定所述目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度具体包括:
利用公式
Figure FDA0002540255830000022
计算每一个节点的模块度增益,其中,Qω(Ii)为节点i的模块度增益,W为所有社区中所有节点的边权重之和,ωij为节点i和节点j的相似度,si为所有与节点i相连的边权重之和,sj为所有与节点j相连的边权重之和,uki为节点i属于社区k的概率,ukj为节点j属于社区k的概率;
利用公式
Figure FDA0002540255830000023
计算全局模块度,其中,Qω(U)为全局模块度,Qω(Ii)为节点i的模块度增益。
4.根据权利要求1所述的方法,其特征在于,所述方法之后还包括:
利用势函数Θ(U)=-1/2Qω(U)验证目标节点所在的社区是否为其最好的社区;
每一个节点用Qω(Ii)做为其目标函数,当目标节点通过改变Ii提高自身的模块度增益时,U趋近于纳什均衡。
5.一种社区网络检测装置,其特征在于,所述装置包括:映射单元,加权单元,确定单元,判断单元;
所述映射单元,用于将社区网络中节点间的连接关系映射为二进制数组;根据所述二进制数组的数值,确定目标节点的节点度、与目标节点连接的邻居节点的数量,以及包括所述目标节点在内的所有节点的节点度之和、包括与目标节点连接的邻居节点的数量在内的所有连接的数量;
所述加权单元,用于根据余弦相似性,确定所述目标节点与其邻居节点的相似度,并根据所述相似度,对所述目标节点与其邻居节点的边进行加权,获得所述目标节点与其邻居节点的边权重;
所述确定单元,用于根据所述目标节点与其邻居节点的边权重、所述所有节点的节点度之和、所述所有连接的数量,确定所述目标节点的模块度增益,并根据包括所述目标节点在内的每一节点的模块度增益确定全局模块度;
所述判断单元,用于当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度最大时,所述目标节点所在的社区是所述目标节点的最好社区;或者
当除过目标节点之外的其他节点的模块度增益不变时,调整所述目标节点的模块度增益,当所述目标节点的模块度增益使得全局模块度的增加百分比不大于阈值时,所述目标节点所在的社区是所述目标节点的最好社区。
6.根据权利要求5所述的装置,其特征在于,所述加权单元具体用于,
利用
Figure FDA0002540255830000031
确定所述目标节点与其邻居节点的相似度,其中,ωij为节点i和节点j的相似度,Ni为节点i的邻居节点集,Nj为节点j的邻居节点集;
将所述相似度赋值给所述目标节点与其邻居节点所构成的边并作为所述边的边权重。
7.根据权利要求5所述的装置,其特征在于,所述确定单元具体用于,
利用公式
Figure FDA0002540255830000041
计算每一个节点的模块度增益,其中,Qω(Ii)为节点i的模块度增益,W为所有社区中所有节点的边权重之和,ωij为节点i和节点j的相似度,si为所有与节点i相连的边权重之和,sj为所有与节点j相连的边权重之和,uki为节点i属于社区k的概率,ukj为节点j属于社区k的概率;
利用公式
Figure FDA0002540255830000042
计算全局模块度,其中,Qω(U)为全局模块度,Qω(Ii)为节点i的模块度增益。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:验证单元;
所述验证单元,利用势函数Θ(U)=-1/2Qω(U)验证目标节点所在的社区是否为其最好的社区;
每一个节点用Qω(Ii)做为其目标函数,当目标节点通过改变Ii提高自身的模块度增益时,U趋近于纳什均衡。
CN201610996893.9A 2016-11-10 2016-11-10 一种社区网络检测方法及装置 Active CN106600430B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610996893.9A CN106600430B (zh) 2016-11-10 2016-11-10 一种社区网络检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610996893.9A CN106600430B (zh) 2016-11-10 2016-11-10 一种社区网络检测方法及装置

Publications (2)

Publication Number Publication Date
CN106600430A CN106600430A (zh) 2017-04-26
CN106600430B true CN106600430B (zh) 2020-11-17

Family

ID=58590256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610996893.9A Active CN106600430B (zh) 2016-11-10 2016-11-10 一种社区网络检测方法及装置

Country Status (1)

Country Link
CN (1) CN106600430B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108446862A (zh) * 2018-03-29 2018-08-24 山东科技大学 一种社会网络中重叠社区检测的三阶段策略算法
CN110351106B (zh) * 2018-04-03 2022-01-25 中移(苏州)软件技术有限公司 一种网络结构的检测方法、装置、电子设备及存储介质
CN110650156B (zh) * 2019-10-23 2021-12-31 北京天融信网络安全技术有限公司 网络实体的关系聚类方法、装置及网络事件的识别方法
CN113052408B (zh) * 2019-12-10 2024-02-23 杭州海康威视数字技术股份有限公司 一种社区聚合的方法及装置
CN113822768B (zh) * 2020-12-29 2024-04-16 京东科技控股股份有限公司 社区网络的处理方法、装置、设备及存储介质
CN113254662B (zh) * 2021-04-20 2022-06-17 浙江工业大学 一种基于修剪图谱聚类的学术团队划分方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008165A (zh) * 2014-05-29 2014-08-27 华东师范大学 一种基于网络拓扑结构和节点属性的社团检测方法
CN104391889A (zh) * 2014-11-11 2015-03-04 西安交通大学 一种面向有向-加权网络的社区结构发现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8000262B2 (en) * 2008-04-18 2011-08-16 Bonnie Berger Leighton Method for identifying network similarity by matching neighborhood topology

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008165A (zh) * 2014-05-29 2014-08-27 华东师范大学 一种基于网络拓扑结构和节点属性的社团检测方法
CN104391889A (zh) * 2014-11-11 2015-03-04 西安交通大学 一种面向有向-加权网络的社区结构发现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于自然计算的复杂网络社区检测;陈静;《硕士论文》;20131231(第S2期);全文 *

Also Published As

Publication number Publication date
CN106600430A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
CN106600430B (zh) 一种社区网络检测方法及装置
Mowla et al. Federated learning-based cognitive detection of jamming attack in flying ad-hoc network
CN110111113B (zh) 一种异常交易节点的检测方法及装置
Stewart et al. A novel intrusion detection mechanism for scada systems which automatically adapts to network topology changes
Boshmaf et al. Thwarting fake OSN accounts by predicting their victims
CN115358487A (zh) 面向电力数据共享的联邦学习聚合优化系统及方法
Ouyang et al. A novel hybrid multi-objective population migration algorithm
JP2023550194A (ja) モデル訓練方法、データ強化方法、装置、電子機器及び記憶媒体
CN110826644A (zh) 基于Copula函数的分布式电源时序联合出力典型场景生成方法
CN116629376A (zh) 一种基于无数据蒸馏的联邦学习聚合方法和系统
CN106611021B (zh) 一种数据处理方法和设备
Simsek et al. Utility-aware legitimacy detection of mobile crowdsensing tasks via knowledge-based self organizing feature map
CN102902674B (zh) 服务群组分类方法和系统
CN106022936B (zh) 适用论文合作网络的基于社团结构的影响最大化算法
CN106911512B (zh) 在可交换图中基于博弈的链接预测方法及系统
Wu et al. Multi-population and diffusion UMDA for dynamic multimodal problems
CN111966920A (zh) 舆情传播的稳定条件的预测方法、装置及设备
Abdelhaq et al. Securing mobile ad hoc networks using danger theory-based artificial immune algorithm
CN109993338B (zh) 一种链路预测方法及装置
Ghimire et al. A crowd-based efficient fault-proof localization system for IoT and MCS
CN115358283A (zh) 电磁信号孪生深度学习识别方法、装置、设备及存储介质
CN114548294A (zh) 一种电网异常数据检测方法、装置、移动终端及存储介质
CN107948147B (zh) 网络连接数据分类方法
CN110569475A (zh) 一种网民影响力的评估方法、装置、设备和存储介质
Dinh et al. Automated generation of ham rules for Vietnamese spam filtering

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant