论文部分内容阅读
随着科学技术的快速发展,各类数据的存储量与日俱增,对于这些海量数据的挖掘需求越来越强烈,因此大规模单图下的频繁子图挖掘也随之成为研究热点。频繁子图的目标是从图集或者单图中找出支持度大于某个阈值的所有子图,结果可运用于分类、聚类和索引的建立,并且单图下的频繁子图挖掘对于社交网络和万维网的研究意义尤为显著。在已有研究工作中,基于单机的频繁子图挖掘算法对于阈值较低的支持度挖掘难以支撑,也不适合较大规模图的挖掘;现有分布式下的单图挖掘算法仅支持指定顶点数量 k的挖掘,多数基于Hadoop实现,对于迭代类算法的实现产生额外开销。本文在对现有的频繁子图工作和分布式框架进行充分研究的基础上,借助 Spark平台,提出了大规模单图下的分布式频繁子图挖掘算法-FSMBUS和基于频繁边的图采样算法-DFES。 FSMBUS算法以频繁边为起点,利用次优树生成候选子图,对候选子图进行搜索数据域构建之后并行计算其支持度,在支持度计算阶段使用非频繁检测和搜索顺序进行优化,还设计了一种基于贪心的数据划分策略实现负载均衡。FSMBUS借助次优树可进行子图模式增长的挖掘,所使用的优化方式以及负载均衡策略可以有效提升算法运行速度,基于 Spark进行分布式运行,也避免了迭代时数据交换的开销。最后实验表示 FSMBUS算法的效率比最新的单机算法快一个数量级,同时还比该算法的Hadoop移植版本快2~4倍。 频繁子图挖掘是一个 NP难题,随着图数据的规模日益扩大,其运行开销也随之成倍增加。由于大规模图数据的频繁子图挖掘不需要完全精确,因此很多学者开始研究采样的方法以显著提升运行效率,虽然会损失一定的精度。为了提升采样图频繁子图挖掘的精度,本文提出了 DFES图采样算法,采样时根据边的频繁度进行顶点的状态转移,考虑了采样后的标签边分布,使用图感应算法对其优化,最后使用 Spark对其进行分布式实现。实验表明,相比于传统的采样算法,经过DFES算法得到的采样图更适合频繁子图挖掘。