论文部分内容阅读
GBDT(Gradient Boosting Decision Tree)是一个应用广泛、效果好的监督式机器学习模型。它于2001年由Friedman提出,由决策树(Decision Tree)和梯度提升(Gradient Boosting)组合而成。它在实践中被证明是一个很高效的模型,被广泛应用于搜索排序,广告点击率预测等,给工业界带来了巨大的效果提升和收益。随着互联网时代的到来,更多的数据可以被获取到。在机器学习中,更多的数据也意味着更好的效果,所以,用大数据来训练机器学习模型是很有必要的,但这给GBDT带来了挑战。首先GBDT的学习算法是一个中心化算法,需要把所有数据都加载在内存中,当数据太大时,单个机器可能无法加载全部数据,没办法进行学习。并且GBDT学习算法的复杂度和数据的大小有关,当数据很大时,学习会变得很慢。所以在大数据的场景下,对GBDT进行并行处理是非常有必要的。 本文的主要研究内容是GBDT并行算法,解决在大数据场景下,GBDT并行遇到的问题和挑战。本文首先介绍了关于GBDT的算法及其优化的一些算法,给出了详细的算法和理论分析;接着调研了现有GBDT的并行算法,按种类可以分为叶子并行(Leaf Parallelization)、特征并行(Feature Parallelization)和数据并行(Data Parallelization)。在对这些算法进行详细的研究后,发现这些并行算法都存在着不足:叶子并行受到内存限制,且通信量太大;特征并行无法并行整个学习过程;数据并行通信量太大。这些算法都不能满足在大数据场景下的并行需求。在这个基础上,本文提出了基于选举的并行GBDT算法,这个算法利用了大数据优势,用选举的方法降低特征候选集的数量,从而大幅降低并行中的数据通信量。本文在大规模数据集上进行实验。实验表明,本文提出的并行算法快速有效,并行效率高,在不损失精度的情况下比其他并行算法快速。