一种基于节点邻域的聚类系数的分层随机游走抽样方法

文档序号:28408570发布日期:2022-01-08 02:12阅读:441来源:国知局
一种基于节点邻域的聚类系数的分层随机游走抽样方法

1.本发明涉及复杂网络技术领域,尤其涉及一种基于节点邻域的聚类系数的分层随机游走抽样方法。


背景技术:

2.近年来,复杂网络的研究由于具有广泛的应用背景而受到许多领域学者的高度关注,人们对很多真实网络的拓扑共性与数学模型展开了深入的研究。然而,真实网络往往规模巨大,受限于技术和成本,很难获得网络的完全信息,许多复杂网络的实证研究实际上是基于非完全网络数据展开的。例如,据统计,在线社交网站facebook在全球每月的活跃用户人数达到10亿人以上,twitter的月活跃用户人数也在5亿人以上,而且由于这些网络具有动态特性,要及时获取这些网络的完全信息数据在目前的技术和成本的限制下显然是无法实现的,完全信息数据让我们能够精准的实施网络分析任务,例如对网络平台的投资任务,病毒式营销中的捆绑策略,精确的估计网络的中心度或者有效的解决网络挖掘问题等等。因此要研究这些网络的结构特性并应用到实际任务中,就需要采用一定的抽样技术来获取对应于完全(原始)网络的有代表性的样本网络,保留原始网络的主要特征,通过样本网络来推断完全网络的相关信息。抽样方法在预处理、表征和研究真实网络中起着重要作用。而如何对网络进行合理抽样,获得较好的抽样网络以实现对完全网络性质的准确推断,是复杂网络研究面临的一个重要问题,大数据时代下复杂网络的抽样方法设计与抽样效果分析也成为应用统计研究的新课题。
3.现有的网络抽样算法基本分为以下3类:基于点选择策略的随机抽样算法、基于边选择策略的随机抽样算法、基于探索的随机抽样算法。例如有随机节点抽样(random node sampler,ns)、基于页面抽样的随机页面节点抽样(random pagerank based sampler,rpn)、随机度节点抽样(random degree based sampler,rdn)、随机边缘抽样(random edge sampler,es)、随机选择节点和属于所选节点的边(random node edge sampler,rne)、混合节点边缘采样(hybrid node edge sampler,hyb)、广度优先搜索(breadth first search,bfs)和深度优先搜索(depth first search,dfs)方法、基于随机游走(random walk sampler,rw)、蒙特卡洛随机游走(metropolis hastings random walk sampler,mhrw)的抽样方法。
4.复杂网络具有两个基本特性:小世界和无标度。小世界特性是指网络具有较小的直径和较大的聚类系数;无标度特性是指不同节点的度服从幂律分布,节点个体之间存在较大的差异。复杂网络的上述特征导致了现有的抽样算法普遍存在高度节点或低度节点过度入样的问题,同时现有的抽样算法都只针对连通网络进行抽样,然而实际上是可能存在非连通网络的,现有方法无法对非连通网络进行直接抽样。


技术实现要素:

5.本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于节
点邻域的聚类系数的分层随机游走抽样方法。
6.为了实现本发明的上述目的,本发明提供了一种基于节点邻域的聚类系数的分层随机游走抽样方法,包括以下步骤:
7.s1,采用k-means聚类算法获取网络中节点的近似度分布,并根据不同聚类簇内轮廓系数与聚类结果获得k-means算法中k的最优值,根据所得k值得到需要将原数据集划分为k层,根据精确度的幂律分布情况得到分层阈值,以及各层内的节点及边的个数;
8.s2,根据所得k值及阈值,将网络实施分层,得到高度节点集n
higher-degree
,中度节点集n
mid-degree
,低度节点集n
lower-degree

9.s3,确定采样比;
10.s4,执行游走进行抽样,即分别对高度节点集n
higher-degree
,中度节点集n
mid-degree
,低度节点集n
lower-degree
用相同的采样比进行抽样,最后将三个不同层的抽样结果进行合并,得到最终抽样结果。
11.进一步地,所述s1中的轮廓系数包括:
12.轮廓系数用来度量聚类结果中不同簇之间的分离程度,能够用来选择最佳的簇数目k,其定义如下述1式:
[0013][0014]
其中s(i)表示轮廓系数,a(i)表示i向量到同一簇内其他点不相似程度的平均值,b(i)表示i向量到其他簇的平均不相似程度的最小值;max{a(i),b(i)}表示在a(i)、b(i)中的最大值。
[0015]
进一步地,所述s2中阈值的设置包括以下步骤:
[0016]
s2-1,根据观察真实网络的度分布情况,得到度的量级;
[0017]
s2-2,当度在较大区域上开始出现平缓区时,也就是在幂律分布时开始出现拖尾情况,可以将开始拖尾或者拖尾周围的度量级作为n
higher-degree
的阈值;
[0018]
s2-3,n
lower-degree
和n
mid-degree
之间以剩余的前半部分分布的一半所对应的degree量级作为n
lower-degree
和n
mid-degree
之间的阈值。
[0019]
进一步地,所述度分布包括:
[0020][0021]
其中p
x
表示度为x的节点的比例,x表示的是节点v的度数,是变量;n为表示网络中节点的集合,|n|网络中节点的数量,deg(v)是节点v的度,|{
·
}|用于取度集合的个数,v为节点集。
[0022]
进一步地,所述s4包括:
[0023]
因为既要避免陷入紧密联系的社区中跳不出来的问题,也要对与当前节点所处社区紧密联系的社区中的其他节点进行访问,避免走向任何一个极端。所以规定在c
uv
较小,deg(v)较大的情况下,cv越大,则v被选择为下一跳节点;具体公式如下:
[0024][0025]
其中p

uv
为类转移概率,c
uv
是节点u和节点v之间的公共邻居的数量,min{deg(u),
deg(v)}表示取deg(u)、deg(v)中的最小值,deg(u)是节点u的度,deg(v)是节点v的度,cv是当前节点的邻域节点的聚类系数,其值在0到1之间。
[0026]
进一步地,所述s4还包括:
[0027]
为了实现等式(7)中的比例策略并限制计算开销,采用了带拒绝的行走策略来确定每个步骤中的下一跳节点;
[0028]
所述带拒绝的行走策略包括:
[0029]
在每个步骤中,首先从候选节点集n(u)中均匀随机地选择一个节点v∈n(u),只有当v被选做下一节点的类接受概率等于q

uv
时,v才被接受为u的下一个节点,若不等于,则以1-q

uv
的概率被拒绝,继续在n(u)中寻找下一个候选节点;
[0030]
将v被接受为下一节点的类接受概率q

uv
定义为:
[0031][0032]
其中c
uv
是u和v之间的公共邻居的数量,deg(u)是u的度,deg(v)是v的度。由于使用拒绝式行走策略时,若当前选择的候选节点v被接受,则整个寻找下一节点的过程只需访问它,不需要访问候选节点集n(u)中的所有节点,因此减少了在每一个step中寻找下一节点的计算开销。
[0033]
进一步地,所述类接受概率包括:
[0034]
为了避免回溯,对类接受概率进行了归一化;
[0035][0036]
其中p

uv
为类转移概率,表示节点u选择节点v为下一节点的概率,表示节点u选择节点u为下一节点的概率;
[0037]
其中被定义为:
[0038][0039]
其中p

uv
为类转移概率,c
uv
是u和v之间的公共邻居的数量,deg(u)是u的度,deg(v)是v的度,cv是当前节点的邻域节点的聚类系数,n(u)为候选节点集,表示节点u选择节点k为下一节点的概率。
[0040]
进一步地,还包括步骤s5,对评价指标进行展示,评价指标包括:网络密度、平均度、平均聚类系数、传递性之一或者任意组合。
[0041]
进一步地,所述网络密度包括:
[0042]
用于刻画网络中节点间相互连边的密集程度。在线社交网络中常用来测量社交关系的密集程度以及演化趋势。网络密度是网络中实际存在的边数与可容纳的边数上限的比值。
[0043]
[0044]
其中link
real
表示网络中实际存在的边的数量,link
passible
表示网络中可能存在的边的最大数量;
[0045]
若为无向网络,则有:
[0046][0047]
所述平均度包括:
[0048]
平均度可以衡量整体网络节点的活跃程度,越低说明节点之间交互较少,反之则联系更多;
[0049][0050]
其中表示网络中出现的所有节点的度;
[0051]
所述平均聚类系数包括:
[0052]
聚类系数一般指聚集系数,用来描述一个网络中的节点之间结集成团的程度的系数,具体来说,是一个点的邻接点之间相互连接的紧密程度。聚类系数是衡量节点间凝聚能力的重要指标。在整个网络的各方面研究中聚类系数也是一个极其重要的指标;
[0053]
聚类系数包括:
[0054][0055]
其中{e
ij
:e
ij
∈e,i、j∈nu}表示节点u的邻居节点i和j的之间的边集合,|{
·
}|用于取边集合的个数,ku表示节点u的度,e表示边集,nu表示u邻居节点的数量;
[0056]
平均聚类系数包括:
[0057][0058]
其中|n|表示网络中节点的数量;
[0059]
所述传递性包括:网络的传递性表示认识同一个节点的两个节点也可能认识双方。
[0060]
tra=3*n(g
δ
)/n(trigraph)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19)
[0061]
其中n(g
δ
)是三角形的个数,n(trigraph)是三元组个数。
[0062]
综上所述,由于采用了上述技术方案,本发明的有益效果是:解决了高度节点或低度节点过度入样的问题,也为非连通网络抽样提供了解决方案。具体的有:
[0063]
(1)对于经过分层后网络呈现非连通性特征的情况,由于绝大多数连通子图的规模太小,本发明专利决定只对相对于分层网络大小略小的连通子图进行抽样,同时将此思想应用于原始真实网络就呈现为非连通性的抽样中。
[0064]
(2)采用k-means聚类方法及图论中度分布的理论,并结合网络的近似度分布和精确度分布的方式,提出了一种对复杂网络分层再抽样的nchrw方法,提出的分层技术解决了高度节点或低度节点过度入样的问题。
[0065]
(3)针对不同数据集的度分布不同,因此需要设置的网络阈值有所区别,本发明专
利根据网络的精确度分布为复杂网络数据集定义了一种设置各分层网络阈值的方法。
[0066]
(4)将提出的nchrw方法在lastfm等6个真实的数据集上进行了验证,并与传统的ns等9种方法在度分布、密度与平均聚类系数等性能指标上进行了对比分析。
[0067]
(5)结合网络的拓扑属性,提出了对复杂网络采用本发明专利提出的抽样方法前后拓扑结构实例的对比分析,展示了抽样对复杂网络视觉特征的影响。
[0068]
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0069]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0070]
图1是现有技术中随机节点抽样法ns的示意图。
[0071]
图2是本发明提出的分层抽样系统架构示意图。
[0072]
图3是本发明rw、cnarw与提出的nchrw方法选择下一跳的比较示意图。
[0073]
图4是本发明六个数据集在四种抽样比下的度分布的示意图。
[0074]
图5是本发明六个数据集在50%抽样比下的度分布的示意图。
[0075]
图6是本发明提出的nchrw抽样方法及现有抽样方法在不同数据集下的不同抽样比上与原始网络密度的对比示意图。
[0076]
图7是本发明提出的nchrw抽样方法及现有抽样方法在不同数据集下的不同抽样比上与原始网络平均度的对比示意图。
[0077]
图8是本发明提出的nchrw抽样方法及现有抽样方法在不同数据集下的不同抽样比上与原始网络平均聚类系数的对比示意图。
[0078]
图9是本发明提出的nchrw抽样方法及现有抽样方法在不同数据集下的不同抽样比上与原始网络传递性的对比示意图。
[0079]
图10是本发明lastfm经nchrw抽样前后的可视化对比示意图。
具体实施方式
[0080]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0081]
1相关工作
[0082]
本章分别举例3类网络抽样算法中经典的几种算法,并说明其存在的问题。基于节点和边的抽样技术不通过探索种子节点的邻域来提取网络的代表性子样本,它的随机选择是基于节点或边进行的,而不考虑其拓扑结构。相比之下,基于探索的抽样技术是探索种子节点或一组种子节点的邻域。
[0083]
设g=<v,e>是输入图,其中v是大小为n=|v|的节点集,e是边集。抽样是一个函数f:g
→gs
从图g到抽样图gs=<vs,es>,这样和|vs|=λ*|n|,其中0<λ<1表示抽样比,vs,es分别为抽样图gs的节点集、边集,|
·
|表示集合中的元素个数,|n|为网络中节点的数量,为真包含于符号。
[0084]
1.1基于点选择策略的随机抽样
[0085]
对节点进行抽样的技术选择一组代表性顶点,并从所选顶点中提取出诱导子图。节点的采样概率为均匀的随机节点抽样(ns)、节点的采样与节点的pagerank分数成正比的基于页面抽样的随机页面节点抽样(rpn)、节点的采样与节点的集中度成正比的基于度抽样的随机度节点抽样(rdn)所有这些方法都假设网络中的节点和边的集合是预先已知的。
[0086]
其中经典的节点抽样方法是随机节点抽样(ns),它的抽样方式如图1,随机均匀选择每个节点,形成抽样网络。它的基本思想是以等概率不放回的方式随机抽取一定数量的节点,而后对这些节点的关系进行分析从而导出抽样子网(2.2节中的es算法思想类似)。在已知整个网络中节点的情况下,ns随机选取整个网络中的部分节点作为样本,每个节点被采样到的概率为1/|n|,|n|为网络中节点的数量。该算法简单、直观,但抽样时不能很好地保留图的大量拓扑属性。其主要原因是:复杂网络具有无标度特征,使得ns算法在抽样时易于抽取更多的低度节点,算法误差较大。
[0087]
1.2基于边选择策略的随机抽样
[0088]
最简单的基于边采样方法是随机边缘抽样(es),随机选择一条边缘,并为采样网络收集与该边缘相关的两个节点,而另一种方法是随机选择节点和属于所选节点的边(rne)。混合节点边缘采样(hyb)可在两种采样方法之间交替使用:(a)随机均匀的边缘采样。(b)该算法首先随机采样一个节点,从这个节点中,它采样一个有邻居的边。
[0089]
其中经典的边采样方法随机边抽样法(es),它的基本思想是是以等概率不放回的方式随机抽取一定数量的边,而后对这些边的关系进行分析从而导出抽样子网。在已知整个网络中节点和边的情况下,es随机选取网络中的边,对于选到的边等概率地选择其所连的节点或把两个节点全都加入样本集。该算法在抽样时易于抽取高度节点,因为高度节点对应边的数量较大。此外,由第4节中的实验结果可知,es算法的抽样性能较差。
[0090]
由于es和ns比较简单,因此这两种算法适用于理论研究。此外,由于它们方法的简单性,近年来研究人员还为采样网络开发了一些其他的基于es和ns的改进方法。
[0091]
1.3基于探索的随机抽样
[0092]
一组基于探索的抽样技术在网络上使用搜索策略来提取子样本。最简单的基于探索的策略包括经典的遍历方法,如广度优先搜索(bfs)和深度优先搜索(dfs)。另一大类基于探索的图形抽样策略是基于随机游走(rw)。rw迭代地从所有相邻节点中均匀随机地选择下一个节点,在rw的每一步采样中,从当前节点u的邻居节点中均匀随机地选取一个节点v作为下一个待抽样节点。
[0093]
在rw中,从节点u随机游走到其邻居节点v的概率为:
[0094][0095]
其中deg(u)是节点u的度,节点v是节点u的邻居节点。
[0096]
基于随机游走的抽样有许多缺点,大量的抽样方法试图纠正特定的限制。其中一个主要限制是,随机游走固有地偏向于访问网络中的高度节点,即边数越多的节点被采样的概率越高。因此,样本均值往往会高估平均度。蒙特卡洛随机游走(mhrw)对于度大节点的偏向性问题进行了修正和改进,它通过使游走倾向于访问低度节点来解决这种偏向,抽样
网络始终处于连接状态。
[0097]
在mhrw中,从当前节点u随机游走到其邻居节点v的概率被修正为:
[0098][0099]
其中deg(u)是节点u的度,deg(v)是节点v的度,节点v是节点u的邻居节点,y表示除了节点u、v以外的一个节点;表示在mhrw中,从当前节点u随机游走到其邻居节点y的概率。
[0100]
基于随机游走的抽样的另一个主要缺点是,游走可能会陷入种子节点的紧密结合的社区中。有多种方法可以克服这一点。其中之一为公共邻居感知随机游走(common neighbor aware random walk sampler,cnarw),它通过常见的邻居感知随机游走实现节点抽样。随机游走偏向访问具有较少公共邻居数量的邻居。这样,抽样程序便能够逃脱紧密联系的社区并探访新社区。在cnarw中,从当前节点u随机游走到其邻居节点v的概率又被修正为:
[0101][0102]
其中被定义为:
[0103][0104]
其中n(u)为候选节点集,deg(u)是节点u的度,deg(v)是节点v的度,c
uv
是节点u和节点v之间的公共邻居的数量,表示从当前节点u随机游走到其邻居节点k的概率。
[0105]
以上研究为本发明专利所提出的新方法提供了基础。目前随机游走的概念被广泛使用,之后出现的cnarw使得抽样程序能够逃脱紧密联系的社区并探索新社区,防止mhrw局限于部分社区中无法跳出。但是cnarw对于紧密联系的社区中的大部分节点可能再抽样过程中被忽略,因为cnarw更倾向于抽样新的社区中的节点,然而抽样时应该遵循原始网络的真实拓扑结构,对紧密联系的社区也应该不断抽取样本,他们也是需要不断被访问的。实际上应该追求一种既要能避免陷入紧密联系得社区中跳不出来的问题,也要能对与当前节点所处社区紧密联系的社区中的其他节点进行访问。同时,为了避免类似于ns方法偏向于低度节点抽样的问题和类似于es,rw方法偏向于高度节点抽样的问题,本发明专利提出了采用了分层思想,先按对观察指标影响较大的某种特征——度分布,将原始网络分为若干层,再分别对每一层进行游走抽样,最后将各层的抽样网络合起来组成最终的抽样网络。通过抽取的样本网络对原始网络相关特性的估计效果进行评价,最终获得好的抽样方法实现以较小的样本网络估计出原始网络的各种统计推断,为复杂网络的研究提供新方法和新思路,同时也为不同的复杂网络选取何种抽样方法更为合理提供实验依据。为了研究所提出
的采样方法的性能,提供了在lastfm等六个真实网络上的大量实验。
[0106]
2提出的nchrw方法
[0107]
2.1系统架构
[0108]
为了追求一种既要能避免陷入紧密联系的社区中跳不出来的问题,也要能对与当前节点所处社区紧密联系的社区中的其他节点进行访问。同时,为了避免了类似于ns方法偏向于低度节点抽样的问题和类似于es,rw方法偏向于高度节点抽样的问题,提出首先将原始网络进行分层处理,但是仅仅经过分层处理过后抽样的网络,其平均聚类系数的表现十分差,比原始网络的平均聚类系数要小得多,度皮尔逊相关系数也表现十分差,原因主要是由于分层这一操作可能会导致原本紧密相连的节点被强行分开,经过抽样后原本紧密相连的节点可能因为连接状况的改变没有被抽样而不存在。
[0109]
因此结合以上两点可知,需要利用节点邻域的聚类系数避免了过分追求访问新社区而忽略当前节点所处社区紧密联系的社区中的其他节点的访问,也需要利用节点邻域的聚类系数改善分层带给整个抽样网络的平均聚类系数和度皮尔逊相关系数的负面影响。由此提出了基于节点邻域的聚类系数的分层随机游走抽样方法(nchrw)。提出的nchrw是在随机游走rw和cnarw方法的基础上,利用节点的近似度分布、精确度分布策略进行分层,考虑当前节点度、与邻域节点的公共邻居节点数,以及计算当前节点的邻域节点的聚类系数得到的一种分层网络抽样方法,其分层抽样系统框架如图2所示,其中sampling即采样/抽样部分的实现见图3(c)。
[0110]
通常情况下,针对不同的问题,可以选择用不同的方式得到度分布,此处计算k值,采用k-means方法求近似度分布;一般来说,得到精确度分布的时间更长,由于需要得到分层阈值,该阈值是针对每一个网络的具体的准确的数值,因此必须分析网络的精确度分布。第一步先采用k-means聚类算法获取网络中节点的近似度分布,并根据不同聚类簇内轮廓系数与聚类结果获得k-means算法中k的最优值,根据所得k值得到需要将原数据集划分为k层,根据精确度的幂律分布情况得到分层阈值,以及各层内的节点及边的个数。第二步是根据所得k值(k=3)及阈值,将网络实施分层,得到高度节点集n
higher-degree
,中度节点集n
mid-degree
,低度节点集n
lower-degree
。第三步是确定采样比。第四步是执行游走进行抽样,即分别对高度节点集n
higher-degree
,中度节点集n
mid-degree
,低度节点集n
lower-degree
用相同的采样比进行抽样,最后将三个不同层的抽样结果进行合并,得到最终抽样结果。一般来说,采样比越大,样本量越大,我们对总体的推断就越准确。一旦确定了目标网络,网络层数,分层阈值,抽样技术和样本数量,下一步就是从各层中进行游走抽样。注意:分层操作过后各层网络可能呈现不连通的情况,但是经过第四章实验发现,只有wikipedia和facebook数据集分层后在n
lower-degree
中出现了非连通性情况,并且只会存在一个相对于分层网络大小略小的连通子图,其余大多数连通子图都表现为只有1到3个节点,只有在facebook中存在极少数连通子图中有8个或10个左右的节点。(1)对于含1到3个节点的连通子图,由于10%到50%的抽样比都无法抽样到节点与边,因此这些连通子图全部舍去不做抽样。(2)对于含8个或10个左右节点的连通子图,由于其数量极少,且经过第四章实验发现,如果对这样的联通子图进行抽样会导致最终的抽样网络也可能呈现不连通的情况。由于本发明专利使用的6个数据集初始状态全部属于连通图,因此希望在抽样后的子网络也呈现连通性,故针上面所提这种连通子图也不做抽样。总体来说,对各层网络分别进行抽样时,可能会面对各层网络
出现非连通的情况,此时只需要对所有连通子图中规模略小于该层网络原始规模的连通子图执行游走操作即可,其余联通子图不走游走抽样,因此图2中所展示的用于抽样的分层网络都是分层后的连通图。同时,针对原始数据集就是不连通图的网络,若采用本发明专利所提的方法,则把每一个连通子图视为一个完整的原始连通图,先对各个连通子图进行分层,分层过后再分析连通性及执行游走抽样;若采用其他抽样方法,则只需先得出各连通子图,再分别对各连通子图进行抽样即可。
[0111]
2.2详细执行步骤
[0112]
步骤1——利用k-means聚类算法确定分层数量k值
[0113]
在数据挖掘技术中,有许多向量聚类算法,如k-means、k-medoids、dbscan、hdbscan、em等。dbscan、hdbscan、em和k-medoids算法的时间复杂度均为多项式时间,因此本发明专利采用k-means聚类算法获取网络中节点的近似度分布,并根据不同聚类簇内轮廓系数与聚类结果获得k-means算法中k的最优值,根据所得k值得到需要将原数据集划分为k层,根据精确度分布情况得到分层阈值,以及各层内的节点及边的个数。
[0114]
本项目使用k-means算法的具体原因主要有以下几点:首先k-means算法渐进时间复杂度近乎为线性时间,这使得新的网络抽样算法不改变base-line算法的渐进时间复杂度;其次k-means算法被证明在实现数值型数据聚类时比其它算法有更多的优势,且简单、高效。使用k-means算法聚类时需要设置簇数目k,当聚类结果未知时,轮廓系数能够较为准确地确定最优簇数目值。轮廓系数用来度量聚类结果中不同簇之间的分离程度,能够用来选择最佳的簇数目k,其定义如下述1式:
[0115][0116]
其中a(i)表示i向量到同一簇内其他点不相似程度的平均值,b(i)表示i向量到其他簇的平均不相似程度的最小值。
[0117]
通过计算,发现最优的k值为2,但是通过第4节大量实验得知将数据分为两类(k=2)时,即仅分为高度节点集合和低度节点集合,此时高度节点分离得不彻底,即不能更加准确地得到高度节点集合n
higher-degree
,同时经过实验结果比较,效果不佳。当选择平均轮廓系数值次之的k(k=3)时,不同节点的度分布结果表明,层内节点的度差异较小,层间节点的度差异较大(轮廓系数大),近似度分布结果的准确度得到了极大提升,因此可以有效分离出高度节点。经过大量实验分析得出,若k值继续增大,只会导致低度节点集合反复分割,这显然是没有必要的,因此最终将k值设置为3。
[0118]
步骤2——k层网络的分层阈值定义
[0119]
由k-means算法知道需将网络分为k=3层,各层分别代表高度节点集n
higher-degree
,中度节点集n
mid-degree
,低度节点集n
lower-degree
,下面的任务是如何定义各层的阈值,度为多小时属于n
lower-degree
,度为多大时属于n
higher-degree
。由于大多数真实网络属于无标度网络,其度分布满足幂率分布,即大多数节点都只有少数几个链接,这些大量的度小的节点通过几个拥有大量链接的节点链接在一起(注:不是所有的真实网络都是无标度网络)。因此根据幂率分布特点,同时结合度分布在双对数坐标下的度的量级可以分别将各层划分的阈值设定为几个可选值,比如度为:100、101、10
1.2
、10
1.5
、102、10
2.5
...。其余度为更大量级的数据集依次类推的进行设置。
[0120]
设置阈值的方法主要分三点:(1)首先根据观察真实网络的度分布情况,得到其度的量级。一般来说复杂网络中最大度中的最小量级是102,最大度中的最大量级的可以达到104,甚至105,其中“最大度”表示度分布幂率分布图中横坐标上表示的最大值;但目前常研究的数据集在105量级以上的比较少。例如蛋白质相互作用网络的最大度达到102,路由器级的互联网的最大度达到103,电子邮件网络和引文网络的最大度达到104,就连数据极大,极其复杂的万维网的最大度也只达到了105,同时,一般来说,尽管当网络极其大,最大的度的量级达到104,或者105时,他们在10
2.5
左右,或者103时就会出现拖尾情况,因此,阈值设定的可选值基本为以下几个:100,101,10
1.2
,10
1.5
,10
2.0
,10
2.5
,103,即阈值就是在横坐标上的这些度量级里选的。像10
1.2
这样的阈值,通常出现在最大度值比较小的情况时会选择,比如本发明专利用到的数据集deezer,其最大度只有113。(2)当degree(度)在较大区域上开始出现平缓区时,也就是在幂律分布时开始出现拖尾情况,可以将开始拖尾或者拖尾周围的degree量级作为n
higher-degree
的阈值。(3)n
lower-degree
和n
mid-degree
之间以剩余的前半部分分布的一半所对应的degree量级作为他们之间的阈值。
[0121]
总的来说本发明专利的分层阈值针对不同的数据集没有统一的界定,因为不同的数据集其最大的度值有所差异,因此其度分布表现的差异也比较大,但是以上寻找各层阈值的方法适用于所有数据集。
[0122]
步骤3——执行游走并抽样
[0123]
提出的nchrw经过了基于度分布和k-means聚类算法对网络进行分层、对不同数据集定阈值的操作过后,下面需要分别在各分层网络上执行游走操作。以下是对nchrw游走过程的分析。
[0124]
假设walker当前位于节点u,将u的所有邻居,即n(u)中的节点,作为当前节点的下一跳节点的候选节点集。任何一个抽样算法最关键的问题是如何选择下一跳节点,或者说选择哪一个节点为下一节点,rw、cnarw和提出的nchrw选择下一跳的情况如图3所示。提出的nchrw结合cnarw采用的“set conductance”的概念(详见m.papagelis.refining social graph connectivity via shortcut edge addition.tkdd,10(2):12,2015.)和使p
uv
与成比例的思想,如下所示(6):
[0125][0126]
其中

为正比例符号,p
uv
表示在cnarw中,从当前节点u随机游走到其邻居节点v的概率,c
uv
是节点u和节点v之间的公共邻居的数量,deg(u)是节点u的度,deg(v)是节点v的度。
[0127]
可知cnarw总是选择1-c
uv
/min{deg(u),deg(v)}更大的节点作为下一跳,也就是p
uv
更大的值为下一跳;同时打破了下一跳总是被困在当前节点社区中的局面,跳出到除当前社区的其他社区中去。nchrw为了避免cnarw对当前节点所处社区紧密联系的社区中的其他节点不进行访问,以及改善分层带给整个抽样网络的平均聚类系数和度皮尔逊相关系数的负面影响,提出了在考虑当前节点与邻域节点(候选节点)的公共邻居节点数和邻居节点度数的同时考虑邻域节点的聚类系数cv,规定在c
uv
较小,deg(v)较大的情况下,cv越大,则v被选择为下一跳节点,因为nchrw既要避免陷入紧密联系得社区中跳不出来的问题,也要对
与当前节点所处社区紧密联系的社区中的其他节点进行访问,避免走向任何一个极端。因此nchrw设p

uv
为“类转移概率”,p

uv
与成比例,如下所示(7):
[0128][0129]cv
是当前节点的邻域节点的聚类系数,其值在0到1之间,由于1-c
uv
/min{deg(u),deg(v)}的值也在0到1之间,因此p

uv
不是一个“概率”值,他是有可能大于1的,因此将p

uv
称作“类转移概率”。
[0130]
为了实现等式(7)中的比例策略并限制计算开销,nchrw采用了带拒绝的行走策略来确定每个step步骤中的下一跳节点。具体来说,在每个步骤中,nchrw首先从候选节点集n(u)中均匀随机地选择一个候选节点v∈n(u),只有当v被选做下一节点的“类接受概率”等于q

uv
时,v才被接受为u的下一个节点,若不等于,则以1-q

uv
的概率被拒绝,继续在n(u)中寻找下一个候选节点。将q

uv
称之为“类接受概率”的原因与将p

uv
称为“类转移概率”的原因一样。
[0131]
将v被接受为下一节点的“类接受概率”q

uv
定义为:
[0132][0133]cuv
是u和v之间的公共邻居的数量,deg(u)是u的度,deg(v)是v的度。由于使用拒绝式行走策略时,若当前选择的候选节点v被接受,则整个寻找下一节点的过程只需访问它,不需要访问候选节点集n(u)中的所有节点,因此减少了在每一个step中寻找下一节点的计算开销。
[0134]
然而,nchrw有机会返回当前访问的节点,因为也就说节点u选择u为下一节点还是有概率的,即存在回溯。但由于返回到当前访问的节点也会引入开销并减缓收敛,为了避免回溯,我们对“类接受概率”进行了归一化。“类转移矩阵”p

=[p

uv
]
u,v∈v
可以写成:
[0135][0136]
其中表示节点u选择u为下一节点的概率,cv是当前节点的邻域节点的聚类系数;p

uv
为类转移概率,v是节点集;p

uv
为类转移概率,节点u,v,v是节点集,n(u)为候选节点集。
[0137]
其中被定义为:
[0138][0139]
nchrw综合考虑了候选节点的度数、候选节点与节点u之间的公共邻居的数量以及候选节点的聚类系数(见图3(c))。具体来说,如果一个候选节点,比如v∈n(u),与u有更高
的度或更少的公共邻居或者更大的聚类系数,那么游走者以更高的概率移动到v,也就是说,从u到v的“类转移概率”p

uv
的权重较大,例如,在图3(c)中,p

uv
=16/55最大,因为与n(u)中的其他节点相比,v具有较高的聚类系数,其度值也较高范围,虽然与u的公共邻居不是最小的,但是综合三个特性来看,v更适合作为下一跳。
[0140]
事实上,我们可以很容易地从图3(c)中验证v应该是一个更好的选择,因为(1)对于节点a来说,它与u虽然公共邻居节点数最少,但是其度也最小,甚至它的聚类系数为0,不是一个合适的选择;(2)对于b来说,它与u虽然公共邻居节点数只有1个,且度值也较大,但是它的聚类系数=1/3;(3)对于d来说,它与没有公共邻居节点,且度值也是最大的,但是它的聚类系数=1/6;(4)相比之下的v,它与u的公共邻居节点数也只有1个,度值虽比b,d微小,但它的聚类系数=1。说明尽管v在不能比d探索更多的节点,但是相对来说v并不是度最小的节点,仍然有探索较多节点的能力,只是不如d(d需要复制前面的),但是u与v相互连接的程度较高,又比b高得多,在抽样时,这样的节点更应该被保留(抽样)下来,如此既保证了抽样过程中不会反复游走到已抽样过的节点处,使得能够访问更多的节点,又保证了抽样结果能保留更多原始网络拓扑属性的性质。
[0141]
rw从当前节点的邻居中统一随机选择下一个节点,cnarw以更高的概率行走到有最大度和与当前节点具有最少公共邻居的节点,nchrw则在不同层上的网络分别以更高的概率行走到综合了较大度、与当前节点具有较少公共邻居且与有较大聚类系数这三个特征的节点,因此nchrw与cnarw最大的区别就是选择的下一跳可能不是所有候选节点中度最大、与当前节点具有最少公共邻居的节点,而是综合考虑了三个特性下较大度、与当前节点具有较少公共邻居及有较大聚类系数的节点。
[0142]
以图3为例来说明游走过程。请注意,n(u)={a,b,v,c,d},如图3(c)所示,“类接受概率”为q

ua
=1/2,q

uv
=4/3,q

ub
=5/6,q

uc
=3/4,q

ud
=7/6,其中q

ua
表示节点u、a间的类接受概率,q

uv
表示节点u、v间的类接受概率,q

ub
表示节点u、b间的类接受概率,q

uc
表示节点u、c间的类接受概率,q

ud
表示节点u、d间的类接受概率;“类转移概率”为p

ua
=6/55,p

uv
=16/55,p

ub
=10/55,p

uc
=6/55,p

ud
=14/55,其中p

ua
表示u、a间的类转移概率,p

uv
表示u、v间的类转移概率,p

ub
表示u、b间的类转移概率,p

uc
表示u、c间的类转移概率,p

ud
表示u、d间的类转移概率。
[0143]
我们可以看到节点v具有比其他候选节点更高的类接受概率,同时,节点v具有比其他候选节点更高的类转移概率,这意味着nchrw将以更高的概率将v选择为下一跳节点,这与v作为更好的选择的直觉相一致。
[0144]
2.3核心算法设计
[0145]
nchrw的具体算法如algorithm 1所示。
[0146][0147]
在algorithm 1中陈述了提出的nchrw抽样方法的算法思想,如同前面所述的nchrw的详细执行步骤,需要利用原始网络和提前定义好的分层阈值将原始网络中属于不同层的网络打上不同的标签,并根据标签分层,随后分别对各层的网络利用当前节点u的信息,选择候选节点集中类接收概率q

uv
最大的那个节点作为下一跳节点v。
[0148]
3实验与评估
[0149]
3.1数据集
[0150]
lastfm等六个真实网络的数据集的基本统计数据如表1,他们分别表示:
[0151]
1、lastfm asian user network.2、wikipedia page-page network with articles about crocodiles.3、facebook verified page-page network.4、deezer hungarian user network.5、twitch user network from the uk.6、github machine learning and web developers social network.
[0152]
表1用于比较抽样的真实社交网络的统计数据
[0153][0154]
原始网络的度分布见图7中深色部分。根据对lastfm等6个数据集的度分布的观察分别对其分层的阈值设置如表2:
[0155]
表2数据集分层阈值
[0156][0157][0158]
3.2实验结果分析
[0159]
抽样的目标是得到一个能够更好地保留原图拓扑属性的子图。因此,评价抽样结果时需要考查子图的拓扑属性与原图的近似程度,即需要满足:
[0160]
θ(g)≈θ(s)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0161]
其中θ(s)表示抽样结果图的拓扑属性取值,θ(g)表示原始图的拓扑属性取值。常见的图的拓扑属性以及属性值的计算方法和实验结果如下。
[0162]
3.2.1度分布
[0163]
复杂网络的度分布与其拓扑结构紧密相关,绝大多数复杂网络具有无标度性,其幂律度分布完全由度分布指数所确定。网络的度分布定义为度为的节点的比例,因此:
[0164][0165]
其中|n|为网络中节点的数量,deg(v)是节点v的度,|{
·
}|用于取度集合的个数,v为节点集。
[0166]
图4~图5展示了使用nchrw抽样方法分别在lastfm等六个数据集的不同抽样比下的度分布情况。其中图4(a)分别呈现了10%,15%,20%,25%四种抽样比例下l
as
tfm asia的度分布情况。图5呈现的是50%抽样比下各数据集的度分布情况。注意,度分布都采用双对数坐标进行绘制。
[0167]
图4~图5中:除了d
eezer
数据集之外,度分布相似度都很高。即使抽样率为较小的10%,抽样网络的度分布与原始网络度分布的拟合度也挺不错。随着抽样率的提升,其拟合度越来越高。而且nchrw算法在各个度分布区间内,不存在极度偏颇,也就是说在低度节点区间、中度节点区间、高度节点区间上,抽取的点没有很少,也没有很多。这说明nchrw算法不存在低度节点过度入样和高度节点过度入样的问题。这主要是由于nchrw采用了分层思想,能够更加“公平”地抽取高度节点和低度节点,并且分层抽样本身能够使抽样结果的误差更小。之所以六个数据集在抽样率为50%以下时度分布在极高度的部分几乎没有抽样,是因为极高度节点的数量本来就极少,在抽样比例偏小的情况下,可能存在根本无法抽样到的问题。
[0168]
注:本发明专利还将nchrw与现有的抽样方法ns,rdn,es,hyb,bfs,dfs,rw,mhrw,cnarw的度分布进行了比较,发现ns,es,hyb,bfs,dfs与原始网络度分布的拟合度极其差,因此后面的几个拓扑属性的比较只将nchrw与rdn,rw,mhrw,cnarw四中抽样方法进行对比分析。
[0169]
3.2.2网络密度
[0170]
网络密度(density)可用于刻画网络中节点间相互连边的密集程度。在线社交网络中常用来测量社交关系的密集程度以及演化趋势。网络密度是网络中实际存在的边数与可容纳的边数上限的比值。
[0171][0172]
其中link
real
表示网络中实际存在的边的数量,link
passible
表示网络中可能存在的边的最大数量。
[0173]
本发明专利针对无向网络,有:
[0174][0175]
由上述定义可知,当一个网络的节点数量一定时,有:
[0176]
density

link
real
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0177]
图6将提出的nchrw抽样方法及现有抽样方法rdn,rw,mhrw,cnarw在不同数据集下的不同抽样比上与原始网络的密度进行了对比。
[0178]
图6中,所有抽样方法的密度都高于原始网络的密度。但是nchrw是其中几种抽样算法里网络密度最低的也是最接近原始网络密度的方法。主要是由于在抽样时,固定了抽样比后,也就是固定了抽样节点数,不同的抽样方法会使抽样的边数不同,而这5种算法都能抽取更多的边。在网络中,高度节点往往是“枢纽点”,这些点抽取得越多,网络中实际存在的边数就越多,网络的连通性就越好,网络密度就越大,rdn,rw,mhrw,cnarw偏向于抽取高度节点,导致link
real
偏大,也就使得网络密度偏大。由于nchrw算法采用分层抽样策略,虽然其网络密度也比原始网络高,但不会出现对高度节点过度抽样的情况,因此抽样的边数相对于其他方法来说要小一些,所得网络密度自然更小也更靠近原始网络的密度,同时,随着抽样比的增加,抽样网络的密度越来越接近原始网络的密度。
[0179]
3.2.3平均度
[0180]
平均度可以衡量整体网络节点的活跃程度,越低说明节点之间交互较少,反之则联系更多,其定义为公式16。
[0181][0182]
其中表示网络中出现的所有节点的度。
[0183]
图7将提出的nchrw抽样方法及现有抽样方法rdn,rw,mhrw,cnarw在不同数据集下的不同抽样比上与原始网络的平均度进行了对比。
[0184]
图7中,nchrw改善了rw、cnarw高估网络平均度的情况,并且更接近原始网络的平均度。随着抽样比的增加,平均度不断增高,越来越接近原始网络的平均度。它除了在d
eezer
数据集上表现得较差之外,其余数据集中表现得都不错。
[0185]
3.2.4平均聚类系数
[0186]
聚类系数一般指聚集系数,用来描述一个网络中的节点之间结集成团的程度的系数,具体来说,是一个点的邻接点之间相互连接的紧密程度。聚类系数是衡量节点间凝聚能力的重要指标。在整个网络的各方面研究中聚类系数也是一个极其重要的指标,其定义为:
[0187][0188]
其中{e
ij
:e
ij
∈e,i、j∈nu}表示节点u的邻居节点i和j的之间的边集合,|{
·
}|用于取边集合的个数,ku表示节点u的度,e表示边集,nu表示u邻居节点的数量。因此,平均聚类系数可以定义为:
[0189][0190]
|n|表示网络中节点的数量。
[0191]
图8将提出的nchrw抽样方法及现有抽样方法rdn,rw,mhrw,cnarw在不同数据集下的不同抽样比上与原始网络的平均聚类系数进行了对比。
[0192]
图8中,nchrw的平均聚类系数比原始网络的平均聚类系数稍有偏大,同时它在lastfm、deezer和twitch上表现得比较优秀,另外三个数据集上不占优势,但也不是表现得
最差的。
[0193]
nchrw的平均聚类系数之所以稍有偏大,是因为在游走时不仅考虑了当前节点与邻域节点(候选节点)的公共邻居节点数和邻居节点度数,还考虑了当前节点的邻域节点的聚类系数ccv,综合两方面情况,使得整体的平均聚类系数存在稍有偏高的情况,但是从结果来看,偏高情况不大,而且该方法使得密度和平均度得到了极大提升,综合来看,平均聚类系数的微小偏高可以接受。
[0194]
3.2.5传递性
[0195]
网络的传递性表示认识同一个节点的两个节点也可能认识双方。
[0196]
tra=3*n(g
δ
)/n(trigraph)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(19)
[0197]
其中n(g
δ
)是图中三角形的个数,n(trigraph)是三元组个数。注:该三元组个数是有公共顶点的边对数。
[0198]
图9将提出的nchrw抽样方法及现有抽样方法rdn,rw,mhrw,cnarw在不同数据集下的不同抽样比上与原始网络的传递性进行了对比。
[0199]
nchrw的传递性在wikipedia、twitch、github上表现得最优,另外三个数据集上它的表现基本上要略差于mhrw,总体来说它在传递性方面也表现不错。
[0200]
3.2.6拓扑结构实例对比分析
[0201]
图10将3.2.1节中l
as
tfm的度分布结合其拓扑结构进行了nchrw抽样前后实例对比分析,展示了抽样对复杂网络视觉特征的影响。每一个子图的右上角展示的是该网络的度分布情况,从图10可以发现相比较于原始网络来看,抽样后的网络在度分布上与原始网络趋势基本一致;抽样后的网络在视觉特征上都发生了很大的改变,尤其是抽样率为10%的时候差别最大,但是在抽样率为50%时从视觉上看起来更贴近原始网络,但事实上,在实验过程中发现,抽样后的网络的社区数量略有改变,但是相比较于ns等其他抽样方法对社区数量的估计更接近,这意味着提出的nchrw方法对于复杂网络中的社区检测的准确率可能会更高。
[0202]
3.3实验结果对比(50%抽样率)
[0203]
将提出的nchrw方法与ns等9种经典抽样方法进行对比分析,基于节点和探索的抽样过程抽样50%的顶点,而边缘抽样技术选择50%的边缘来提取抽样网络。计算了样本网络的密度、平均度、聚类系数、传递性和度皮尔逊相关系数。经过10次不同的随机种子进行抽样取以上五个拓扑属性的平均值,以获得个抽样方法在各抽样比下统计数据的估计值
[0204]
表3列出了三类抽样方法抽样50%下计算得出的密度、平均度、聚类系数、传递性和度皮尔逊相关系数的统计数据ns、rdn属于基于节点抽样方法;es、hyb属于基于边缘抽样方法;bfs、dfs、rw、mhrw、cnarw、nchrw属于基于探索的抽样方法。将基于节点的抽样方法和基于边缘的抽样方法合为一组进行效果优劣比较,同时由于bfs、dfs的实验结果表现得非常差,因此表3将bfs、dfs暂且归于前两种方法中,不在基于探索的抽样方法中做比较。在每组方法中,粗体数字表示特定估计描述性统计数据和数据集在给定类别中的最佳采样技术(最接近实际情况)。表3中的评价指标采用缩写代替:den表示网络度,ave-d表示平均度,ave-c表示平均聚类系数,tra表示传递性,deg-c表示度皮尔逊相关系数。
[0205]
通过表3和实验过程,得出以下结论。(1)没有在所有指标下明显优于其他抽样方法的技术。(2)边缘抽样方法通常不能正确估计相关度的方向。(3)基于随机行走的技术通
常倾向于高估平均度,由于基于随机游走的方法都会在游走过程中考虑候选节点中度更大的那个节点,也就是这种方法更容易偏向高度节点,因此基于随机游走的方法倾向于高估平均度的结果是很正常的。(4)nchrw对于用到的6个数据集在密度方面的性能均有极其大的提升,且所得抽样网络是连通图。(5)nchrw改善了ns、es低估网络平均度,rdn、rw、cnarw高估网络平均度的情况,更接近原始网络的平均度。
[0206]
综合来说,提出的nchrw方法与传统的ns等九种方法在平均度等不同指标下的综合性能表现最佳。
[0207]
表3-1 50%抽样率下10次不同随机种子的平均值统计量对比
[0208][0209]
表3-2 50%抽样率下10次不同随机种子的平均值统计量对比
[0210][0211]
4结论
[0212]
本发明专利提出了一种有效的基于随机游走的抽样方法,它解决了现有抽样方法未考虑对非连通网络抽样的情况,也克服了现有抽样方法存在的高度节点或低度节点过度入样的问题。具体来说,它首先利用k-means
聚类算法确定复杂网络的分层数量k值;其次分别对k层网络定义其分层阈值;然后在游走时综合考虑候选节点的度数、候选节点与节点之间的公共邻居的数量以及候选节点的聚类系数。本发明专利在l
as
tfm等6个数据集上进行了大量的实验,结果表明本发明专利提出的方法nchrw忽略对规模较小的连通子图进行抽样的方法在理论和实践上是有效的,且通过分析实验结果发现,该方法降低了基于游走方法例如rw、cnarw等对高度节点过度抽样和其他方法例如rn、hyb等对低度节点过度抽样的情况,
从而保证更大程度上对原始网络的基本属性的保留,因此nchrw相对于现有抽样方法在度分布等拓扑统计量上有所提高,其中密度和平均度的提升效果是最为明显的,平均聚类系数和传递性虽然在部分数据集上的表现不是最优,但也有所改善。因此这也意味着事实上应该没有哪一种抽样方法对于所有数据集来说是最优的抽样方法,很多文章也表示,在实践中使用抽样来解决数据的处理问题时,具体使用什么样的方法,还是需要根据自己的数据集来选择合适的方法,当需要实践中侧重于保留某一属性时,就选择抽样结果保留该属性更加优秀的抽样方法。不能一概而论的说某抽样方法在所有数据集上都能使性能有所提高。因此,在选择抽样策略时应格外小心。
[0213]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1