机器学习(西瓜书)注解:第8章 集成学习

机器学习(西瓜书)注解:第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时进行了一些细节上的改进和扩展。

        各种概念之间的包含关系如下图所示:

机器学习(西瓜书)注解:第8章 集成学习

        以上仅为个人的初步理解,可能有误,勿被误导^_^

(网盘链接: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