• No results found

Study on Parallel Learning Algorithm of Gradient Boosting Decision Tree

N/A
N/A
Protected

Academic year: 2021

Share "Study on Parallel Learning Algorithm of Gradient Boosting Decision Tree"

Copied!
17
0
0

Loading.... (view fulltext now)

Full text

(1)

梯 度 渐 进 决 策 树(G B D T ) 的 并 行 学 习 算 法 研 究 柯 国 霖 指 导 教 师 陈 海 山 厦 门 大 学

厦门大学博硕士论文摘要库

(2)

学校编码:10384 分类号密级

学号:24320131152440 UDC

硕士学位论文

梯度提升决策树

(GBDT)

并行学习算法研究

Study on Parallel Learning Algorithm of

Gradient Boosting Decision Tree

柯国霖

指 导 教 师 :

陈 海 山 教 授

专 业 名 称 :

计 算 机 科 学 与 技 术

论文提交日期:

2 0 1 6

4

论文答辩日期:

2 0 1 6

5

学位授予日期:

2 0 1 6

指导教师:

答辩委员会主席:

2016

4

厦门大学博硕士论文摘要库

(3)

厦门大学学位论文原创性声明

本人呈交的学位论文是本人在导师指导下

,

独立完成的研究成果。

本人在论文写作中参考其他个人或集体已经发表的研究成果,均在文

中以适当方式明确标明,并符合法律规范和《厦门大学研究生学术活

动规范

(

试行

)

》。

另外,该学位论文为

()

课题

(

)

的研究成果,获得

()

课题

(

)

经费

或实验室的资助,在

()

实验室完成。

(

请在以上括号内填写课题或课题

组负责人或实验室名称,未有此项声明内容的,可以不作特别声明。

)

声明人

(

签名

)

年月日

厦门大学博硕士论文摘要库

(4)

厦门大学学位论文著作权使用声明

本人同意厦门大学根据《中华人民共和国学位条例暂行实施办法》

等规定保留和使用此学位论文,并向主管部门或其指定机构送交学位

论文

(

包括纸质版和电子版

)

,允许学位论文进入厦门大学图书馆及其

数据库被查阅、借阅。本人同意厦门大学将学位论文加入全国博士、

硕士学位论文共建单位数据库进行检索,将学位论文的标题和摘要汇

编出版,采用影印、缩印或者其它方式合理复制学位论文。

本学位论文属于:

()1.

经厦门大学保密委员会审查核定的保密学位论文,于

年 月 日解密,解密后适用上述授权。

()2.

不保密,适用上述授权。

(

请在以上相应括号内打

“√”

或填上相应内容。保密学位论文应是

已经厦门大学保密委员会审定过的学位论文,未经厦门大学保密委员

会审定的学位论文均为公开学位论文。此声明栏不填写的,默认为公

开学位论文,均适用上述授权。

)

声明人

(

签名

)

年月日

厦门大学博硕士论文摘要库

(5)

摘要

I

摘要

GBDT(Gradient Boosting Decision Tree) 是一个应用广泛、效果好的监督式机

器学习模型。它于2001年由Friedman提出,由决策树(Decision Tree)和梯度提升 (Gradient Boosting)组合而成。它在实践中被证明是一个很高效的模型,被广泛应 用于搜索排序,广告点击率预测等,给工业界带来了巨大的效果提升和收益。随 着互联网时代的到来,更多的数据可以被获取到。在机器学习中,更多的数据也 意味着更好的效果,所以,用大数据来训练机器学习模型是很有必要的,但这给 GBDT带来了挑战。首先GBDT的学习算法是一个中心化算法,需要把所有数据 都加载在内存中,当数据太大时,单个机器可能无法加载全部数据,没办法进行 学习。并且GBDT学习算法的复杂度和数据的大小有关,当数据很大时,学习会 变得很慢。所以在大数据的场景下,对GBDT进行并行处理是非常有必要的。 本文的主要研究内容是GBDT并行算法,解决在大数据场景下,GBDT并行 遇到的问题和挑战。本文首先介绍了关于GBDT的算法及其优化的一些算法,给 出了详细的算法和理论分析;接着调研了现有GBDT的并行算法,按种类可以分

为叶子并行(LeafParallelization)、特征并行(Feature Parallelization)和数据并行 (Data Parallelization)。在对这些算法进行详细的研究后,发现这些并行算法都存 在着不足:叶子并行受到内存限制,且通信量太大;特征并行无法并行整个学习 过程;数据并行通信量太大。这些算法都不能满足在大数据场景下的并行需求。 在这个基础上,本文提出了基于选举的并行GBDT算法,这个算法利用了大数据 优势,用选举的方法降低特征候选集的数量,从而大幅降低并行中的数据通信量。 本文在大规模数据集上进行实验。实验表明,本文提出的并行算法快速有效,并 行效率高,在不损失精度的情况下比其他并行算法快速。 关键词:决策树;并行GBDT算法;并行机器学习

厦门大学博硕士论文摘要库

(6)
(7)

Abstract

III

Abstract

GBDT(Gradient Boosting Decision Tree) is one of the most widely used supervised machine learning algorithms with superior performance. As its name shows, GBDT is a combination of Gradient Boosting and Decision Tree. It is proved practical effectiveness and is widely used in many applications, e.g. learning to rank and click through rate prediction.With the popularity of WEB2.0, more data are generated, and more data can be get. More data will have more performance gain in most machine learning algorithms. So it is necessary to use big data to learn the machine learning models. However, big data will bring challenges to GBDT. Firstly, GBDT is a centralized algorithm, which needs to hold all data in the memories. When data is big, single machine cannot hold all data. Secondly, the learning speed of GBDT is relative to the size of data. So when data is big, it will learn very slowly. As a result, it is necessary to parallel the learning of GBDT to meet the needs of big data.

This dissertation focus on the parallel learning algorithms for GBDT, and wants to solve the problemswith big data. First, this dissertation gives a detailed introduction for GBDT algorithm. Then,this dissertation has a survey on existing parallel learning algorithms for GBDT, which have three major categories: Leaf parallelization, Feature parallelization and Data parallelization. Then this dissertation has a detailed analysis for these algorithms, and finds all of these algorithms cannot perform well with big data: Leaf parallelization suffers from memory limitation and communication overhead; Feature parallelization cannot parallel the whole learning procedure; Data parallelization suffers from communication overhead.Based on this, this dissertation proposed an optimized parallel learning algorithm for GBDT, called Voting Based Data Parallel Algorithm, which makes use of big data, reducing communication cost by voting of features. And this dissertation also gives experiments’ results on big data set. These results indicate this algorithm can significantly outperform existing parallel algorithms in the trade-off between accuracy and efficiency.

Key words:Decision Tree; Gradient Boosting Decision Tree; Distributed Machine Learning

(8)
(9)

目录 V

目录

第一章绪论

... 1

1.1研究背景和意义 ... 1 1.1.1 机器学习的研究意义 ... 1 1.1.2 GBDT简介及发展前景 ... 1 1.1.3 并行算法的必要性 ... 2 1.1.4 本文主要研究方向和目标 ... 3 1.2论文组织结构 ... 3

第二章监督式机器学习

... 4

2.1监督式机器学习简介 ... 4 2.2符号定义 ... 4 2.3 本章小结 ... 7

第三章决策树学习算法介绍

... 8

3.1决策树以及决策树学习算法 ... 8 3.2 回归树寻找最优分割点的优化 ... 12 3.3 回归树寻找最优分割点的直方图优化 ... 14 3.4 本章小结 ... 16

第四章

Boosting

GBDT

介绍

... 17

4.1 Boosting ... 17 4.2 Gradient Boooting ... 17 4.3 GBDT ... 19 4.4并行GBDT ... 23 4.4.1 并行决策树学习 ... 23 4.4.2并行Gradient Boosting算法 ... 28 4.4.3对比与分析 ... 30 4.5 本章小结 ... 31

第五章基于选举的并行

GBDT

算法

... 32

厦门大学博硕士论文摘要库

(10)

梯度提升决策树(GBDT)并行学习算法研究 VI 5.1优化并行GBDT算法的方向和思路 ... 32 5.2基于选举的并行GBDT算法设计 ... 33 5.2.1基本算法 ... 33 5.2.2本地选举算法 ... 34 5.2.3全局选举算法 ... 35 5.2.4 算法分析和应用场景 ... 39 5.3进一步优化 ... 40 5.3.1减少通信量 ... 40 5.3.2 降低损失 ... 41 5.3.3 直方图构造算法优化 ... 42 5.3.4 通信算法优化 ... 42 5.4 本章小结 ... 49

第六章实验与分析

... 50

6.1 算法实现 ... 50 6.2 数据集和实验设置 ... 50 6.3 实验结果与分析 ... 51 6.3.1 与其他并行算法相比 ... 51 6.3.2 机器数量对基于选举的并行算法的影响 ... 54 6.3.3 选举大小对基于选举的并行算法的影响 ... 56 6.3.4 实验总结 ... 57 6.4 本章小结 ... 57

第七章总结与展望

... 58

7.1总结... 58 7.2 展望... 58

参考文献

... 60

在研究生学习期间发表的论文

... 63

致谢

... 64

厦门大学博硕士论文摘要库

(11)

Contents

VII

Contents

Chapter 1 Introduction ... 1

1.1 Research Background and Significance ... 1

1.1.1 Overview of Machine Learning ... 1

1.1.2 Overview of GBDT ... 1

1.1.3 Necessity of Parallel Algorithm ... 2

1.1.4 Research Objective of the Dissertation ... 3

1.2 Outline of the Dissertation ... 3

Chapter 2 Supervised Machine Learning ... 4

2.1 Overview of Supervised Machine Learning ... 4

2.2 Symbol Definition ... 4

2.3 Summary ... 7

Chapter 3 Introduction to Decision Tree Learning ... 8

3.1 Decision Tree and Decision Tree Learning ... 8

3.2 Optimization on Finding Best Split Point ... 12

3.3 Histogram Optimization on Finding Best Split Point ... 14

3.4 Summary ... 16

Chapter 4 Introduction to Boosting and GBDT ... 17

4.1 Boosting ... 17

4.2 Gradient Boosting ... 17

4.3 GBDT ... 19

4.4 Parallel Algorithm for GBDT ... 23

4.4.1 Parallel Decision Tree Learning ... 23

4.4.2 Parallel Gradient Boosting ... 28

4.4.3 Comparison and Analysis ... 30

4.5 Summary ... 31

Chapter 5 Voting Based Parallel Algorithm for GBDT ... 32

5.1 Idea of Optimize Parallel Algorithm for GBDT ... 32

5.2 Voting Based Parallel Algorithm for GBDT ... 33

5.2.1 Algorithm Overall ... 33

(12)

梯度提升决策树(GBDT)并行学习算法研究

VIII

5.2.2 Local Voting Algorithm ... 34

5.2.3 Global Voting Algorithm ... 35

5.2.4 Analysis and Usage ... 39

5.3 Further Optimization ... 40

5.3.1 Reduce Communication Cost ... 40

5.3.2 Reduce Loss ... 41

5.3.3 Optimization On Histogram Construct Algorithm ... 42

5.3.4 Optimization on Communication Algorithm ... 42

5.4 Summary ... 49

Chapter 6 Experiments and Analysis ... 50

6.1 Algorithm Implementation ... 50

6.2 Experimental Data and Settings ... 50

6.3 Experiment Result and Analysis ... 51

6.3.1 Comparison with Other Parallel Algorithms ... 51

6.3.2 Different Numbers of Machines ... 54

6.3.3 Different Sizes of Voting ... 56

6.3.4 Result Analysis ... 57

6.4 Summary ... 57

Chapter 7 Conclusions and Future Work ... 58

7.1 Conclusions ... 58

7.2 Future Work ... 58

References ... 60

Papers Published During Postgraduate ... 63

Acknowledgements ... 64

厦门大学博硕士论文摘要库

(13)

第一章绪论 1

第一章绪论

1.1

研究背景和意义

1.1.1 机器学习的研究意义 机器学习(Machine Learning)是人工智能的一个重要分支。简单来说,机器学 习是从已有的数据中学习,去发现和归纳数据的模型,并对新的数据进行预测。 机器学习可以分为三大类,监督式机器学习(Supervised Machine Learning),无监

督机器学习(Unsupervised Machine Learning)和半监督机器学习(Semi- Supervised Machine Learning)。监督式机器学习和无监督机器学习的主要区别在于使用的数 据,通常来说,监督式机器学习的数据带有学习的目标(Label),而无监督机器学 习的数据没有学习的目标。半监督机器学习使用混合的数据,部分数据带有目标, 减少人工标定数据的时间[1-5]。本文研究的 GBDT模型属于监督式机器学习。机 器学习在学术界一直是个热门的研究问题[1],是研究人工智能的一个重要途径, 并且可以用来解决很多实际生活中的问题,如广告点击率预测[6],搜索排序[7] 推荐系统[8]等等。随着大数据时代的来临,有了更多更丰富的数据,机器学习也 变得越来越有用武之地,因为可以从更大的数据中学习到更多有用的东西。但大 数据也给机器学习带了更多的挑战,这也是本文着重研究的内容。 1.1.2 GBDT简介及发展前景

GBDT(Gradient Boosting Decision Tree) 是一个应用广泛,效果好的监督式机

器学习模型。它于2001年由Friedman提出[9,10],由决策树学习(Decision Tree Learning)[12]和梯度提升(Gradient Boosting)[11]组合而成。决策树学习是一种简单

但是有效的机器学习模型。它的主要思想是利用树的结构对数据进行分类,它认 为在相同节点上的数据属于同一类。决策树学习算法通过递归的方式,不断地对 数据进行分割。在每一次分割,都会找到一个最优的分割点,让分割后的两个(或 多个)子节点上面的数据尽量相似,以此得到降低误差的效果。梯度提升是一种 机器学习迭代框架,属于提升算法(boosting)的一种。提升算法是一种基于迭代的 机器学习算法,它会在每一次迭代前都会放大当前模型的误差,并让每次迭代去 把这个误差弥补回来,让误差随着迭代而不断降低。梯度提升是提升算法的一种, 它主要通过更改学习的目标来得到误差放大的效果,而更改学习目标则通过梯度

厦门大学博硕士论文摘要库

(14)

梯度提升决策树(GBDT)并行学习算法研究 2 下降的方法。 GBDT在分类,回归等各种机器学习任务,都具有非常好的效果[9]。它也在 实践中被证明是一个很高效的模型,被广泛应用于搜索排序[7],广告点击率预 测[12]等等,给工业界带来了巨大的效果提升和收益。在很多机器学习相关的竞 赛中,很多队伍也用GBDT获得优越的成绩[13]。并且GBDT在效果好的同时,不 像其他机器学习模型,如神经网络[14],支持向量机[15],需要复杂的参数调试。 简而言之,GBDT是一个效果好,方便使用的机器学习模型。 GBDT具有如下的优点:  不需要复杂的超参数(hyper-parameter)。GBDT仅需要设置树的个数,每 个树的深度,学习速度。  不要太多的参数调试(parameter-tune)。GBDT对参数不敏感,只要树的深 度设置合理,迭代的次数足够,都有不错的效果。  学习能力强,效果好。无论是工业实践,还是业界比赛,都证明了GBDT 是一个效果非常的好的模型  模型可以被人理解。GBDT学习到的模型是一系列的决策树,而决策树 是一种很容易被理解的模型。 也正是因为这些优点,让GBDT被广泛应用于工业界,成为业界一个广泛使用的 机器学习工具。 1.1.3并行算法的必要性 随着互联网时代的来临,智能设备的普及,以及硬件设备的计算能力不断提 升,越来越多的数据可以被收集和利用,并且这些大量的数据里面也包含了更多 的信息。如果机器学习可以从这样多的数据中学习,那将会带来更多的效果提升, 但更多的数据也带来了更多的挑战[16-19]。主要存在的问题有两个,学习速度和内 存限制。几乎所有机器学习算法的学习时间都和数据数量正相关,更多的数据会 让学习时间变得更久。另外,有些机器学习算法需要把数据全部加载到内存后才 能学习,这种算法也成为中心化算法。当数据大到放不进单个机器的内存的时候, 单个机器也就无法完成学习。本文所研究的 GBDT 也是中心化算法,在大数据 的情况下,单个机器是没办法训练的。 因此,随着大数据时代的来临,单个机器已经无法满足机器学习的要求,这 需要对并行机器学习算法进行研究。然而,由于机器学习算法的多样性和丰富性,

厦门大学博硕士论文摘要库

(15)

第一章绪论 3 无法找到一个可以让现有机器学习方法直接并行的算法。这需要单独根据不同的 机器学习算法的特点而设计不同的并行算法。 本文所研究的是有关 GBDT 的并行算法。GBDT 是一个在业界被广泛使用 的机器学习模型,对它的并行化可以提高学习速度。并且有了并行算法之后, GBDT 可以被用来学习更多的数据,从而得到更大的效果提升。但 GBDT 本身 学习速度就比较慢,而且是个中心化算法,需要把所有数据都加载在内存中才能 学习。因此对GBDT的并行算法研究具有很大的价值和挑战。 1.1.4本文主要研究方向和目标 本文主要研究GBDT 的并行算法,解决在大数据场景下GBDT学习算法会遇到 的各种问题。本文会先介绍GBDT算法和现有的 GBDT并行算法,并分析它们 的优缺点。然后基于分析的结论,对 GBDT 并行算法进行优化,提出更高效的 并行算法,并通过实验对比本文提出的算法和现有的并行算法的。本文的目标是 对GBDT的并行算法进行细致总结,在此基础上提出更高效的优化算法。

1.2

论文组织结构

论文分为七章,论文首先分析了 GBDT 的背景和研究意义,同时分析了对 GBDT 并行的必要性,引出了本文的研究内容。紧接着本文简要介绍了 GBDT 的算法和理论基础,然后详细介绍了现有的 GBDT 并行算法,并分析了他们的 优缺点。基于这些结论,本文提出了对 GBDT 并行算法的优化,然后给出了详 细的算法。最后通过实验,详细比较了本文提出的算法和现有的并行算法。论文 结构安排如下: 第一章介绍研究GBDT的背景和意义,同时强调了GBDT并行的必要性。 第二章简要介绍了监督式机器学习的要素,并定义了本文需要用到的符号。 第三章介绍并详细描述了决策树学习算法。 第四章介绍并详细描述了 Boosting 框架和 GBDT 算法,并介绍了现有的 GBDT并行算法并分析他们的优缺点。 第五章详细描述了本文提出的基于选举的GBDT并行算法。 第六章设置了实验,详细对比了本文提出的并行算法和其他现有的并行算法。 第七章总结了本文研究的内容,并提出未来的工作方向。

厦门大学博硕士论文摘要库

(16)

梯度提升决策树(GBDT)并行学习算法研究

4

第二章监督式机器学习

2.1

监督式机器学习简介

监督式机器学习(Supervised Machine Learning)是机器学习的一种。所谓的监

督式机器学习,就是在学习的时候有正确的参照目标,就像学生做练习题的时候 知道参考答案一样。这样的话,就可以根据正确的目标不断调整自己学习的结果, 从而不断提高学习的效果。监督式机器学习最大的特点就是使用的学习数据带有 学习的目标(Label)。不同的任务会有不同的学习目标,但这些目标基本可以分为 两大类,分类(Classification)和回归(Regression)。分类和回归主要的区别是分类 使用的目标一般是离散型的,而回归的目标是连续的浮点型[1]

监督式机器学习包括数据(Data),模型(Model),损失函数(Loss Function)和

优化方法(Optimization Method)[1]。数据是基础,机器学习就是从数据中学习规律

和模式。模型是用来拟合数据的,得到数据隐含的规律和模式。学到的模型用来 对未知的数据进行预测。常见的模型有神经网络,线性模型等等。损失函数用来 衡量学习到的模型和数据的差异,一般要让这个差异尽量小,让模型尽可能可以 代表全部的数据。常见的损失函数有均方差(Square Loss),交叉熵(Cross Entropy Error)等等。优化方法和损失函数一般不可分离,它表示了应该用怎样的方法去 让得到更小的损失函数,常见的优化算法有梯度下降法(Gradient Descent),牛顿 迭代法(Newton's method)等等[20]。在下一个小节,本文会给出更具体和形式化的 定义。

2.2

符号定义

因为后面的章节会有一些理论推导,需要用到比较多的符号和定义,所以在 这里会对常见的一些符号给出标准的定义,方便后面的章节使用。在定义这些符 号的同时,也会对监督式机器学习进行更深入具体地介绍。 首先,对于学习的数据,都会包含属性(Attribute)和目标。属性也称为特征 (Feature),表示的是这一条数据的独特之处,而目标就是学习的目标。举一个简 单的例子,比如房价的预测,可以用大小,楼层,地段,城市等等作为属性,然 后目标就是真实的房价。每一条学习数据可以当成是一个行向量:[𝑥, 𝑦],其中 𝑥 = 𝑥1, 𝑥2, … , 𝑥𝑚 ,表示的是这一条学习数据包含了𝑚个属性,而𝑦则是目标。

厦门大学博硕士论文摘要库

(17)

Degree papers are in the “Xiamen University Electronic Theses and Dissertations Database”.

Fulltexts are available in the following ways:

1. If your library is a CALIS member libraries, please log on

http://etd.calis.edu.cn/ and submit requests online, or consult the interlibrary loan department in your library.

2. For users of non-CALIS member libraries, please mail to [email protected]

for delivery details.

References

Related documents

Panels A, B, and C report the total effect of financial opening on current account balances, national saving, and investment, respectively, for emerging market countries, and Panel

By the time the Griffiths and Marion Jones returned to Australia in 1920 there were 16 village schools in the Western Solomon Islands with a combined total of approximately

During grass cutting activities on the airfield, egrets are normally in the vicinity of the grass cutter. As far as practicable, Aerodrome/Approach Control will inform pilots of

This conveys that the large majority of ART-naïve, HIV-positive MSM on cART and living in Canada are quickly and successfully achieving virologic suppression following

Among experience sampling studies that have examined different types of activities, investigators have found that, compared to healthy controls, people with MDD report elevated

Abstract - To determine habitat characteristics that infl uence Sciurus niger (Eastern Fox Squirrel) abundance and distribution within a suburban/urban landscape in the

As for seedling leaves, the nutritive status of the explant leaves was characterised by Na and Cl accumulations and K decreasing with salt concentration (Table 6). Then,

The Region of Waterloo and City of Guelph worked in partnership to develop a protocol and test facility to measure the performance of residential ion exchange