CN105938608A - 一种基于标签影响力的半同步社区发现方法 - Google Patents
一种基于标签影响力的半同步社区发现方法 Download PDFInfo
- Publication number
- CN105938608A CN105938608A CN201610225804.0A CN201610225804A CN105938608A CN 105938608 A CN105938608 A CN 105938608A CN 201610225804 A CN201610225804 A CN 201610225804A CN 105938608 A CN105938608 A CN 105938608A
- Authority
- CN
- China
- Prior art keywords
- node
- label
- network
- community
- influence
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 230000000694 effects Effects 0.000 claims description 19
- 241000238876 Acari Species 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 12
- 230000006854 communication Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 7
- 230000010355 oscillation Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000004040 coloring Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 235000005156 Brassica carinata Nutrition 0.000 description 5
- 244000257790 Brassica carinata Species 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 238000009792 diffusion process Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241001481833 Coryphaena hippurus Species 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000003534 oscillatory effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 206010068052 Mosaicism Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000013441 quality evaluation Methods 0.000 description 1
- 238000013432 robust analysis Methods 0.000 description 1
- 210000003765 sex chromosome Anatomy 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于标签影响力的半同步社区发现方法,包括以下步骤:步骤S1:对于给定社会网络,计算每个网络节点的影响力,并根据影响力大小对网络节点降序排序;步骤S2:依据影响力大小初始化网络节点标签;步骤S3:利用半同步标签传播算法ISLPA对网络节点标签进行迭代更新;步骤S4:根据网络节点标签进行网络节点的社区划分并输出,即对于所有网络节点,通过将具有相同标签者归属到同一社区的方法构造网络的社区结构。该方法能够提高社区发现的有效性和稳定性,有效发现隐藏于社交网络的社区结构模式。
Description
技术领域
本发明涉及网络社区发现技术领域,特别是一种应用于社会网络的基于标签影响力的半同步社区发现方法。
背景技术
诸如万维网、社会关系网络与生物网络等多种自然或社会复杂系统都可以用复杂网络来描述,复杂网络具有度幂律分布、高聚集系数与模块化社区等特征。本质上,网络的社区结构是指这样的节点集合:集合内的节点之间的链接稠密而集合内节点与集合外节点的链接稀疏。例如,具有复杂网络研究兴趣的学者之间联系比较紧密,他们构成一个社区,目前常在一起探讨问题,而与图形图像研究者沟通不多。社区结构能够刻画复杂系统功能部件间的拓扑关系,从复杂系统网络中挖掘出隐藏的潜在有价值的社区结构模式是一个很有意义但包含挑战的工作。
近年来,网络社区发现研究同时在物理学、社会学与计算机科学等不同领域中备受关注,涌现出的算法五花八门。绝大多数现有的社区发现算法都有着较高的计算复杂度,例如,GN算法的时间复杂度为O(m2n),模块度优化法的时间复杂度为O(mklogn)。过高的计算成本使得这些传统社区发现方法无法满足大规模复杂网络社区模式发现的需要。在此背景下,具有近似线性时间复杂度的标签传播算法(Label Propagation Algorithm,LPA)在大规模网络社区发现研究中倍受青睐。
Raghavan等人最早于2007年首先提出基于标签传播算法的社区发现方法RAK,该方法首先将每个节点初始化为一个独特的社区标签,然后通过迭代过程将每个节点的标签都更新为其大多数邻近节点的标签,最后密集连接的节点组会逐步从一个独特标签变成了一个具有共识的社区节点从而形成网络社区结构。RAK承袭了标签传播算法的高效计算特性,但由于其在初始标签、选择邻居节点和更新顺序等方面都采用随机策略,这使得发现的网络社区结构具有很大随机性,甚至可能产生所有节点属于同一社区的奇异解。针对此,社区发现研究者从多个方面对LPA算法进行了改进。
随机初始标签方面,Subelj等人提出一种新的标签传播算法DPA以层次方式将防御保护与进攻扩展两种社区形成策略组合起来,通过递归方式提取社区核心与调整社区核心来发现微小社区(whisker communities)。Leung等人通过Web网络社区发现的实验,发现节点标签跳衰减策略与节点强度传播策略能有效提升LPA算法的性能。考虑到随机选取邻居节点标签的更新策略会降低LPA算法的鲁棒性,Zhang等人提出在出现多个最优的不同标签时应选择与当前待更新节点存在局部环的标签对当前节点更新。Lin等人提出一种基于社区核的标签传播算法CK-LPA,根据节点在网络中的重要性对其赋值并以此值对节点标签进行异步更新。为了避免产生众多碎小社区,赵卓翔等人提出了一种基于标签影响力的社区发现算法LIB,该算法首先选取一个小的顶点集作为种子集并赋予每个种子唯一的标签再以种子集作为起点进行传播,在对节点标签更新时需要对顶点邻居中相同标签所占比例、顶点度数和边的权重等多种因素进行综合考虑。为了避免产生怪兽社区(同一网络内所有节点都隶属同一个社区),Barber等人提出了一种模块化标签传播算法LPAm,通过给定一个目标函数,使得标签传播算法在迭代传播过程中受到约束,将社区发现的问题转化成为寻找目标函数最优解的问题,在邻居标签个数相同的基础上定义一个目标函数利用标签传播算法发现函数的局部化的最优值。注意到LPAm因容易陷入模块度局部极大值而损害结果社区的准确性,Liu等人提出了LPAm+算法,将LPAm算法与多步贪心聚合(MSG)相结合,利用MSG同时合并多个相似社区以避免陷入局部最大值,实现更加精准地检测网络社区。Subelj等人提出的BPA算法,先计算每个节点的平衡因子,再通过累加相同标签的平衡因子来选取最大的邻居集合,避免了奇异解的产生。
上述算法虽然在一定程度上提升了结果社区的质量,但依然存在由随机更新策略引起的算法稳定性问题。针对于此,本文提出了一种基于影响力的半同步标签传播算法(Influence-driven Semi-synchronous Label Propagation Algorithm,ISLPA)。
发明内容
本发明的目的在于提供一种基于标签影响力的半同步社区发现方法,该方法能够提高社区发现的有效性和稳定性,有效发现隐藏于社交网络的社区结构模式。
为实现上述目的,本发明的技术方案是:一种基于标签影响力的半同步社区发现方法,包括以下步骤:
步骤S1:对于给定社会网络,计算每个网络节点的影响力,并根据影响力大小对网络节点降序排序;
步骤S2:依据影响力大小初始化网络节点标签;
步骤S3:利用半同步标签传播算法ISLPA对网络节点标签进行迭代更新;
步骤S4:根据网络节点标签进行网络节点的社区划分并输出,即对于所有网络节点,通过将具有相同标签者归属到同一社区的方法构造网络的社区结构。
进一步的,所述步骤S1中,对于网络节点u,其影响力为:
,其中
其中,deg(u)为节点u的度,N(u)是节点u的邻居集合;
在所有节点的影响力计算完毕后,对节点进行依影响力的降序排序。
进一步的,所述步骤S2中,重复如下操作直至全部节点标记完毕:选择当前最大影响力的节点进行标签赋值,若有多个并列最大影响力的节点,则按照排列顺序选择,在所述最大影响力的节点标签赋值完毕后,对其邻居节点按照排列顺序进行标记。
进一步的,所述步骤S3中,利用半同步标签传播算法ISLPA对网络节点标签进行迭代更新,具体包括以下步骤:
步骤S31:选择具有最大影响力的节点作为待更新节点u;
步骤S32:对于待更新节点u,选择标签,其中l' u 是节点u待更新的标签,σ(u)是节点u邻居节点的集合,δ(l v , l)是克罗内克函数,u的所有标签为l' u 的邻居节点构成集合V;
步骤S33:将节点u与集合V中的节点进行状态划分,即对于集合V中的任意节点v,将其归属为如下3种状态中的一种:已更新的第一状态、节点u可根据节点v更新的第二状态和节点u不可根据节点v更新的第三状态;
步骤S34:根据如下情况判断待更新节点u是否可以更新:1)集合V中所有节点都未更新且节点u相对集合V中所有节点为第二状态,则节点u只能等待其他节点更新;2)虽然集合V中节点u相对集合V中所有节点为第二状态,但是集合V中具有第一状态的节点,则节点u可以更新;3)节点u相对集合V中所有节点为第三状态,节点u可以更新;
步骤S35:若节点u满足更新条件则更新其标签,否则等待条件满足;
步骤S36:迭代执行步骤S31~S35,直至模块度收敛条件满足。
本发明的有益效果是提供了一种基于标签影响力的半同步社区发现方法,相较于传统的网络社区发现方法,本发明方法从更新机制上进行突破,采用半同步策略,通过计算节点的影响力,从初始标签、选择邻居节点和更新顺序三方面来提升标签传播算法的性能,能显著提高社区发现的有效性与稳定性,有效发现隐藏于社交网络的社区结构模式,可广泛应用于微博网络、邮件网络、BBS论坛网络等各种社交平台,可以提升信息主动服务质量、增强网络文化安全等。
附图说明
图1是本发明实施例的实现流程图。
图2 是本发明实施例中半同步更新机制实现过程的示意图((I)原始网络;(II)节点标签随机化;(III)节点着色;(IV)节点标签迭代传播)。
图3是本发明实施例中完全图着色异步更新的示意图。
图4是本发明实施例中振荡现象产生的原因的示意图。
图5 是本发明实施例中待更新节点u邻居状态的示意图。
图6 是本发明实施例中单向边变换指向的示意图((I)节点u更新前;(II)节点u更新后)。
图7是本发明实施例中节点u所选择的标签集合的3种情况的示意图((I)情况1;(II)情况2;(III)情况3)。
具体实施方式
本发明一种基于标签影响力的半同步社区发现方法,如图1所示,包括以下步骤:
步骤S1:对于给定社会网络,计算每个网络节点的影响力,并根据影响力大小对网络节点降序排序。
对于网络节点u,其影响力为:
,其中
其中,deg(u)为节点u的度,N(u)是节点u的邻居集合;
在所有节点的影响力计算完毕后,运用快速排序方法对节点进行依影响力的降序排序。
步骤S2:依据影响力大小初始化网络节点标签。具体方法如下:
重复如下操作直至全部节点标记完毕:选择当前最大影响力的节点进行标签赋值,若有多个并列最大影响力的节点,则按照排列顺序选择,在所述最大影响力的节点标签赋值完毕后,对其邻居节点按照排列顺序进行标记。
步骤S3:利用半同步标签传播算法ISLPA对网络节点标签进行迭代更新。具体包括以下步骤:
步骤S31:选择具有最大影响力的节点作为待更新节点u。
步骤S32:对于待更新节点u,选择标签,其中l' u 是节点u待更新的标签,σ(u)是节点u邻居节点的集合,δ(l v , l)是克罗内克函数,u的所有标签为l' u 的邻居节点构成集合V。
步骤S33:将节点u与集合V中的节点进行状态划分,即对于集合V中的任意节点v,将其归属为如下3种状态中的一种:已更新的第一状态、节点u可根据节点v更新的第二状态和节点u不可根据节点v更新的第三状态。在本实施例中,第一状态设为黄色状态,第二状态设为红色状态,第三状态设为绿色状态,即3种状态为:已更新的黄色状态、节点u可根据节点v更新的红色状态和节点u不可根据节点v更新的绿色状态。
步骤S34:根据如下情况判断待更新节点u是否可以更新:1)集合V中所有节点都未更新且节点u相对集合V中所有节点为红色状态,则节点u只能等待其他节点更新;2)虽然集合V中节点u相对集合V中所有节点为红色状态,但是集合V中具有黄色状态的节点,则节点u可以更新;3)节点u相对集合V中所有节点为绿色状态,节点u可以更新。
步骤S35:若节点u满足更新条件则更新其标签,否则等待条件满足。
步骤S36:迭代执行步骤S31~S35,直至模块度收敛条件满足。模块度收敛条件为:模块度值连续T次迭代不改变。
步骤S4:根据网络节点标签进行网络节点的社区划分并输出,即对于所有网络节点,通过将具有相同标签者归属到同一社区的方法构造网络的社区结构。
下面结合附图及具体实施例对本发明作进一步的详细说明。为了方便详细阐述本发明,首先对标签传播算法进行简介,然后分析现有半同步更新的标签传播算法的不足。
标签传播算法
标签传播算法是由Zhu等人于2002年提出,它是一种基于图的半监督学习方法,其基本思路是利用样本间的关系建立以节点相似度为边的数据节点完全图模型并用已标记节点的标签信息去预测未标记节点的标签信息。Raghavan等人首先将LPA算法应用于网络社区发现研究中,根据当前节点的邻居节点的社区标签来更新其社区隶属标签。其基本计算框架可简述如下:
1)节点标签初始化:每个网络节点赋予唯一的初始社区标签。
2)节点标签更新:重复如下操作直到结束条件(标签传播稳定或达到最大迭代次数)满足。对每个节点x,令其邻居节点标签集合为N(x)={x1,x2,…,xk},若多重集合N(x)中具有最大重数的元素是唯一的,则以元素作为节点x的新标签,否则随机选择一个具有最大重数的元素作为节点x的新标签。
3)网络社区提取:具有相同标签的节点属于同一个社区。
由于具有计算高效性(近似线性的时间复杂度)与牢固数学基础等优势,标签传播算法近年来在社区发现研究中备受关注。
半同步更新机制
现有的半同步更新机制主要包含着色和传播两个子过程。着色过程主要负责着色网络节点,即:在满足相邻节点不能同色的条件下,使用尽量少的颜色数完成所有网络节点的颜色标记。而传播过程则实现标签以某种指定颜色顺序在节点间半同步迭代传播,以避免节点振荡问题。为了直观起见,下面基于图2说明半同步更新机制。对于如图2(I)的原始网络G,经过网络节点社区标签随机初始化操作可得如图2(II)的网络社区结构,在着色操作的作用下生成如图2(III)的着色网络社区结构,由图2(III)可知,此时的着色数为3,分别用红色、蓝色与黄色表示,最后通过图2(IV)中的两次迭代实现节点标签的传播,从而达到社区发现的目的。
从上面的传播过程可以看出,现有的半同步更新机制存在以下不足:1)节点标签迭代传播所依赖的颜色顺序是一成不变的,这种固定的标签传播模式难以满足挖掘复杂网络社区结构的需要;2)无法实现类完全图网络节点标签的同步更新,其原因是:在着色后的完全图中,每个节点颜色各不相同,从而使得在节点颜色顺序的迭代中节点标签轮流更新等效于异步更新。如图3,完全图着色后,所有节点标记为不同颜色,迭代过程中5个节点轮流更新等效于异步更新。
从上面分析可知,现有半同步更新的标签传播算法虽然能有效避免振荡问题,但是由于其限制了所有相邻节点间的同步传播,使得在某些情况下反而没法凸显算法的同步特性。
为了进一步分析现有半同步更新的标签传播算法无法体现同步特性的原因,有必要对振荡问题的根本原因进行分析。循环振荡现象,是指两个相邻节点无限次地只根据对方上一次迭代的标签来更新自己的标签。如图4所示,节点u和v在t1时刻获取了对方上一次迭代的标签,并都根据t-1次迭代的标签更新自己,类似地,下一次迭代对方又将上一次的标签传回来。
由此可见,振荡问题产生的根本原因是两个未更新的节点同时根据过时标签进行更新,且必须同时满足三个条件:1)两个节点都没有更新;2)同时进行更新;3)均根据对方过时标签更新。
而在传统半同步算法中,如图5所示,为了避免振荡问题,待更新节点u不能与其邻居节点集N(u)同步更新,然而事实上,在N(u)中能完全满足振荡3条件的节点仅仅是N(u)的子集,且大部分邻居节点并未与节点u进行标签传播,因而与节点u的更新操作无关。由此可见,传统半同步算法在节点半同步更新过程中施加的限制条件过于严格,使得计算效率比较低且增加了结果社区的不稳定性。
为此,本发明提出一种更加灵活的半同步更新策略,其基本思路是:对于任意待更新节点u,先根据标签传播策略选取更新节点u的更新标签l′ u ,邻居中所有标签为l′ u 的节点构造成邻居集合V,再根据集合V中节点的状态判断节点u是否可以更新。若集合V中存在节点,对节点u来说可根据其更新,即可进行更新。而节点u是否能更新只跟邻居集合V中节点的状态有关,与其他邻居节点无关。如图5所示,扇形区域中集合V中的节点共有3种颜色:黄色(已更新),红色(节点u可根据此节点更新),绿色(节点u不可根据此节点更新)。
为了避免相邻节点同时进行更新(破坏振荡的条件2),本文将无向边初始为单向,边的初始指向定为影响力大的节点指向影响力小的节点(节点影响力计算详见2.2),对于每个待更新节点u更新后,与其连接的所有边都变为无向边。如图6所示,(I)中节点u(绿色)指向节点v(红色),此时节点u可以根据节点v进行更新,而节点v不可根据节点u更新。节点u更新后(变为黄色),边uv变为无向边,如(II)所示,此时节点v可根据节点u更新。所以,对于每个节点状态分为两种:1)全局状态,更新后为黄色,其所有邻接边变为无向,不再受单向边限制,即对于所有节点来说均可根据其进行更新,无需考虑其相对状态;2)相对状态,根据边的指向分为绿色和红色,如节点u相对节点v为绿色,节点u可以根据节点v进行更新。
另外,我们还需清楚地知道,节点u更新是从邻居标签集合V中选取,并不仅仅局限于某一个相邻节点,对于集合V只需其中一个节点v对节点u来说可根据其更新(节点u相对其为绿色),否则等待集合V中任意一个节点更新。总的来说,对于每个待更新节点u,在更新前所选择的邻居集合存在3种情况,对应两种选择,如图7所示。
1)情况I,集合V中所有节点都未更新且节点u相对所有节点为红色(节点u不可根据其更新),这种情况则只能等待其他节点更新。
2)情况II,虽然集合V中节点u相对所有节点为红色,但是有节点(黄色)更新,节点u相对更新节点为绿色,所以可以更新,已更新的节点间传播不会出现振荡问题。
3)情况III,集合V中存在节点,节点u相对其来说为绿色,所以节点u可以更新。
节点标签初始化
传统LPA算法中网络节点的初始标签是随机生成的,并没有考虑节点特性及其邻居的关系。粗糙的随机初始化策略往往会导致在后续的标签传播过程中出现大量零散孤立的小社区,从而使得一些更有意义的大社区无法形成。另外,由于节点标签随机初始化策略赋予每个节点一个唯一的初始标签,这会形成标签传播过程中的“逆流”现象,即:很多影响力较小的节点在标签传播过程中会反过来影响一些影响力较大的节点。
为此,本发明提出一种基于节点影响力(节点影响力的计算方法见公式(1)和(2))的标签初始化策略。简而言之,就是在对每个节点初始标签时,优先选择影响力大的节点。具体的初始化过程可简述如下:
1)计算每个节点的影响力,并根据影响力进行排序。
2)选择当前最大影响力的节点进行标签赋值,若有并列最大,按照排列顺序选择。
3)对选择最大的节点标记后,对其邻居按照排列顺序进行标记。
4)重复步骤2)直至全部节点标记完毕。
(1)
(2)
其中p(u)表示节点u的影响力,deg(u)表示节点u的度,N(v)是节点v的邻居集合。
标签传播策略
LPA算法中,当节点存在多个同等最大数量的标签时,采用随机策略解决冲突。Tibely等人提出了一个等效公式即将节点标签的选择转换成目标函数最优解的选择(存在多个最优解时随机选择其中一个)。对于每个节点更新的目标函数如下:
(3)
其中l v 表示当前节点v的标签,l′ u 是节点u更新的标签,N(u)是节点u邻居节点的集合,δ(l v ,l)是克罗内克函数。公式的最优解即为节点u邻居节点中标签数量最多的标签。
原始LPA算法选择邻居标签,采用的是公式(3),计算邻居中相同标签的最大个数,随机从多个最大值中选择一个更新自己的标签。本文结合初始标签选取中的影响力来选择最具影响力的邻居团体,以减少随机性,使结果更加稳定。对于节点u选择更新节点的公式如下:
(4)
性能评测
为了定量地分析ISLPA算法的性能,我们选择3个基准真实网络数据集和3个LFR网络生成程序数据集作为实验数据集。实验环境为:CPU为Intel® Core2 i5-3230M,内存4G;OS为Win7。3个真实网络数据集分别是Zachary's karate club空手道俱乐部数据集、AmericanCollege football美国足球队网络数据集和Activities of Dolphin Groups海豚群体活动数据集。另外3个人工网络数据集由LFR程序生成。LFR在社区发现测试方面应用广泛,网络的节点数、平均节点度、μ等相关参数都可以灵活设置,能够生成较高质量的网络测试数据。其中,混合参数μ表示网络中社区间的连接数占所有边总和的比例即μ越大,生成网络的社区结构越不明显。实验网络特征描述见表1。
评价标准
本实验采用模块度Q和标准化互信息NMI (Normalized Mutual information)两个指标对ISLPA算法的有效性与鲁棒性进行评价。模块度Q是当前使用最为广泛的社区质量指标,其值等于网络中社区内部边所占的比例减去另一个随机网络中社区内部边所占的比例,具体可形式化如下:
(5)
其中,m表示网络中的边数;当节点i与节点j相连时,A ij 等于1,反之为0;k i 表示节点i的度数;g i 表示节点i所属社区;δ(g i ,g j )为克罗内克函数,当g i =g j 时,δ(g i ,g j )=1,否则,δ(g i ,g j )=0。网络社区模块化程度与Q是正相关的,即当社区结构明显时,Q接近1;当社区结构不明显时,Q接近0。
NMI是一种基于信息论理论的社区质量评价指标,它通过计算已知社区结构和由算法得到的社区结构之间的相似度来实现网络社区结构质量的测度,其值越大说明算法结果社区与真实社区结构相一致的程度越高,具体公式如下:
(6)
其中P res 为算法划分集合,P true 为网络真实划分集合,m和n为对应划分社区个数,V m 为社区m的节点集合。
有效性分析
本节模块度与标准化互信息两个方面来评价ISLPA算法的有效性,也即是结果网络社区质量。具体地,将ISLPA算法与其他3种代表性算法(LPA、LPA-S与LPAm)在6个数据集上进行实验比较。其中,LPA、LPAm采用异步更新方式,LPA-S采用的是全同步更新方式,本文提出的ISLPA为半同步更新方式。表2与表3分别给出了四种算法在实验数据集上运行50次所得的Q值与NMI值。由表2可以看出,不论在真实网络中,还是在人工网络中,ISLPA算法都表现出较好的收敛性。其中,ISLPA算法在真实网络Karate划分结果Q值固定为0.3715,已完全接近实际划分。虽然在Football网络中划分结果要低于原始LPA算法,但是各算法之间差距较小,主要原因是Football网是由美国足球高校代表队组成,队与队之间的差别较小,即网络结构不是很明显,而改进算法则是通过寻找网络结构中的独特之处来提升算法的效果,比如寻找影响力最大、节点度大的节点。所以在Football网络中改进算法无法发挥其特性。在其他网络中,与另外3种算法对比略显优势。可见,ISLPA算法在社区结构明显的网络中具有较好的收敛性。在网络规模较大的人工网络中,ISLPA算法相对于其他算法仍然存在优势,从Q值的方差可以看出算法在随机策略上的改进达到了预期的效果,提高了划分结果的稳定性。
从表3测试网络上的NMI值对比中,可以看出ISLPA算法对Karate网络的划分已经完全接近实际划分,对其他网络的划分也有较好的效果。从同步更新方式的LPA-S与异步更新方式的LPA、LPAM算法对比中,我们可以看到在大多数网络中同步更新比异步更新划分效果好,同步更新受随机选择的影响较小,稳定性要高于异步更新方式的算法。本文提出的ISLPA算法为了避免振荡问题,采用半同步更新机制,并在更新顺序上考虑到节点影响力,使得影响力高的节点能优先更新。所以,在更新顺序上不仅没有受到随机选择的影响,而且节点更新的次序比较有序,能更准确地发现社区结构。在诸如Karate与Dophins之类的社区结构模块性较强的网络中,ISLPA算法相对于其他算法有明显的优势。在大型人工网络中,ISLPA算法50次NMI均值分别为0.9210、0.8887、0.8113远远大于其他算法,几乎接近于实际网络划分。总的来说,与其他算法对比,不仅从均值意义上看,ISLPA算法展现出明显的优势。而且从方差意义上看,ISLPA算法的最佳结果社区结构的NMI的分布更加均匀。因而,我们的方法具有更好的有效性。
鲁棒性分析
为了评价ISLPA算法的鲁棒性,我们通过调节混合参数μ(混合参数μ越小社区结构越明显)来构造社区模块度各异的不同人工网络。表4为4种LPA算法在不同网络中的划分结果(NMI值)。从表4可以看出,当网络结构明显(μ<0.1)的时,ISLPA算法的划分结果更接近于实际划分,NMI值高达0.9以上,与其他算法相比有明显的优势。随着混合参数μ的增大,社区结构变得越来越模糊,社区发现的难度也逐步增大。各算法的划分效果都随着混合参数μ的增大而降低,但ISLPA算法相对于其他算法依然存在优势。由此不难得出这样的结论:在社区结构明显的网络中,节点之间的差异很大,根据节点的影响力等特性能更准确地发现网络的社区结构。优先更新影响力大的节点,不仅能避免“逆流”现象,还使得节点更新的顺序更加有序,进而使得算法产生的结果更加稳定。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (4)
1.一种基于标签影响力的半同步社区发现方法,其特征在于,包括以下步骤:
步骤S1:对于给定社会网络,计算每个网络节点的影响力,并根据影响力大小对网络节点降序排序;
步骤S2:依据影响力大小初始化网络节点标签;
步骤S3:利用半同步标签传播算法ISLPA对网络节点标签进行迭代更新;
步骤S4:根据网络节点标签进行网络节点的社区划分并输出,即对于所有网络节点,通过将具有相同标签者归属到同一社区的方法构造网络的社区结构。
2.根据权利要求1所述的一种基于标签影响力的半同步社区发现方法,其特征在于,所述步骤S1中,对于网络节点u,其影响力为:
,其中
其中,deg(u)为节点u的度,N(u)是节点u的邻居集合;
在所有节点的影响力计算完毕后,对节点进行依影响力的降序排序。
3.根据权利要求1所述的一种基于标签影响力的半同步社区发现方法,其特征在于,所述步骤S2中,重复如下操作直至全部节点标记完毕:选择当前最大影响力的节点进行标签赋值,若有多个并列最大影响力的节点,则按照排列顺序选择,在所述最大影响力的节点标签赋值完毕后,对其邻居节点按照排列顺序进行标记。
4.根据权利要求1所述的一种基于标签影响力的半同步社区发现方法,其特征在于,所述步骤S3中,利用半同步标签传播算法ISLPA对网络节点标签进行迭代更新,具体包括以下步骤:
步骤S31:选择具有最大影响力的节点作为待更新节点u;
步骤S32:对于待更新节点u,选择标签,其中l' u 是节点u待更新的标签,σ(u)是节点u邻居节点的集合,δ(l v , l)是克罗内克函数,u的所有标签为l' u 的邻居节点构成集合V;
步骤S33:将节点u与集合V中的节点进行状态划分,即对于集合V中的任意节点v,将其归属为如下3种状态中的一种:已更新的第一状态、节点u可根据节点v更新的第二状态和节点u不可根据节点v更新的第三状态;
步骤S34:根据如下情况判断待更新节点u是否可以更新:1)集合V中所有节点都未更新且节点u相对集合V中所有节点为第二状态,则节点u只能等待其他节点更新;2)虽然集合V中节点u相对集合V中所有节点为第二状态,但是集合V中具有第一状态的节点,则节点u可以更新;3)节点u相对集合V中所有节点为第三状态,节点u可以更新;
步骤S35:若节点u满足更新条件则更新其标签,否则等待条件满足;
步骤S36:迭代执行步骤S31~S35,直至模块度收敛条件满足。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610225804.0A CN105938608A (zh) | 2016-04-12 | 2016-04-12 | 一种基于标签影响力的半同步社区发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610225804.0A CN105938608A (zh) | 2016-04-12 | 2016-04-12 | 一种基于标签影响力的半同步社区发现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105938608A true CN105938608A (zh) | 2016-09-14 |
Family
ID=57151357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610225804.0A Pending CN105938608A (zh) | 2016-04-12 | 2016-04-12 | 一种基于标签影响力的半同步社区发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105938608A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798141A (zh) * | 2017-11-24 | 2018-03-13 | 广州数说故事信息科技有限公司 | 一种基于统计指标的迭代运算的确定用户标签方法 |
CN108804582A (zh) * | 2018-05-24 | 2018-11-13 | 天津大学 | 基于大数据间复杂关系的图数据库优化的方法 |
CN108920890A (zh) * | 2018-07-02 | 2018-11-30 | 河北科技大学 | 一种复杂网络中结构洞Spanner的挖掘方法 |
CN109656898A (zh) * | 2018-12-14 | 2019-04-19 | 中国人民解放军国防科技大学 | 基于节点度的分布式大规模复杂社团探测方法及装置 |
CN110838072A (zh) * | 2019-10-24 | 2020-02-25 | 华中科技大学 | 一种基于社区发现的社交网络影响力最大化方法及系统 |
CN111221875A (zh) * | 2020-01-06 | 2020-06-02 | 河南理工大学 | 一种基于约束的种子节点数据挖掘系统 |
CN111402058A (zh) * | 2020-05-29 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法、装置、设备及介质 |
CN111552846A (zh) * | 2020-04-28 | 2020-08-18 | 支付宝(杭州)信息技术有限公司 | 识别可疑关系的方法以及装置 |
CN111756568A (zh) * | 2020-05-06 | 2020-10-09 | 北京明略软件系统有限公司 | 一种实现社群发现的方法、装置、计算机存储介质及终端 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699606A (zh) * | 2013-12-16 | 2014-04-02 | 华中科技大学 | 一种基于顶点切割与社区聚集的大规模图划分方法 |
-
2016
- 2016-04-12 CN CN201610225804.0A patent/CN105938608A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103699606A (zh) * | 2013-12-16 | 2014-04-02 | 华中科技大学 | 一种基于顶点切割与社区聚集的大规模图划分方法 |
Non-Patent Citations (2)
Title |
---|
周冬青等: "离散粒子群社区检测算法", 《系统工程与电子技术》 * |
季青松等: "有效改善标签传播算法鲁棒性途径", 《信息安全与通信保密》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798141A (zh) * | 2017-11-24 | 2018-03-13 | 广州数说故事信息科技有限公司 | 一种基于统计指标的迭代运算的确定用户标签方法 |
CN108804582A (zh) * | 2018-05-24 | 2018-11-13 | 天津大学 | 基于大数据间复杂关系的图数据库优化的方法 |
CN108920890A (zh) * | 2018-07-02 | 2018-11-30 | 河北科技大学 | 一种复杂网络中结构洞Spanner的挖掘方法 |
CN109656898A (zh) * | 2018-12-14 | 2019-04-19 | 中国人民解放军国防科技大学 | 基于节点度的分布式大规模复杂社团探测方法及装置 |
CN110838072A (zh) * | 2019-10-24 | 2020-02-25 | 华中科技大学 | 一种基于社区发现的社交网络影响力最大化方法及系统 |
CN111221875A (zh) * | 2020-01-06 | 2020-06-02 | 河南理工大学 | 一种基于约束的种子节点数据挖掘系统 |
CN111221875B (zh) * | 2020-01-06 | 2022-11-04 | 河南理工大学 | 一种基于约束的种子节点数据挖掘系统 |
CN111552846A (zh) * | 2020-04-28 | 2020-08-18 | 支付宝(杭州)信息技术有限公司 | 识别可疑关系的方法以及装置 |
CN111552846B (zh) * | 2020-04-28 | 2023-09-08 | 支付宝(杭州)信息技术有限公司 | 识别可疑关系的方法以及装置 |
CN111756568A (zh) * | 2020-05-06 | 2020-10-09 | 北京明略软件系统有限公司 | 一种实现社群发现的方法、装置、计算机存储介质及终端 |
CN111402058A (zh) * | 2020-05-29 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 一种数据处理方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105938608A (zh) | 一种基于标签影响力的半同步社区发现方法 | |
Kumar et al. | Identifying influential nodes in Social Networks: Neighborhood Coreness based voting approach | |
Bae et al. | Identifying and ranking influential spreaders in complex networks by neighborhood coreness | |
Berger et al. | Asymptotic behavior and distributional limits of preferential attachment graphs | |
Orman et al. | Comparative evaluation of community detection algorithms: a topological approach | |
CN103678671B (zh) | 一种社交网络中的动态社区检测方法 | |
Wang et al. | A community detection method based on local similarity and degree clustering information | |
Hu et al. | A new approach to identify influential spreaders in complex networks | |
Kanawati | Licod: Leaders identification for community detection in complex networks | |
Liang et al. | Detecting community structure using label propagation with consensus weight in complex network | |
CN106599090A (zh) | 基于结构中心性的网络社区发现方法 | |
Li et al. | Identifying overlapping communities in social networks using multi-scale local information expansion | |
CN103020163A (zh) | 一种网络中基于节点相似度的网络社区划分方法 | |
CN106326637A (zh) | 一种基于局部有效路径度的链路预测方法 | |
Jiang et al. | A uniform framework for community detection via influence maximization in social networks | |
CN110347897A (zh) | 基于事件检测的微博网络情感社区识别方法 | |
Yang et al. | Link prediction via significant influence | |
Rybarczyk | The coupling method for inhomogeneous random intersection graphs | |
Melamed et al. | Community structure in multi-mode networks: Applying an eigenspectrum approach | |
Hajibagheri et al. | Social networks community detection using the shapley value | |
Sun et al. | An improved game-theoretic approach to uncover overlapping communities | |
Hu et al. | A new algorithm CNM-Centrality of detecting communities based on node centrality | |
CN109614520A (zh) | 一种面向多模式图匹配的并行加速方法 | |
CN110442800A (zh) | 一种融合节点属性和图结构的半监督社区发现方法 | |
CN105488247A (zh) | 一种k均值社团结构挖掘方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160914 |