内容简介:GBDT是集成学习中的一员,想要理解梯度提升,必须先理解什么是提升树,想理解提升树要了解什么是提升方法。提升方法本身是采用了加法模型(基函数的线性组合)和前向分步算法,从弱学习算法出发,反复学习,得到一系列弱学习器,然后通过组合弱学习器得到强学习器。当每个弱学习器是CART树的时候,就是提升树。对于回归问题一般采用平方误差作为损失函数,分类问题采用指数损失函数,一般问题用一般的损失函数。每一步生成一棵树,不断优化当前的学习器,用优化后的学习器学习到的值,和每一轮的初始拟合数据计算残差,继续将残差作为下一棵树
GBDT是集成学习中的一员,想要理解梯度提升,必须先理解什么是提升树,想理解提升树要了解什么是提升方法。
提升方法本身是采用了加法模型(基函数的线性组合)和前向分步算法,从弱学习算法出发,反复学习,得到一系列弱学习器,然后通过组合弱学习器得到强学习器。当每个弱学习器是CART树的时候,就是提升树。对于回归问题一般采用平方误差作为损失函数,分类问题采用指数损失函数,一般问题用一般的损失函数。
一、提升树
每一步生成一棵树,不断优化当前的学习器,用优化后的学习器学习到的值,和每一轮的初始拟合数据计算残差,继续将残差作为下一棵树的初始数据进行拟合,每一棵树都是CART回归树,因为每次迭代拟合的目标是残差,是连续值。
回归问题中提升树的生成方法:
那么为什么要用负梯度呢?对于损失函数是平方误差的回归问题,我们可以简单优化,但是对于一般的损失函数用损失函数的负梯度来拟合本轮损失的近似值,利用最速下降法的近似方法来起到和回归问题中的残差近似的效果。
用一个稍微复杂一点点的例子来说明一下,上个例子中只有一个特征,不易理解。要求最大深度为3,树5棵。
调用sklearn跑出来的5棵树如下图,
初始值,f0(x)=1.475
第一棵树:
第二棵树:
第三棵树:
第四棵树:
第五棵树:
详细解答过程:(感谢大神) mp.weixin.qq.com/s/ljC2dYfUz…
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 内核通信之 Netlink 源码分析和实例分析
- 内核通信之 Netlink 源码分析和实例分析
- Redis 实例分析工具
- Golang常量实例分析教程
- 实例分析理解Java字节码
- C++虚函数表实例分析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
颠覆式创新:移动互联网时代的生存法则
李善友 / 机械工业出版社 / 2014-12-1 / 69
为什么把每件事情都做对了,仍有可能错失城池?为什么无人可敌的领先企业,却在一夜之间虎落平阳? 短短三年间诺基亚陨落,摩托罗拉区区29亿美元出售给联想,芯片业霸主英特尔在移动芯片领域份额几乎为零,风光无限的巨头转眼成为被颠覆的恐龙,默默无闻的小公司一战成名迅速崛起,令人瞠目结舌的现象几乎都被“颠覆式创新”法则所解释。颠覆式创新教你在新的商业竞争中“换操作系统”而不是“打补丁”,小公司用破坏性思......一起来看看 《颠覆式创新:移动互联网时代的生存法则》 这本书的介绍吧!