学习GBDT的过程记录

先提出一些问题

之前读一些博客了解到GBDT的主要原理是去学习上一次学到的树的残差,那么小朋友你是否有许多问号??????首先,残差的具体定义是什么?其次,为什么要去学残差,而不是其他的?最后,学残差效果就会更好吗?为什么会更好呢?先带着这些问题,学几天再来记录下自己是如何找到这些问题的答案的。

XGBoot到底改进了什么?

一、算法层面的改进
1、树的剪枝
树的剪枝是通过替换无用的节点来减少回归树的大小,这些被替换的节点无助于改善叶子的分类。 修剪回归树的想法是为了防止训练数据过拟合。 进行剪枝的最有效方法是“成本复杂性”或“最弱连接剪枝”,该方法使用了均方误差,k倍交叉验证和学习率。 XGBoost会创建最大达到指定的max_depth的节点(也称为拆分),并从后开始修剪直到损失低于阈值。 考虑一个损失为-3的拆分,随后的节点损失为+ 7,XGBoost不会仅通过查看负损失来删除该拆分。 它将计算总损失(-3 + 7
= +4),如果结果为正,则两者都保留。
2、稀疏感知拆分
我们收集的数据为稀疏的(很多缺失或空值)或在执行特征工程后变得稀疏是很常见的。 要了解数据中的稀疏模式,默认方向是将其分配给每棵树。 XGBoost通过将丢失的数据分配给默认方向并找到最佳插补值,以使训练损失最小。 这里的优化是仅访问缺少的值,这些值使算法的运行速度比单纯的方法快50倍。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值