[论文解读] MIRAGE: An Iterative MapReduce based FrequentSubgraph Mining Algorithm
MiRage 是一种完整的、基于 MapReduce 的迭代频繁子图挖掘算法,通过在集群中分布计算,能够高效地扩展到大规模图数据集。它通过使用优化的分区策略和在 MapReduce 迭代过程中传播中间状态,实现了显著的性能提升——相比先前的 MapReduce 方法,速度最高提升 6.5 倍,从而在用户定义的支持度阈值下挖掘出所有频繁子图。
Frequent subgraph mining (FSM) is an important task for exploratory data analysis on graph data. Over the years, many algorithms have been proposed to solve this task. These algorithms assume that the data structure of the mining task is small enough to fit in the main memory of a computer. However, as the real-world graph data grows, both in size and quantity, such an assumption does not hold any longer. To overcome this, some graph database-centric methods have been proposed in recent years for solving FSM; however, a distributed solution using MapReduce paradigm has not been explored extensively. Since, MapReduce is becoming the de- facto paradigm for computation on massive data, an efficient FSM algorithm on this paradigm is of huge demand. In this work, we propose a frequent subgraph mining algorithm called MIRAGE which uses an iterative MapReduce based framework. MIRAGE is complete as it returns all the frequent subgraphs for a given user-defined support, and it is efficient as it applies all the optimizations that the latest FSM algorithms adopt. Our experiments with real life and large synthetic datasets validate the effectiveness of MIRAGE for mining frequent subgraphs from large graph datasets. The source code of MIRAGE is available from www.cs.iupui.edu/alhasan/software/
研究动机与目标
- 解决内存中频繁子图挖掘(FSM)算法在日益增长的真实世界图数据集上面临的可扩展性限制。
- 设计一种基于 MapReduce 模型的完整且高效的 FSM 解决方案,尽管该模型在大数据领域广受欢迎,但目前仍缺乏成熟的分布式实现。
- 克服在无状态分布式环境(如 MapReduce)中进行状态管理和支持度聚合的挑战。
- 通过在 MapReduce 迭代过程中传播中间结果,实现所有频繁子图的可扩展、迭代式挖掘。
- 在不同配置下,通过实证验证 MiRage 在大规模真实世界和合成图数据集上的性能表现。
提出的方法
- MiRage 使用迭代式 MapReduce 框架,每轮迭代逐步挖掘边数递增的子图,从大小为 1 的子图开始。
- 在每轮的 map 阶段,映射器生成大小为 i 的候选子图,并计算其在分区内输入图中的本地支持度。
- 归约器聚合所有映射器的本地支持度,计算全局支持度,从而识别出大小为 i 的频繁子图。
- 该算法使用一种新型数据结构,保留并传播所有非零支持度的模式,以维护挖掘状态。
- 分区策略经过优化:方案 2(平衡每个分区的总边数)在非平衡数据集上表现优于方案 1(仅平衡图的数量)。
- 系统采用自定义数据格式和 I/O 优化,以减少网络开销并提升性能。
实验结果
研究问题
- RQ1能否基于迭代式 MapReduce 模型设计出一种完整且高效的频繁子图挖掘算法?
- RQ2在 MapReduce 的无状态特性下,如何在不依赖全局状态的前提下实现支持度的聚合?
- RQ3在 MapReduce 环境下,何种分区策略能最小化大规模图挖掘的执行时间?
- RQ4MiRage 在可扩展性和效率方面与现有基于 MapReduce 的 FSM 方法相比表现如何?
- RQ5在 MiRage 的迭代挖掘过程中,为最小化运行时间,最优的输入分区数量是多少?
主要发现
- MiRage 在三个生物数据集上,于 40% 最小支持度下,执行时间分别为 16.6、8.3 和 17.5 分钟,相比 Hill 等人 [32] 的基于 MapReduce 的 FSM 实现,最高提升 6.5 倍。
- MiRage 的最优输入分区数量远高于传统 MapReduce 任务——例如,在酵母数据集中约为 1000 个分区,这是由于子图挖掘具有指数级复杂度。
- 在非平衡合成数据集上,方案 2 分区策略(平衡每个分区的总边数)相比方案 1(仅平衡图数量)可将运行时间减少最多 30%。
- 通过减少映射器工作负载带来的性能提升(呈指数增长)超过了因增加键值对数量和网络 I/O 所带来的开销(线性增长),因此高分区数具有显著优势。
- MiRage 的迭代设计通过在各轮迭代中保留所有非零支持度模式,确保了算法的完备性,从而能够发现所有频繁子图。
- 该算法在包含 50,000 个图的大型合成数据集上表现出良好的可扩展性,展示了在多种图特征下的鲁棒性。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。