机器学习(西瓜书)注解:第8章 集成学习
本次更新第8章,集成学习。针对该章注解有任何问题欢迎在此留言~
本章内容整体上看并不复杂,可以看成是作者的英文专著《Ensemble Methods: Foundations and Algorithms》(https://book.douban.com/subject/10494228/,据悉该书中文版即将由电子工业出版社出版)的精简版,但8.2节有关AdaBoost的推导感觉很难吃透,尤其是本节还涉及到如Gradient Boosting、GBDT、XGBoost等概念,因此必须读一些原始文献和其它参考资料方能对此有所理解,下面对这些概念进行一个简单的梳理。
提升(Boosting)是一族可将弱学习提升为强学习器的算法,弱学习器间存在强依赖关系、必须串行生成。这族算法的工作机制类似:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后打着本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。(摘自西瓜书P173)
提升树(Boosting Tree)是以决策树为基学习器的提升方法(i.e., Boosting + Decision Tree)。对分类问题决策树是二叉分类树,对回归问题决策树是二叉回归树。(李航《统计学习方法》第8.4节)
梯度提升(Gradient Boosting)是基于加法模型和前向分步算法一种理论框架,并不限定损失函数,也不限定基分类器的类型(类型包含两层含义:第1层如分类和回归等;第2层如决策树、SVM、神经网络等)。
梯度提升树(GBDT) = Gradient Boosting + Decision Tree (CART),这里CART取为回归树。李航《统计学习方法》第8.4.3节中的算法8.4实际为GBDT算法,与刘建平Pinard博客《梯度提升树(GBDT)原理小结》介绍基本一致,林轩田《机器学习技法》课程第11讲则特指损失函数为平方损失。
特别地,8.2节介绍的AdaBoost(Adaptive Boosting)是当Gradient Boosting中损失函数为指数损失函数、基分类器为二分类(只能取+1和-1两个值)时的特殊形式(i.e., Gradient Boosting + Exponential Loss + Binary base classifier),这里基分类器可以为任何二分类器,如决策树、SVM、神经网络等。当然,西瓜书作者在第190页的阅读材料中提到,这仅是源“统计视角”的一种推导而已,但这派理论产生的推论并不能解释某些现象,因此这可能仅是一个与AdaBoost相似的学习过程而非AdaBoost本身。
当AdaBoost的基分类器为二分类决策树时,也可以称为提升树,“对二类分类问题,提升树算法只需将AdaBoost算法8.1中的基本分类器限制为二类分类树即可,可以说这时的提升树是AdaBoost算法的特殊情况”。但这里与GBDT不一样,因为AdaBoost限定了基分类器为二分类(实际上也可以做回归任务),并不像GBDT里那样,每轮迭代与残差(负梯度)拟合;而且已经提到,GBDT一般特指Gradient Boosting与CART回归树的结合。
XGBoost是GBDT的一个软件包,类似于LIBSVM是SVM的一个软件包。XGBoost在实现GBDT时进行了一些细节上的改进和扩展。
各种概念之间的包含关系如下图所示:
以上仅为个人的初步理解,可能有误,勿被误导^_^
(网盘链接:https://pan.baidu.com/s/1QtEiNnk8jMzmbs0KPBN-_w)
第 8 章目录
第 8 章 集成学习.............................................................................................................................1
8.1 个体与集成........................................................................................................................1
1、式(8.1)的解释.............................................................................................................1
2、式(8.2)的解释.............................................................................................................2
3、式(8.3)的推导.............................................................................................................2
8.2 Boosting ..............................................................................................................................2
1、式(8.4)的解释.............................................................................................................3
2、式(8.5)的解释.............................................................................................................3
3、式(8.6)的推导.............................................................................................................3
4、式(8.7)的推导.............................................................................................................4
5、式(8.8)的推导.............................................................................................................5
6、式(8.9)的推导.............................................................................................................5
7、式(8.12)的推导[?].......................................................................................................6
8、式(8.13)的推导...........................................................................................................6
9、式(8.14)的推导[?].......................................................................................................6
10、式(8.16)的推导 .........................................................................................................7
11、式(8.17)的推导 .........................................................................................................7
12、式(8.18)的推导 .........................................................................................................7
13、式(8.19)的推导 .........................................................................................................8
14、 AdaBoost 的个人推导..............................................................................................8
15、更深一步理解权重更新公式的含义.....................................................................11
16、能够接受带权样本的基学习算法.........................................................................12
8.3 Bagging 与随机森林 ........................................................................................................13
1、 Bagging 算法的解释 ................................................................................................13
2、式(8.20)的解释.........................................................................................................13
3、式(8.21)的推导.........................................................................................................13
4、随机森林的解释.......................................................................................................13
8.4 结合策略..........................................................................................................................14
1、硬投票和软投票的解释...........................................................................................14
2、元学习器(meta-learner)的解释................................................................................14
3、 Stacking 算法的解释................................................................................................14
8.5 多样性..............................................................................................................................14
1、式(8.28)的解释.........................................................................................................14
2、式(8.31)与式(8.28)的等价性推导............................................................................15
3、式(8.32)的解释.........................................................................................................16
4、列联表(contingency table)的解释............................................................................16
5、式(8.40)的解释.........................................................................................................16
6、式(8.41)的解释.........................................................................................................16
7、式(8.42)的解释.........................................................................................................16
8、多样性增强的解释...................................................................................................17
8.6、 GB(Gradient Boosting)/GBDT/XGBoost......................................................................17
1、梯度下降法...............................................................................................................17
2、从梯度下降的角度解释 AdaBoost..........................................................................19
3、梯度提升(Gradient Boosting)...................................................................................21
4、梯度提升树(GBDT) .................................................................................................22
5、 XGBoost....................................................................................................................22
8.7 本章小节..........................................................................................................................23