社交网络的无偏延迟采样方法与流程

文档序号:15979233发布日期:2018-11-17 00:07阅读:1080来源:国知局

本发明涉及社交网络数据采样技术领域,具体涉及一种社交网络的无偏延迟采样方法(unbiased-delaysampling,udsampling)。

背景技术

近年来,在线社交网路已经成为主要的互联网服务。社交网络的蓬勃发展吸引了大量的研究学者的关注,社会学家想要研究在线用户的用户行为,工程师利用社交网络设计更好的网络系统,科研人员研究这用复杂网络的结构及动态变化过程。

社交网络通常会模型化为社交图进行研究分析。研究者直接面临的问题就是社交网络的数据量太过庞大。首先,想要得到完整的数据集是不切实际的,因为抓取到如此庞大的社交图要耗费难以想象的时间,有些时候也是不可能的。与此同时,处理如此庞大的社交图,即使利用高性能计算机集群也需要大量的时间进行计算。其次,出于商业机密以及用户的私有设置,社交网络的完整数据也并不可获得。最后,社交网络的用户数量增长迅速并且用户间的关系会随时间改变,因此经典的大型网络并不能完全爬取。所以,如何在大型网络中抓取适量的样本,并保持原始网络的网络属性就成了社交网络研究的基础问题。

目前常用的网络采样技术,普遍上应用广度优先搜索算法进行数据采样。广度优先搜索算法虽然可以快速获取大量用户数据。然而在实际的生产中需要消耗大量资源设计去重队列,这样会大大减少数据的抽取效率。同时广度优先搜索算法是典型的网络的遍历算法,其算法抽取的数据会偏向高度的节点,从而该方法不能获取可靠的用户数据。



技术实现要素:

为了解决现有社交网络数据抽取方案不能获取无偏数据以及需要设计去重队列的不足,本发明提供一种新颖的网络采样方法(无偏采样方法),从而可以获取更加可靠的无偏数据。

本发明采用如下技术方案:一种社交网络的无偏延迟采样方法,包括以下步骤:

(1)将真实的网络转化为图g=(e,v),e表示图中的边的集合,边表示真实网络下用户间的关系,v表示图中的节点的集合,节点表示真实网络下的用户。

(2)初始化采样集s,缓存空间cache,将s和cache置空;从v中随机选取一个节点v;然后按照如下步骤进行采样。

(3)探测节点v的10个邻居节点,对于邻居个数小于10的节点则探测其所有的邻居节点。将探测到的邻居节点存入缓存空间cache中。

(4)在节点v的所有邻居节点中随机选择一个邻居节点w。判断kv/kw是否大于等于p,如果是,将邻居节点w作为当前节点v,并将节点w放入采样集s,然后返回至步骤3,如果不是,继续下一步骤。其中,p为随机数,p服从0-1均匀分布。kv表示节点v的邻居节点个数,即节点v的度数。

(5)判断p是否小于等于重复采样的概率α,如果是,则保持当前节点v不变,然后返回至步骤3,如果不是,继续下一步骤。

(6)在缓存空间cache中找出与当前节点v具有相同邻居数的所有被探测节点,从这些被探测节点中选择被探测次数最小的一个节点有多个相同被探测次数的节点取随机一个。将节点作为当前节点v,并将节点放入采样集,然后返回至步骤3。

进一步地,所述步骤5中,α=0.2。

本发明的有益效果是,第一,在独立的采样集上,网络的度分布属性更加接近原始网络特性。第二,避免了传统方法在高连通子网中低度节点过度入样的问题,并提高了方法对网络的探测能力。第三,在低采样率的情况下,其样本的传递性和同配性更接近原始网络的属性。

附图说明

图1为twitter和epinions的独立采样节点度分布cdf,nmse图;

图2为不同采样网络的传递性图;

图3为不同采样网络的同配性图;

图4为采样节点的更新率图;

图5为参数α对采样重复率的影响图。

具体实施方式

步骤一:定义概念:

社交网络采样方法研究通常是将真实的网络转化为图模型,图中的边表示真实网络下用户间的关系,图中的节点表示真实网络下的用户。使用符号g=(e,v)代表图,其中e表示图中的边的集合,v表示图中的节点的集合,v表示图中的节点。采样集定义为s。采样过程中已探测过的节点会压入缓存空间中,定义缓存空间为cache。在缓存空间中的节点用d表示,dj表示被探测过的节点,其中j是该节点被探测过的次数,表示与节点v具有相同邻居个数的被探测节点。kv表示节点v的邻居节点个数,即节点v的度数。α表示重复采样的概率,该数值默认取0.2。

步骤二:初始化采样集s,缓存空间cache,将s和cache置空

步骤三:选取初始节点v,选取的方法是在全网中随机选取。

步骤四:探测节点v的10个邻居节点,邻居个数小于10的则探测所有邻居节点。将探测的节点dj存入缓存空间cache中。

步骤五:在节点v的所有邻居节点中随机选择一个邻居节点w。

步骤六:生成一个0到1的随机数p,p服从0-1均匀分布。

步骤七:判断p是否小于等于kv/kw,如果是,将邻居节点w作为当前节点v,并将节点w放入采样集s,然后转到步骤五,如果不是,继续下一步骤。

步骤八:判断p是否小于等于α(α默认为0.2),如果是,则保持当前节点v不变,然后转到步骤五。如果不是,继续下一步骤。

步骤九:在缓存空间cache中找出与当前节点v具有相同邻居数的被探测节点集在这个被探测节点集中选择被探测次数最小的一个节点其中j=min(j),有多个相同被探测次数的节点取随机一个。将节点作为当前节点v,并将节点放入采样集,然后转入步骤五。

方法的停止规则可以是获取到了足量的数据时人为的停止,也可以是一段时间的抽取数据后,自动停止程序。

在这里采用twitter和epinions两种不同连通程度的网络对无偏延迟采样方法的采样性能进行评估,其中参与对比的经典采样方法有bfs,mhrw,rw。

从图1的左半部分可以看出,mhrw,bfs的度分布会偏向度大的节点,因为它们的nmse曲线比ud方法获得的曲线更高。与此同时,ud方法获得的度分布cdf曲线比其他方法更加接近原始网络,同样说明了ud方法所采集网络的度分布属性比mhrw和bfs方法更接近原始网络度分布。综上所述,ud方法采集的子网有更好的度分布属性,即使采样网络没有重复的数据。

在图2中,黑色的水平基线代表了原始网络统计量传递性的具体值,从图中可以看出,随着采样率的不断提高,不同采样方法的采样网络其传递性会趋向于基线值,但在较小的采样比例中,改进的ud方法与mhrw和rw方法相比更加接近原始网络的传递性指标。

图3评估了不同采样方法所抽取网络的网络同配性指标。从图中可以看出,候选的采样方法随着采样率的提高,较快的收敛到原始网络同配性上。但在较低的采样率时,改进的ud方法更接近基线,说明ud方法与mhrw和rw方法相比有更好的网络同配性指标。

图4显示了twitter和epinions的采样更新率。其中横轴表示被抽取出的独立节点个数,纵轴是被抽取的独立节点个数与实际采样节点数的比值,称为更新率。不难发现,更高的更新率有更少的重复节点。因此更高的更新率在采样过程中会有更好网络探测能力。从图4可以看出,稀疏网络(epinions)的采样更新率低于高连通性网络(twitter),并且对于不同连通性的网络ud方法的采样更新率优于mhrw。这是因为低连通性的网络有更高的概率接触到已访问过的节点。这证明了ud采样方法可以避免mhrw在低度节点的过度入样问题,与此同时,ud方法会有更好网络探测能力。

在ud采样过程中,我们使用了参数值α来控制当前节点的自循环概率,图5显示了不同的参数α对采样节点重复率的影响。其中,横坐标表示参数α的取值,α从0.05开始以步长0.05一直到1(α=0.05,0.1,0.15,…,1),纵坐标表示采样集中的节点重复率(样本中所有节点的数量/样本中独立节点的数量)。我们使用ud方法,mhrw以及rw方法在twitter数据集中分别采集5%的数据。从图5可以看出,当参数α的值接近0时,ud采样方法的样本重复率接近rw。当参数α的值是1时,ud采样方法的样本重复率6倍于rw,并与mhrw相同。所以在社交网络中,参数α可以用来控制ud采样方法的样本重复率。更特别的,若参数α在0.2到0.4之间时,mhrw的采样重复率会有较好的降低。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1