集成学习:XGBoost(原理篇)

本文解析XGBoost的原理,通过GBDT的拓展介绍目标函数改进,涉及泰勒展开、正则化和树结构优化。通过实例探讨树的复杂度计算与目标函数结合,以及XGBoost在效率和并行处理上的优势。

前言

  • 本文参考众多技术文章,选取个人认为比较易于理解的例子以及数学公式原理来解读集成学习相关的一些算法原理,作为学习笔记。

  • 集成学习文章将会根据算法提出时间的顺序进行依次总结,最主要的是算法原理会越来越复杂,所以个人能力有限可能有些地方考虑不全面或者理解错了,所以总结文章仅供参考。

  • 每篇文章单独介绍时候会尽可能提出更多围绕本篇算法相关的问题,但是实际需要用到才会理解更深,所以不全面的地方还望提出问题,共同进步。

  • XGBoost原理需要在GBDT的基础上去理解才会容易一些,如果GBDT理解的比较深刻那么XGBoost就是在其基础上的一个较为完美的一个优化。

  • 本文只能理解XGBoost是怎么一个流程,是如何实现的,知道是怎么一回事的程度,具体如何实现可以看参考资料有的带实现代码,等XGBoost代码篇会更深入的解释该算法(应该是很久以后了)。

关于XGBoost与GBDT的关系

  • XGBoost(eXtreme Gradient Boosting)极致梯度提升,是基于GBDT的一种算法。

  • XGBoost比GBDT的优化的地方在于一下方面图片

关于XGBoost的优化

  • XGBoost对于目标函数的推导部分优化:XGBoost的目标函数由损失函数和正则化项两部分组成。图片

  • 其实上图中最后一行公式就是表示最终yi的估计就是K棵回归树组成的分类器预测的结果,那么用GBDT表达XGB就是
    y i ^ = ∑ k = 1 M f k ( x i ) = y i ^ ( t − 1 ) + f t ( x i ) (GBDT梯度提升树表达式) \widehat{y_{i}} = \sum_{k=1}^Mf_{k}(x_{i}) = \widehat{y_{i}}^{(t-1)} + f_{t}(x_{i})\tag{GBDT梯度提升树表达式} yi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

矮人三等

秀儿,是你吗秀儿?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值