本发明专利技术提出了一种保持社区结构的复杂网络采样方法,适用于由于现有硬件条件的限制下对大规模数据分析的数据采样。本方法提供了社区度数和社区中心两个概念,首先获取网络中所有节点的社区度数,然后选出社区中心,依照社区度数从小到大的顺序选取社区中心,基于森林火灾采样方式进行采样,采样大小按照社区中心的社区度数占剩下社区中心的社区度数的比例来分配,将所有的社区中心都进行采样后,输出所有的采样节点。本发明专利技术方法经实验证明,采样结果和原网络的数据比较接近,较好地保持了社区结构,很大程度减小数据规模,从而为在现有硬件的限制条件下对大数据处理提供方便。
【技术实现步骤摘要】
【专利摘要】本专利技术提出了一种,适用于由于现有硬件条件的限制下对大规模数据分析的数据采样。本方法提供了社区度数和社区中心两个概念,首先获取网络中所有节点的社区度数,然后选出社区中心,依照社区度数从小到大的顺序选取社区中心,基于森林火灾采样方式进行采样,采样大小按照社区中心的社区度数占剩下社区中心的社区度数的比例来分配,将所有的社区中心都进行采样后,输出所有的采样节点。本专利技术方法经实验证明,采样结果和原网络的数据比较接近,较好地保持了社区结构,很大程度减小数据规模,从而为在现有硬件的限制条件下对大数据处理提供方便。【专利说明】
本专利技术提出,属于计算机应用及复杂网络领 域。
技术介绍
近年来人们发现,现实世界中的众多系统都以复杂网络(complex network)的形 式存在,如社交网络、因特网、移动电话网、蛋白质交互网、神经元网等。复杂网络具有节点 和边数目巨大、网络结构复杂、节点和边具有多样性、进化演变和动力学复杂性等特点。例 如,目前万维网具有超过万亿的统一资源定位符(URL),Facebook有10亿用户节点和千亿 用户关系连边,大脑神经元网络有数百亿节点,中国三大运营商的手机通讯网络无一不拥 有数亿用户。如何处理超大规模的网络数据,已经成为研究者亟待解决的关键科学问题。社区结构已成为复杂网络最普遍和最重要的拓扑结构属性之一。网络社区结构具 有社区内部节点相互连接紧密、社区之间节点连接稀疏的特点。研究复杂网络社区结构具 有重要的理论意义。同时,社区结构研究已被应用于恐怖组织识别、社会网络分析与管理、 未知蛋白质功能预测、主控基因识别以及Web社区挖掘和搜索引擎等众多领域,具有广阔 的应用前景。尽管有研究者坚信随着计算能力和数据采集能力的提升,处理整体数据将成为趋 势,但采样仍然是目前处理海量数据问题的一种常用方法。目前针对大规模复杂网络的数 据处理困难,若采样数据小就很难保证原社区结构的关系,若采样数据大,则数据处理的规 模大,难处理。
技术实现思路
本专利技术针对大规模复杂网络数据处理困难的问题,提出了一种保持社区结构的复 杂网络采样方法,在能较好保证原网社区结构的前提下,很大程度减小数据规模,通过对原 网数据进行预处理,以方便后续社区结构研究。设某一个复杂网络,用无向无权图G表示,G= (V, E), V为网络中节点的集合,E为 网络中边的集合,设图中节点总数为n,边总数为m,节点V的度数用kv表示。本专利技术的,包括如下步骤:步骤1:确定复杂网络中各节点的社区度数;节点的社区度数定义为节点自身度 数与邻居节点度数的总和;步骤2:遍历图G中的节点,找到社区中心;当某个节点的社区度数都不小于它的 所有邻居的社区度数时,标记该节点为社区中心;步骤3:将所有社区中心按照节点的社区度数大小排序;步骤4:选取当前未被采样且社区度数最小的社区中心作为采样的起始节点;步骤5:标记起始节点为采样节点,并设置起始节点的采样大小;设起始节点为u,则节点u的采样大小Samsize为:Samsize = cur ^ size * Nu/Y,nNv;其中,cur_size表示目前需要采样的节点数目,Nu表示节点u的社区度数,Us表示当前未被采样的社区中心集合,Nv表示节点V的社区度数;步骤6:从起始节点开始进行采样,得到采样节点;步骤7:判断是否所有的社区中心均被采样过,若是,则输出所有采样节点,否则, 继续转步骤4执行。所述的步骤6进行采样的方法为:步骤6.1:将起始节点u作为当前采样节点V ;步骤6.2:为节点V生成一个随机整数X,选取节点V的X个未被采样的邻居节点,并标记所选节点为采样节点;设置节点V的邻居节点Wi的选取概率为Pn =Pf*nia{Kjkw!^)i步骤6.3:判断由起始节点u采样得到的采样节点的个数是否达到节点u的采样大小,若是,结束节点u的采样,否则,继续进行步骤6.4 ;步骤6.4:判断节点V的各邻居节点是否有未被采样的邻居节点,若有,执行步骤 6.5 ;若否,结束节点u的采样;步骤6.5:将每个具有未被采样的邻居节点的节点作为采样节点V,然后转步骤 6.2执行。本专利技术的,可以在能较好保证原网社区结构的前提下,很大程度减小数据规模,从而为在现有硬件的限制条件下对大数据处理提供方便。【专利附图】【附图说明】`图1为本专利技术的的整体流程示意图;图2为本专利技术实施例中as-22july06数据集下各个采样算法的采样效果示意图;图3为本专利技术实施例中astoo-ph数据集下各个采样算法的采样效果示意图;图4为本专利技术实施例中cond-mat数据集下各个采样算法的采样效果示意图;图5为本专利技术实施例中hep-th数据集下各个采样算法的采样效果示意图;图6为本专利技术实施例中cond_mat2005数据集下各个采样算法的采样效果示意图。【具体实施方式】下面将结合附图和实施例说明本专利技术的技术方案。本专利技术提供的,是基于森林火灾采样方法改进,下面先说明森林火灾采样方法的原理。森林火灾米样方法(参考文件:J.Leskovec, C.Faloutsos.Sampling from Large Graphs.1n Proc of ACM SIGKDD, 2006:631-636)具体是:对于某个网络,首先随机选择节点V,然后产生一个随机数x,X符合几何分布;节点V选择X条邻边,这些边的另一个节点都是没访问过的,也就是获得X条边对应X个未被访问的节点;然后对这X个节点依次按照产生随机数的方法寻找未被访问的节点,如此循环,一直烧到足够多的节点。为了避免出现重复,所以在森林火灾采样方法进行过程中,节点是不能被访问两次的。如果火熄灭了(the fire dies),重新随机选择一个节点。参数被称为向前燃烧概率,森林火灾采样方法倾向于采样度数大的节点。本专利技术选择基于森林火灾采样方法进行改进,主要基于以下两点:1、通过比较现 有几种采样算法的效果,发现森林火灾采样方法在其中表现最好;2、森林火灾采样方法能 较好地保持图的连通性。但是森林火灾随机的起始节点,以及在算法过程没有偏向于保持 社区结构的特性,因此,本专利技术需要针对这两方面进行改进。首先,本专利技术定义了社区度数和社区中心两个概念,然后在此基础上提出一种保 持社区结构的复杂网络采样方法,既减小网络数据规模,又保持原网络的社区结构。本专利技术中,社区度数定义为节点自身度数与邻居节点度数总和,社区中心定义为 社区度数极大值的网络节点。本专利技术方法是社区中心按比例分配大小的采样方法,基本实现原理如下:(I)将社区中心的社区度数最小的节点作为起始节点,按照森林火灾方式采样,采 样的大小是用当前采样起始节点的社区度数占社区中心总的社区度数的比例来分配,当采 样大小足够之后,跳转到下一个节点。(2)从剩下的未被采样的社区中心中选择社区度数最大的节点作为新的采样起始 节点,按照(I)中方式继续采样,直到整体采样大小达到规定的采样大小,或者所有的社区 中心都被采样。如图1所示,为本专利技术的的流程图,下面结合 图1对各步骤进行说明。首先,对于待采样的某个复杂网络,用无向无权图G来表示,G= (V,E),其中,V为网 络中节点的集合,E为网络中边的集合,设图G中节点总数为n,边总数为m。用(u,v)表示 本文档来自技高网...
【技术保护点】
一种保持社区结构的复杂网络采样方法,将复杂网络用无向无权图G表示,G=(V,E),V为网络中节点的集合,E为网络中边的集合,设节点总数为n,边总数为m,节点v的度数用kv表示;其特征在于,所述复杂网络采样方法包括如下步骤:步骤1:确定复杂网络中各节点的社区度数;节点的社区度数定义为节点自身度数与邻居节点度数的总和;步骤2:遍历图G中的节点,找到社区中心;当某个节点的社区度数都不小于它的所有邻居的社区度数时,标记该节点为社区中心;步骤3:将所有社区中心按照节点的社区度数大小排序;步骤4:选取当前未被采样且社区度数最小的社区中心作为采样的起始节点;步骤5:标记起始节点为采样节点,并设置起始节点的采样大小;设起始节点为u,则节点u的采样大小Samsize为:其中,cur_size表示目前需要采样的节点数目,Nu表示节点u的社区度数,Us表示当前未被采样的社区中心集合,Nv表示节点v的社区度数;步骤6:从起始节点开始进行采样,得到采样节点;步骤7:判断是否所有的社区中心均被采样过,若是,则输出所有采样节点,否则,继续转步骤4执行。FDA0000388500520000011.jpg
【技术特征摘要】
【专利技术属性】
技术研发人员:童超,彭赋,牛建伟,谢忠玉,罗小简,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。