说明书基于中心人物的有权图重叠社区发现方法
技术领域
本发明提出基于中心人物的有权图重叠社区发现方法,属于复杂网络技术领域。
背景技术
近数十年来,对于网络理论的研究取得了一系列重大的发展,让人们对于复杂网络的认知,从互联网、通信网和社会网络,到自然界中的食物网、生物学上的蛋白质结构网络等,无一不提高到了一个新的水平。网络的社区结构是复杂网络最普遍和最重要的拓扑属性之一,对理解其功能、预测其行为和演变都具有十分重要的意义。
在大量的真实世界的复杂网络中,节点之间的连接往往与其权值密不可分,权值是区分不同连接之间的强度、紧密度和性能的重要衡量标准。在社会网络中,微博中互相关注的好友互发的私信数、一对同事邮件的来往数、电影明星合作共演一部电影的次数、科学家之间论文的共著数、航空公司某两地的航班的座位数等等,在这些网络里面,都需要用到有权网络。有权网络由于其权值具有的现实意义,使其在社区划分中更显复杂。
在有权网络的研究中,众多学者以最大程度达到社区内连接紧密,社区间连接稀疏为目的,而忽略了社区的内部结构的重要性。现实中的复杂网络具有社区结构,其社区内部结构一定具有某种意义,使社区能够更长久地维持,同时每个社区又并非“孤岛”,社区之间可以进行畅通有效地交流。
发明内容
观察现实中的众多网络,可以发现它们有一个共同特征,即网络中的每一个小集团(社区)都会有一个地位最高的个体,称之为“中心人物”。这样的复杂网络有如下特征:第一,网络中的社区是由中心人物为中心的联系紧密的小集团;第二,中心人物决定着集团中其他个体的地位,和中心人物联系越紧密的个体,在集团中的地位就越高。据此,本发明提供了一种基于中心人物的有权图重叠社区发现方法,以社区内部稳固、社区间交流便捷为目的,构造复杂网络的社区结构,适用于复杂网络中最重要的两种网络:小世界网络和无标度网络。
本发明的基于中心人物的有权图重叠社区发现方法,将复杂网络表示为有权无向简单图G,G=(V,E),V为节点集合,n为节点总数,E为边集合,然后进行如下步骤:
步骤1:找出中心人物节点。本发明以节点在网络中的网络排名值(PageRank)作为节点中心度的衡量标准,计算所有节点的网络排名值PageRank,并从大到小对网络排名值排序,设pi为第i个网络排名值,选取PageRank最大的前d个节点作为中心人物节点。
d根据经验参数Θ2来确定,满足:
设置经验参数Θ1,使满足:
经验参数Θ1和Θ2均取值在(0,1)之间。
步骤2:计算两两中心人物节点之间的相似度,合并相似节点。
设定参数δ,当两个中心人物节点的相似度大于等于δ时,将两个节点合并,并删除其中一个节点。把被删除节点的所有边及边的权值合并到保留节点上。参数δ取值在(0,1)之间。
步骤3:依据每个中心人物节点构造一个社区,找出与中心人物节点之间有强连接的节点,并加入该中心人物节点所在的社区中。
设依据中心人物节点x构造社区c,c为社区编号;找出包含中心人物节点x的所有三元闭包,设三元闭包中另外两个节点为A和B,节点x与节点A连边的权值为wxA,节点x与节点B连边的权值为wxB,节点A和节点B连边的权值为wAB,若满足下面公式:
min{wxA,wxB,wAB}>wxA+wxB+wAB-min{wxA,wxB,wAB}4;]]>
则三元闭包是强三元闭包,若不满足则三元闭包为弱三元闭包。
定义混合参数Φ(c)为:α、β为两个参数,且α+β=1;为所有包含节点x的强三元闭包中边的平均权值,则为所有包含节点x的弱三元闭包中为强连接的边的平均权值。
设立衡量边是否为强连接还是弱连接的标准E(c)为:表示中心人物节点x的所有连边权值大于Φ(c)的连边的平均权值。
当中心人物节点x的邻居节点i,满足wxi≥E(c)时,说明节点i与节点x之间为强连接,把节点i加入社区c,wxi表示节点x与节点i连边的权值。
步骤4:通过加入弱连接扩张社区,具体对于每个当前不属于任何社区的自由节点,进行下面过程:
设自由节点为A,其对社区c的归属度R(A,c)为:其中max(wAi)i∈c为节点A与社区c内节点之间连边的最大权值。
设节点A与m个社区内的节点之间存在边,SQ(A)为A对m个社区的归属度的标准差;定义权重函数W(A)=SQ(A)。设定参数γ,参数δ取值在(0,1)之间。
若W(A)≤γ,则节点A同时属于m个社区,节点A位于m个社区的重叠部分;否则,从m个社区中去掉归属度最小的社区,然后重新计算W(A),重新判断节点A所属的社区;当节点A的m-1个社区均被删除了,只剩余一个社区c时,根据节点A对社区c的归属度R(A,c)来判断,若满足R(A,c)≤γ,则节点A属于社区c,否则,节点A为孤立节点;
步骤5:对于每个孤立节点,分别建立一个社区。
相比现有技术,本发明的优点和积极效果在于:通过对比,本发明社区发现方法有着较好的社区划分性能,尤其对于混合度较低的复杂网络性能更加优异。
附图说明
图1是本发明的基于中心人物的有权图重叠社区发现方法的流程示意图;
图2为本发明方法在不同权重混合因子U下重叠社区划分效果随网络规模大小变化的情 况示意图;其中,(a)为U为0.05的情况,(b)为U为0.1的情况,(c)为U为0.15的情况,(d)为U为0.2的情况,(e)为U为0.25的情况,(f)为U为0.3的情况;
图3为本发明方法在不同的网络规模下重叠社区划分效果随权重混合因子U变化的情况示意图;其中,(a)为N为100的情况,(b)为N为300的情况,(c)为N为500的情况,(d)为N为1000的情况;
图4为N=1000时本发明方法与COPRA重叠社区划分效果随权重混合因子U的变化情况示意图;其中,(a)为k为15的情况,(b)为k为20的情况,(c)为k为25的情况;
图5为N=500时本发明方法与COPRA重叠社区划分效果随权重混合因子U的变化情况示意图;其中,(a)为k为15的情况,(b)为k为20的情况,(c)为k为25的情况;
图6为N=300时本发明方法与COPRA重叠社区划分效果随权重混合因子U的变化情况示意图;其中,(a)为k为15的情况,(b)为k为20的情况,(c)为k为25的情况。
具体实施方式
下面将结合附图和具体实施例说明和验证本发明的社区发现方法。
观察现实中的众多网络,包括合作网络,其中有科学家协助网络、演员网络、企业界高层、魔兽世界玩家网络;通信网络,如电子邮件互发网络、即时通信网络;信息链接网络,如facebook、weibo等社交网站的网络;甚至自然界中的网络,如食物网。可以发现它们有一个共同特征,即网络中的每一个小集团(社区)都会有一个地位最高的个体,称之为“中心人物”,如发表过大量高质量论文的科学家、殿堂级大牌明星、微博博主、董事会主席,或者是食物链最顶端的生物等等,该个体是其所在小集团中公认的“权威”、“主席”或“领导者”,并通常是集团的发起人,或者是在集团的演变过程中起到关键作用,没有中心人物的小集团,容易被解散。
因此,可得出以下结论:第一,网络中的社区是有中心人物为中心的联系紧密的小集团;第二,中心人物决定着集团中其他个体的地位,和中心人物联系越紧密的个体,在集团中的地位就越高。这个假设类似于网页排名(PageRank)中的规则,即站点之间的连接被认为是投票行为,各个站点投票的权重不同,重要的网站投票具有较大的分量。
PageRank的计算公式为:
φp(v)=sΣu≠v,u→vφp(u)deg-(u)+1-sn---(1)]]>
φp(v)、φp(u)分别表示节点v和节点u的PageRank值;deg-(u)为节点u的出度。u→v表示存在从节点u指向节点v的超链接。s为缩放因子,一般在0.8到0.9之间。式(1)中n表示网页个数。
PageRank的计算是一个迭代的过程,把1/deg-(u)替换为wi/∑j wj,wi为节点v第i条边的权值,则有权网络的PageRank的计算公式转换为:
φp(v)=sΣu≠v,u→vφp(u)·wiΣjwj+1-sn---(2)]]>
其中,∑j wj表示节点v所有边的权值和,此处n为网络中的节点总数。u→v表示存在节点u到节点v的连接边。
本发明以节点在网络中的网络排名值(PageRank)作为节点中心度的衡量标准,PageRank值越大的节点,越有可能成为中心人物。
将一个复杂网络,用一个有权无向简单图G=(V,E)来描述,V表示复杂网络中的节点集合,对节点进行编号,n表示节点总数,E表示复杂网络中的边集合。通过本发明的基于中心人物的有权图重叠社区发现方法,构造该复杂网络的社区结构,得到一个社区集合及每一个社区所包含的节点的编号。
本发明的基于中心人物的有权图重叠社区发现方法,具体步骤如下:
步骤1:找出中心人物节点。中心人物节点就是指中心度高的节点,在社区中处于中心人物地位。
依据公式(2)计算V中所有节点的PageRank,并对PageRank值进行排序,例如从大到小排序,设得到的排序表示为Pn={p1,p2,…,pn},其中max{pi}=p1,i=1,2,…,n,pi表示第i个网络排名值。
选取PageRank最大的前d个节点作为中心人物节点。d为自然数,根据经验参数Θ2来确定,如公式(4)所示,且设置经验参数Θ1满足公式(3):
∀i,2<i≤d,1-pipi-1≤Θ1---(3)]]>
dn≤Θ2---(4)]]>
其中,Θ1、Θ2为经验参数,取值在(0,1)之间;这两个参数根据实验进行调整优化,Θ2说明的是d值为节点总数n的比例,通过实验验证,当Θ2取0.2时效果最理想。
步骤2:计算两两中心人物节点之间的相似度,合并相似节点。
选取的d个中心人物节点分别构成了d个原始的社区,但是在这d个节点中,很可能存在互相很“相似”的节点,表现为彼此共享大量的邻居,在这种情况下,需要把这两个节点所在的原始社区合并在一起。节点相似度计算的方法有很多,可选取合适的方法来计算。考虑到两个节点的共同邻居数不少,但各自的邻居数却相差甚远的情况,本发明实施例采用大度节点有利指标(Hub Promoted Index,HPI)来计算节点相似度,如式(5)所示。
suvHPI=|Γ(u)∩Γ(v)|min{ku,kv}---(5)]]>
其中,表示利用HPI计算的节点u和节点v的相似度,|Γ(u)∩Γ(v)|为节点u和节点v的共同邻居数,ku为节点u的度,kv为节点v的度。min{}为求取最小值。设置参数δ,若满足式(6),
suvHPI≥δ---(6)]]>
则合并节点u与v,把节点v的所有边及其权值合并到节点u的边及权值上,同时删除节点v。参数δ根据实验进行调整优化,通过实验优选值为0.1。
步骤3:依据每个中心人物节点构造一个社区,找出与中心人物节点之间有强连接的节点,并加入对应的中心人物节点所在的社区中。
本发明在构造社区时有两个基本拓扑规则:弱连接假设和三元闭包假设。在社会网络中,弱连接假设指弱连接使网络连通,而强连接则与社区的关系更紧密。三元闭包假设指两个节点如果有共同的邻居,则他们互为邻居,以此构成一个三元闭包。
本发明需要一个衡量边是否为强连接还是弱连接的标准E(c),c为社区编号。社区c的中心人物节点设为x。为了计算E(c),首先要找出包含中心人物节点x的所有三元闭包。假设另外两个节点的编号分别为A和B,根据三元闭包假设,三元闭包中的3条边,可能存在“强-强-强”和“强-强-弱”两种情况,前者称为强三元闭包,包含3条强连接,后者称为弱三元闭包,包含2条强连接。为了对两者进行区分,本发明设定,若满足式(7):
min{wxA,wxB,wAB}>wxA+wxB+wAB-min{wxA,wxB,wAB}4---(7)]]>
则为强三元闭包,否则为弱三元闭包。其中,wxA,wxB,wAB分别表示中心人物节点x与节点A连边的权值,节点x与节点B连边的权值,节点A和节点B连边的权值。
定义一个混合参数Φ(c)如下:
Φ(c)=α·ws‾+β·ww‾---(8)]]>
其中,α、β为参数,α+β=1,为所有包含节点x的强三元闭包中连接边的平均权值,则为所有包含节点x的弱三元闭包中连接边的平均权值。
最后,通过Φ(c)为界限,可得:
E(c)={wxA‾|A∈G,wxA>Φ(c)}---(9)]]>
可见E(c)是局部于社区的,是社区的内部属性。表示中心人物节点x的所有连边权值大于Φ(c)的连边的平均权值。
对中心人物节点x的每个邻居节点i,若:
wxi≥E(c) (10)
则把节点i加入社区c。
依据上面方法计算每个社区的E(c)值,并根据E(c)向每个社区添加强连接的节点。
步骤4:通过加入弱连接扩张社区。
对于当前不存在于任何社区中的节点A,定义其对社区c的归属度,其中max(wAi)i∈c为节点A与社区c内节点之间连接的最大权值,节点A对社区c的归属度R(A,c)为:
R(A,c)=max(wAi)i∈cE(c)---(11)]]>
假设节点A与m个社区内的节点之间存在边,SQ(A)为A对这m个社区的归属度R(A,c)的标准差。定义权重函数W(A):
W(A)=SQ(A) (12)
设定参数γ,若W(A)≤γ,则节点A同时属于这m个社区,A位于m个社区的重叠部分。否则从m个社区中去掉归属度最小的社区,重新计算W(A),重新讨论A是否同时属于新的社区集合。参数γ根据实验进行调整优化,实验优选经验值为0.6。
若因不满足W(A)≤γ的条件,依次删除了节点A的m-1个社区,只剩余一个社区c时,根据节点A对社区c的归属度R(A,c)来判断,若满足R(A,c)≤γ,则节点A属于社区c,若不满足R(A,c)≤γ,则节点A为孤立节点。
对所有的自由节点都经过上面过程,通过计算自由节点A的权重函数W(A),并根据W(A)向社区添加弱连接,直到将所有的自由节点划分完为止。
步骤5:对于每个孤立节点,分别建立一个社区。
采用流行的Benchmark测试对本发明的社区发现方法进行实验。然而由于对有权网络社区的聚类结果的衡量至今没有获得一个理论性的成果,Benchmark之间的社区发现方法思想也各有不同,比如Lancichinetti等人所著的LFR算法,基于社区内部联系紧密,社区间联系稀疏的假设,产生测试的数据集,每个数据集相当于一个社区与节点的二分图,对社区大小、节点、节点强度、重叠节点的个数等等都可以进行调节,但LFR算法并没有考虑社区内部的结构,社区内部边的权值分布也是随机的,无法获得有实际意义的内部结构。因此,本发明的社区发现方法的实验结果并不能达到最理想,但本发明将会通过实验,对本发明方法的结果进行相关的解析和讨论。
本发明的参数集合为{Θ1,Θ2,δ,α,β,γ},其中α+β=1,本发明通过调整参数值,对Θ2、δ、β、γ这4个参数进行实验。通过对实验结果的分析,本发明选取Θ2=0.2,δ=0.1,β=0.4,γ=0.6时能使得本发明的社区发现方法的划分效果最好,然后本发明的实验再分为两部分,第一部分是对本发明的社区发现方法本身的一些划分性能进行分析,第二部分是将本发明的社区发现方法与经典的COPRA算法进行比较,COPRA是为数不多的可以实现有权图的重叠社区划分方法。对于划分效果,则通过NMI(标准化互信息)来评价本发明的社区发现方法与Benchmark所自动生成的所谓标准划分的相似度,从而得出划分性能的结论。NMI的值越大表示网络划分的效果约好。
LFR Benchmark在生成人造网络时有一些参数可以进行设置以满足实验的需要,其中N:网络的节点数,k:平均度,maxk:最大度,mut:拓扑的混合度,U:权重的混合度,minc:社区的最小节点数,maxc:社区的最大节点数;mut在缺省情况下是等于muw的。本发明方法简称为CFA(Central Figure Algorithm)方法。
首先,分析在权重混合因子U大小不同的网络中本发明CFA重叠社区划分效果随网络规模大小的变化情况,结果如图1所示,图1的(a)-(f)六幅图中,横坐标表示网络节点数N,纵坐标为NMI值。虽然在不同的U取值下划分效果有所不同,但是分析图1中的(a)-(f)六幅图 可以得出总体的趋势是随着网络规模的增大,划分效果越来越好,当网络规模达到一定程度之后便保持较好的划分效果。
然后,考察在大小不同的网络中本发明CFA重叠社区划分效果随权重混合因子U的变化情况,实验结果如图2所示,图2的(a)-(d)四幅图中,横坐标表示权重混合因子U,纵坐标为NMI值;在N=100时划分效果不太稳定,但是基本趋势与其他三个规模的网络划分效果类似:由于网络拓扑混合因子在缺省情况下是等于权重混合因子的,所以这两个混合因子是在同步变化的,混合因子较小时本发明CFA方法的划分有着非常不错的效果;当两个混合因子都逐渐增大时本发明CFA方法的划分性能有所下降,而且表现出k值越低对混合因子的变化越敏感的特点。
经过前面对本发明CFA方法的实验,本发明对参数的选取以及CFA的划分性能有了一定的了解,接下来将通过实验将本发明方法与其他社区划分方法进行对比;选取COPRA(Community Overlap Propagation Algorithm)方法,该方法是Steve根据LPA算法扩展过来的,COPRA算法通过让节点可以携带多个标签来发现重叠社区结构。
本发明通过对不同规模的网络分别进行试验对比,如图3、图4和图5所示,分别为N=1000、N=500和N=300时CFA与COPRA重叠社区划分效果随权重混合因子U的变化情况,从图中可以看出,当混合因子较小时本发明CFA有着非常好的表现,随着拓扑混合因子和权重混合因子的增加,划分性能有所下降,但是在拓扑混合因子和权重因子小于0.3的情况下本发明CFA的划分效果明显好于COPRA,并且有着非常好的稳定性。
通过以上实验证明:本发明的CPA方法有着较好的社区划分性能,尤其对于混合度较低的复杂网络,划分效果更加优异。