CN103778192B - 一种复杂网络局部社区发现方法 - Google Patents
一种复杂网络局部社区发现方法 Download PDFInfo
- Publication number
- CN103778192B CN103778192B CN201410004358.1A CN201410004358A CN103778192B CN 103778192 B CN103778192 B CN 103778192B CN 201410004358 A CN201410004358 A CN 201410004358A CN 103778192 B CN103778192 B CN 103778192B
- Authority
- CN
- China
- Prior art keywords
- node
- community
- core
- path
- core path
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004891 communication Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000001914 filtration Methods 0.000 abstract 1
- 230000035945 sensitivity Effects 0.000 abstract 1
- 238000013459 approach Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social 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)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种复杂网络局部社区发现方法,从包含源节点的初始社区出发通过逐渐扩展找到源节点所隶属的网络局部社区,所述初始社区按照如下方式确定:S1初始化核心路径,将源节点添加到该路径;S2对于以核心路径中最后一个节点为中心的邻域内的每个节点,计算其与最后一个节点的连通强度值,找到使得连通强度最大的节点z;S3判断节点z是否在核心路径中,如果没包含则将节点z加入核心路径,返回步骤S2;否则对核心路径中可能存在的多余节点进行过滤;S4将核心路径中的节点确定为初始社区。本发明通过节点连通强度值来判断社区核心的方向,能较为准确的从源节点找到社区核心,有效提升准确性,避免了现有方法对于源节点选择敏感性的问题。
Description
技术领域
本发明属于复杂网络数据挖掘技术,具体为一种复杂网络局部社区发现方法。
背景技术
现实世界中的很多事物都可以按照复杂网络的观点进行分析,比如internet网络、蛋白质网络、电话网络,甚至我们与我们身边的朋友们所建立的交际网络等。这些复杂网络大多具有社团结构的特性,通过对复杂网络中的社团进行发现,人们可以挖掘出很多重要的知识,并利用这些知识更好的为人类服务。比如通过社团人们可以区分出互联网论坛中不同兴趣的团体,进而为这些团体中的成员提供他们所需要的信息;也可以利用科技文献中隐含的引文网络社团结构抽取出不同学科的研究团体及团体之间的交融和演变,为学科的发展提供指导。
在过去的十几年间,出现了很多经典的社团挖掘方法。比如著名的GN方法、谱方法、聚集和分割方法等。这些方法虽然能够较为准确的检测出社区结构,但它们都是全局方法,需要知道整个网络的拓扑信息,而且时间复杂度普遍较高。
鉴于全局方法的局限性,一些学者提出了局部社区发现方法比如Clauset方法、Bagraw方法、Cnll方法等。这类方法从一个源节点开始通过逐渐扩展的方式得到源节点所属的社区。局部社区方法无需知道整个网络的拓扑结构,所以当只需要对部分网络结构或者少数节点的社区属性进行分析时,它们就具有了全局方法不可比拟的优势。不过这些方法大多对源节点的选取比较敏感,这往往会降低方法的稳定性和可靠性。
发明内容
本发明的目的在于提供一种复杂网络局部社区发现方法,通过节点连通强度值来判断社区核心的方向,能较为准确的从源节点找到社区核心,有效提升准确性,避免了现有方法对于源节点选择敏感性的问题。
一种复杂网络局部社区发现方法,从包含源节点的初始社区出发通过逐渐扩展找到源节点所隶属的网络局部社区,其特征在于,所述初始社区按照如下方式确定:
步骤S1:初始化一条空的核心路径,并将源节点添加到该路径,该路径用于存储从源节点到社区核心所途经的各节点;
步骤S2:对于以核心路径中排位最后一个节点为中心的邻域内的每个节点,计算其与最后一个节点的连通强度值,并找到使得连通强度最大的节点z;
步骤S3:判断步骤S2找到的节点z是否包含在核心路径中,如果没包含则将节点z加入核心路径,返回步骤S2;如果包含则按照如下子步骤对核心路径中可能存在的多余节点进行过滤:
S31:确认核心路径中节点z是否位于核心路径中倒数第二个位置,如果是则进入步骤S32,否则就说明不存在多余节点,进入步骤S4;
S32:分别计算核心路径中排位最后两个节点的邻域中心度值,如果最后一个节点的邻域中心度值小于倒数第二个节点的邻域中心度值,则删除核心路径中的最后一个节点,进入步骤S4,否则就说明不存在多余节点,直接进入步骤S4;
步骤S4:将当前核心路径中的节点确定为初始社区;
所述步骤S32中的邻域中心度值计算方式为:
NC(p)=Count{q|Max{RS(q,r)|r∈N(q)}=RS(q,p),q∈N(p)}
其中,NC(p)表示节点p的邻域中心度值,N(p)表示节点p的邻域,RS(p,q)表示相邻节点p和q之间的连通强度,Max{*}表示集合中的最大值,Count{*}表示集合中元素的个数。
进一步地,所述步骤步骤S2中的连通强度值按照如下方式计算:
相邻节点u与v间的连通强度RS(u,v)=indirectRS(u,v)+directRS(u,v),其中,directRS(u,v)为节点u和v间的直接连通强度,indirectRS(u,v)为节点u和v间的间接连通强度;
若网络为无权网络,则直接连接强度directRS(u,v)=1,间接连通强度indirectRS(,uv)为节点u和v的共同邻居节点数目;
若网络为加权网络,则直接连接强度directRS(u,v)为节点u和v间的权值,间接连接强度 其中,N(u)为节点u的邻域,N(v)为节点v的邻域,节点i属于N(u)和N(v)的交集,wui为节点u与i连边的权值,wvi为节点v与i连边的权值。
与现有技术相比,本发明的有益效果体现在:
通过比较某节点与其邻域中各节点的连通强度值来判断社区核心的方向,并从源节点开始迭代地沿着此方向逼近社区核心,形成一条核心路径,然后以此路径中的节点作为初始社区。由于这种迭代的方法能够较为准确地找到核心,所以本发明能够比现有方法更为精确地挖掘出源节点所属的社区。本发明以核心路径中所有的节点作为初始社区,这种方法综合考虑了源节点、核心节点以及两者之间途径节点的重要性,所以能够有效解决现有基本局部社区发现方法对于源节点选取敏感性的问题。
附图说明
图1为本发明的流程图。
图2为本发明在LRF网络数据集上与基本局部社区发现方法Clauset针对准确性的实验对比效果示意图。
图3为本发明在LRF网络数据集上与基本局部社区发现方法Clauset针对源节点鲁棒性的实验对比效果示意图。
图4为本发明从源节点开始迭代地寻找社区核心的逻辑示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
S1:建立一个链表作为核心路径,并将源节点添加到该路径尾部,该路径用于存储从源节点到社区核心所途经的各节点。
S2:对以核心路径的尾节点为中心的邻域内的每个节点计算它与尾节点的连通强度值,并找到使得连通强度最大的节点z。
S3:判断S2步中找到的节点z是否已经包含在核心路径中,如果没包含则将z加入核心路径尾部后重复步骤S2,如果包含则对核心路径中可能存在的多余节点进行过滤。
S4:将当前核心路径中的节点确定为初始社区。
S5:以核心路径中所包含的节点作为初始社区,选择合适的基本社区发现方法对初始社区进行扩展。
步骤S2中,连通强度表征相邻节点间的连通紧密性,在本发明中相邻节点间连通强度的计算方法,包含以下子步骤:
S21:确定直接连通强度值和间接连接强度值。对于所有连边的权值均相等的无权网络,直接连接强度为1,间接连接强度为两相邻节点的共同邻居数目;对于节点之间连边权值不等的加权网络,直接连接强度为相邻节点间的权值,间接连接强度通过以下公式计算:
其中,N(u)为节点u的邻域,节点i属于N(u)和N(v)的交集,wui为两节点u、i间连边的权值,wvi为两节点v、i间连边的权值。
S22:将连通强度值设置为直接连通强度值和间接连通强度值之和。
RS(u,v)=indirectRS(u,v)+directRS(u,v)
其中RS(u,v)为相邻节点u和v的连通强度,directRS(u,v)为节点u和v的直接连接强度,indirectRS(u,v)为节点u和v间的间接连通强度。
步骤S3中,对核心路径中可能存在的多余节点进行过滤,包含以下子步骤:
S31:确认核心路径中节点z是否位于核心路径中倒数第二个位置,如果是则继续通过步骤S32进行处理,否则就说明不存在多余节点,保存路径中所有的节点。
S32:分别计算核心路径中最后两个节点的邻域中心度值,如果最后一个节点的邻域中心度值小于倒数第二个节点的邻域中心度值,则删除核心路径中的最后一个节点,将删除处理后得到的核心路径确定为局部初始社区,否则将当前的核心路径确定为局部初始社区;
邻域中心度值用过以下公式计算:
NC(p)=Count{q|Max{RS(q,r)|r∈N(q)}=RS(q,p),q∈N(p)}
其中,NC(p)表示节点p的邻域中心度值,N(p)表示节点p的邻域,RS(p,q)表示相邻节点p和q之间的连通强度,Max{*}表示集合中元素的最大值,Count{*}表示集合中元素的个数。
图2为应用本发明在LRF网络数据集上与基本局部社区发现方法Clauset针对准确性的实验对比。图中Clauset-P为经过本发明优化过的方法。LRF数据集的参数为:N=5000、k=15、maxk=40、minc=20、maxc=50、t1=2、t2=1,其中N代表网络中节点的个数,k和maxk分别代表节点的平均度和最大度,minc和maxc分别表示社团的最小和最大规模,t1和t2代表节点度值和社区大小的幂率指数,另外实验中设置的从0.1到0.7的混合参数表示社区之间的模糊程度,值越大社区之间的界限越模糊越难区分。准确度用5000次实验的平均NMI值进行度量。图中可以看出,Clauset方法经过本发明优化后,其准确度有较大提升。
图3为应用本发明在LRF网络数据集上与基本局部社区发现方法Clauset针对源节点鲁棒性的实验对比。LEF参数与图2中的设置相同,Hub、Leaf和Rand分别代表度较大的节点、度较小的节点和随机选择的节点,每类节点各选500个,准确度用500次实验的平均NMI值进行度量。图中可以看出,Clauset方法经过本发明优化后,Hub、Leaf和Rand分别作为源节点时准确度的差异性减小,方法的鲁棒性得到了加强。
图4为本发明从源节点开始迭代地寻找社区核心的逻辑示意图,图中v1为源节点,v4为社区核心节点,v5为需要过滤的多余节点,越靠近内层的就代表越靠近核心。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种复杂网络局部社区发现方法,从包含源节点的初始社区出发通过逐渐扩展找到源节点所隶属的网络局部社区,其特征在于,所述初始社区按照如下方式确定:
步骤S1:初始化一条空的核心路径,并将任意选取的源节点添加到该路径,该路径用于存储从源节点到核心节点所途经的各节点;
步骤S2:对于以核心路径中由源节点指向社区核心的最后一个节点为中心的邻域内的每个节点,计算其与最后一个节点的连通强度值,并找到使得连通强度最大的节点z;
步骤S3:判断步骤S2找到的节点z是否包含在核心路径中,如果没包含则将节点z加入核心路径,返回步骤S2;如果包含则按照如下子步骤对核心路径中可能存在的多余节点进行过滤:
S31:确认核心路径中节点z是否位于核心路径中倒数第二个位置,如果是则进入步骤S32,否则就说明不存在多余节点,进入步骤S4;
S32:分别计算核心路径中排位最后两个节点的邻域中心度值,如果最后一个节点的邻域中心度值小于倒数第二个节点的邻域中心度值,则删除核心路径中的最后一个节点,进入步骤S4,否则就说明不存在多余节点,直接进入步骤S4;
步骤S4:将当前核心路径中的节点确定为初始社区;
所述步骤S32中的邻域中心度值计算方式为:
NC(p)=Count{q|Max{RS(q,r)|r∈N(q)}=RS(q,p),q∈N(p)}
其中,NC(p)表示节点p的邻域中心度值,N(p)表示节点p的邻域,RS(p,q)表示相邻节点p和q之间的连通强度,Max{*}表示集合中的最大值,Count{*}表示集合中元素的个数。
2.根据权利要求1所述的复杂网络局部社区发现方法,其特征在于,所述步骤S2中的连通强度值按照如下方式计算:
相邻节点u与v间的连通强度RS(u,v)=indirectRS(u,v)+directRS(u,v),其中,directRS(u,v)为节点u和v间的直接连通强度,indirectRS(u,v)为节点u和v间的间接连通强度;
若网络为无权网络,则直接连接强度directRS(u,v)=1,间接连通强度indirectRS(u,v)为节点u和v的共同邻居节点数目;
若网络为加权网络,则直接连接强度directRS(u,v)为节点u和v间的权值,间接连接强度其中,N(u)为节点u的邻域,N(v)为节点v的邻域,节点i属于N(u)和N(v)的交集,wui为节点u与i连边的权值,wvi为节点v与i连边的权值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410004358.1A CN103778192B (zh) | 2014-01-06 | 2014-01-06 | 一种复杂网络局部社区发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410004358.1A CN103778192B (zh) | 2014-01-06 | 2014-01-06 | 一种复杂网络局部社区发现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103778192A CN103778192A (zh) | 2014-05-07 |
CN103778192B true CN103778192B (zh) | 2017-01-25 |
Family
ID=50570427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410004358.1A Active CN103778192B (zh) | 2014-01-06 | 2014-01-06 | 一种复杂网络局部社区发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103778192B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102703B (zh) * | 2014-07-08 | 2017-06-13 | 华中师范大学 | 一种复杂网络中节点传播能力的评估方法 |
CN105654132A (zh) * | 2015-12-30 | 2016-06-08 | 南京理工大学 | 社区检测方法与装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685255A (zh) * | 2012-06-01 | 2012-09-19 | 重庆邮电大学 | 一种分布式机会网络社区划分方法 |
CN103024017A (zh) * | 2012-12-04 | 2013-04-03 | 武汉大学 | 一种社交网络重要目标及社区群体识别方法 |
-
2014
- 2014-01-06 CN CN201410004358.1A patent/CN103778192B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685255A (zh) * | 2012-06-01 | 2012-09-19 | 重庆邮电大学 | 一种分布式机会网络社区划分方法 |
CN103024017A (zh) * | 2012-12-04 | 2013-04-03 | 武汉大学 | 一种社交网络重要目标及社区群体识别方法 |
Non-Patent Citations (4)
Title |
---|
Community detection in complex networks using genetic algorithms;Tasgin M等;《arXiv》;20060418;全文 * |
Towards real-time community detection in large networks;Ian X.Y等;《Physical Review E》;20090620;全文 * |
基于社区的关键节点挖掘算法;陆晓野等;《计算机系统应用》;20120430;全文 * |
网络社区发现技术研究;刘晓静;《万方数据知识服务平台》;20090216;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103778192A (zh) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103426042B (zh) | 社交网络的分组方法及系统 | |
CN109005055B (zh) | 基于多尺度拓扑空间的复杂网络信息节点重要度评价方法 | |
CN103400299B (zh) | 基于重叠点识别的网络重叠社团检测方法 | |
CN103476051A (zh) | 一种通信网节点重要性评价方法 | |
CN105654548A (zh) | 一种基于大规模无序图像的多起点增量式三维重建方法 | |
CN109597924B (zh) | 一种基于人工免疫网络的微博社交圈挖掘方法及系统 | |
US9892532B2 (en) | Apparatus and method for generating a shortest-path tree in a graph | |
CN103853739B (zh) | 动态社会关系网络社区演化识别以及稳定社区提取方法 | |
CN107317704A (zh) | 一种基于紧密度和结构洞的复杂网络重要节点排序方法 | |
CN108280121B (zh) | 一种基于k-核分解获取社交网络意见领袖的方法 | |
CN102752784B (zh) | 无线传感器网络中基于图论的分布式事件域的检测方法 | |
CN103227731A (zh) | 基于改进“结构洞”的复杂网络节点重要性局部计算方法 | |
CN113297429B (zh) | 一种基于神经网络架构搜索的社交网络链路预测方法 | |
CN109120431B (zh) | 复杂网络中传播源选择的方法、装置及终端设备 | |
CN112182306B (zh) | 一种基于不确定图的社区发现方法 | |
CN103778192B (zh) | 一种复杂网络局部社区发现方法 | |
CN104348665A (zh) | 基于聚类判断准则的节点对融合网络拓扑估计方法 | |
CN106878067B (zh) | 一种动态AdHoc网络关键节点识别方法 | |
CN108647727A (zh) | 不平衡数据分类欠采样方法、装置、设备及介质 | |
CN104700311B (zh) | 一种社会网络中的邻域跟随社区发现方法 | |
CN106912040B (zh) | 一种融合删除法的Ad Hoc网络关键节点识别方法 | |
CN106330541A (zh) | 一种基于二阶局部社团和偏好连接的预测网络未知连边的方法 | |
CN103345513A (zh) | 一种社交网络中的基于朋友关系传播的朋友推荐方法 | |
CN108270608B (zh) | 一种链路预测模型的建立及链路预测方法 | |
CN105045967A (zh) | 基于集团度的复杂网络重要节点排序方法及模型演化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |