本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
GBDT全称为(Gradient Boosting Decision Tree) 梯度提升树,是集成方法中的一个经典方法,
本系列文章以sklearn的GBDT算法包为参考,解读算法原理,
并在《GBDT-自实现代码》一文中,使用本文的算法流程,复现sklearn的GBDT算法包的结果
本节简单介绍GBDT是什么,通过本节简单对GBDT有个初步概念
GBDT模型简介
GBDT解决什么问题
GBDT全称为(Gradient Boosting Decision Tree) 梯度提升树,
GBDT是集成方法中的一个经典方法,它用于解决是二分类问题, 且类标取值: {0,1}
这是指理论上它是解决{0,1}类标问题,
实际应用中并无类标要求,因为任何类标问题都可以转化成{0,1}分类问题
GBDT模型思想
GBDT算法通过逐棵树训练的方式,训练多棵决策树(弱回归树),
最终将多棵弱回归树组成一个群体进行综合决策,
GBDT与Adboost算法相似,采用boosting的方式,
即每棵树的添加,都是以前面的结果为基础,逐棵树添加,使整体决策能力进一步提升
GBDT的模型表达式
GBDT的模型表达式如下
其中, 是 回归决策树 ,是学习率
为方便讨论,下面笔者称p为GBDT的最终预测值,g为树预测值
✍️老饼解说:从模型的表达式可知,GBDT模型由多个回归树组成,
所有回归树的预测值乘以学习率lr后,加上阈值,就是树的预测值,
最后通过sigmod函数转换,输出预测概率
由于GBDT与Adboost,随机森林有较多相似之处
本节通过一些对比来认识GBDT与它们的区别
GBDT与Adboost、随机森林的辨识
GBDT与Adboost、随机森林看起来很相似,但在细节上实际又很不同
GBDT与Adboost、随机森林的一些异同之处
1.同样是集成多个模型进行决策,但GBDT集成的是回归决策树
随机森林集成的是分类决策树
Adboost没有限制一定是决策树,只是常用的是决策树
2.GBDT在综合树的结果之后,会将树的决策结果进行sigmoid转换
而随机森林、Adboost只是将模型简单集成
3.同样采用boosting的思路,逐棵树逐棵树地训练
GBDT在训练的思路上借用了梯度信息,详情见下文
事实上,上述只是一部分的异同,在细节上还能找出更多差异,
但GBDT最大的特色其实是在它的训练方式上,它训练时借鉴了梯度的信息
这点从它的名字--(Gradient Boosting Decision Tree) 梯度提升树上就可以知道
End