前言(总结本文的原因):
1.之前听闻阿里面试官很喜欢问gbdt,gradient boosting descent tree
2. 统计学课学了boosting和bagging,总搞不清2个单词的区别
一、boosting 参考[1] chap8.1
1. 背景及定义:
在PAC(probably approximately correct)学习框架中,一个概念是强可学习的充要条件是这个概念是弱可学习的。
boosting就是将一个“弱学习算法"提升(boost)为一个”强学习算法"。
提升方法实际采用 加法模型+前向分步算法(详见 二、)
2. 代表:AdaBoost
adaptive boosting--自适应boosting算法,用于分类问题(具体见算法8.1)
3. 实践:[4]的chap7--AdaBoost
二、前向分步算法(forward stagewise algorithm) 参考[1] chap8.3
1. 前向分步算法用于优化加法模型时:学习加法模型时,从前向后,每一步只学习一个基函数及其系数,逐步逼近优化目标。(具体见算法8.2)
加法模型:基函数的线性组合
2. 与AdaBoost算法的关系:AdaBoost算法可看作--模型是加法模型,损失函数是指数函数,学习算法是前向分步算法时的二类分类学习方法。
三、提升树(boosting tree) 参考[1] c