请在 下方输入 要搜索的题目:

GBDT和XGBoost的区别

GBDT和XGBoost的区别

发布时间:2025-10-27 22:23:15
推荐参考答案 ( 由 题搜搜 官方老师解答 )
答案:

1)基分类器:传统的GBDT采用CART作为基分类器,XGBoost支持多种类型的基分类器,比如线性分类器。

2)二阶导数:GBDT在模型训练时只使用了代价函数的一阶导数信息,XGBoost对代价函数进行二阶泰勒展开,可以同时使用一阶和二阶导数。

3)正则项:在使用CART作为基分类器时,XGBoost显式地加入了正则项来控制模型的复杂度,有利于防止过拟合,从而提高模型的泛化能力。

5011cc7eb458b967198cbf713cd4e082

4)列采样:传统的GBDT在每轮迭代时使用全部的数据,XGBoost则采用了与随机森林相似的策略,支持对数据进行采样,支持列抽样,不仅能降低过拟合,还能减少计算,这也是xgboost异于传统gbdt的一个特性。

5)缺失值处理:传统的GBDT没有设计对缺失值进行处理,XGBoost可以为缺失值或者特定值指定分支的默认方向,对特征值有缺失的样本可以自动学习出他的分裂方向。

6)并行化:XGBoost支持并行,可以在特征粒度上并行,在训练前对特征进行分块排序,在寻找最佳分裂点的时候可以并行化计算,大大提升速度。

7)Shrinkage(缩减):相当于学习速率(xgboost中的eta)。xgboost在进行完一次迭代后,会将叶子节点的权重乘上该系数,主要是为了削弱每棵树的影响,让后面有更大的学习空间。实际应用中,一般把eta设置得小一点,然后迭代次数设置得大一点。(补充:传统GBDT的实现也有学习速率)

登录 - 搜搜题库网
立即注册
注册 - 搜搜题库网
立即登录