xgboost 正则项_XGBoost基本原理

本文深入探讨了XGBoost相对于GBDT的改进,主要在于目标函数的泰勒展开项以及正则化项。XGBoost通过引入二次泰勒展开和树的复杂度正则化项,实现了更快的拟合速度和更优的模型性能。解释了正则化项的作用是防止过拟合,优化过程中目标函数加入变量平方项促使优化器选择更简洁的树结构。同时,文章介绍了单棵决策树的生成过程,包括贪婪算法的选择策略和分裂增益的计算方法。
摘要由CSDN通过智能技术生成

XGBoost的实现,我觉得主要还是在于对GBDT的改良上。对于GBDT还是不太熟悉的朋友,请看我这一篇文章《GBDT》。我个人认为这两者区别主要还是在于细节上,理解了GBDT我认为就差不多等于理解了XGBoost。

我重点比较一下XGBoost与GBDT两种算法的不同:

XGBoost的目标函数与GBDT存在泰勒展开项的不同:

最基本的差距就在于XGBoost比GBDT多了两项泰勒展开式。具体这个泰勒展开式是怎么得到的,是对于什么展开的呢?我们看:

XGBoost算法可以看成是由K棵树组成的加法模型:

XGBoost加法模型

其中F为所有树组成的函数空间(这里的回归树也就是一个分段函数,不同分段的不同取值就构成了一颗树),与一般机器学习算法不同的是,加法模型不是学习d维空间的权重,而是直接学习决策树的集合。

上述加法模型的目标函数定义为:

目标函数

其中Ω表示决策树的复杂度,那么该如何定义树的复杂度呢?比如,可以考虑树的节点数量、树的深度或者叶子节点所对应的分数的L2范数等等。

如何来学习加法模型呢?

解这一优化问题,可以用前向分布算法(forward stagewise algorithm)。有了之前GBDT的基础,我们知道,加法模型的学习器每次都用函数来拟合上一棵树没有拟合完整的残差,最后将这些残差全部加起来就会得到对于目标完整的预测,这也叫做Boosting。具体地,我们从一个常量预测开始&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值