梯度提升树GBDT原理

浏览: 1902

作者:雪伦_

链接:http://blog.csdn.net/a819825294

image.png

提升方法实际采用加法模型(即基函数的线性组合)与前向分布算法。以决策树为基函数的提升方法称为提升树(boosting tree)。对分类问题决策树是二叉分类树,对回归问题决策树是二叉决策树。提升树模型可以表示为决策树的加法模型:

 

其中,T(x;Sm)表示决策树;Sm为决策树的参数;M为树的个数.

image.png

回归问题提升树使用以下前向分布算法:


在前向分布算法的第m步,给定当前模型,需求解


即第m棵树的参数。当采用平方误差损失函数时,


其中,r=y-fm-1(x)是当前模型拟合数据的残差(residual)。对于平方损失函数,拟合的就是残差;对于一般损失函数(梯度下降),拟合的就是残差的近似值。

image.png

输入:训练数据集


输出:提升树fM(x)

算法流程: 


image.png

非递归建树 

 节点的存放 

image.png

 终止条件 

树的节点数

树的深度

没有适合分割的节点


特征值排序

在对每个节点进行分割的时候,首先需要遍历所有的特征,然后对每个样本的特征的值进行枚举计算。(CART)

 在对单个特征量进行枚举取值之前,我们可以先将该特征量的所有取值进行排序,然后再进行排序。

 优点 

避免计算重复的value值

方便更佳分割值的确定

减少信息的重复计算

多线程/MPI并行化的实现 

 主线程

image.png

其他线程

image.png


推荐 0
本文由 郭昱良 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册