摘要

为解决海量数据学习贝叶斯网络结构的性能急剧降低问题,本文基于Spark框架设计了一种全流程并行遗传算法用于贝叶斯网络结构学习(Spark Genetic Algorithm for Bayesian Network structure learning,SparkGA-BN)。SparkGA-BN算法包含互信息计算并行化、遗传算子并行化和适应度评分并行化三个部分。互信息并行计算可以高效减少搜索空间;在演化前增加对种群信息与选择信息的广播来对全种群执行选择操作。选择与交叉算子共用选择信息以并行执行,从而高效演化并减少数据落盘时间。对约束和评分两阶段产生的中间数据作记忆化存储,提升数据复用率和全局执行效率。实验结果表明,所提算法在执行效率和学习准确率方面均优于对比算法。