GBDT和Xgboost的区别有哪些?

有以下几点区别:

1、GBDT是机器学习算法,XGBoost是该算法的一种工程实现

2、XGBoost在使用CART作为基学习器时,加入了正则项来控制模型的复杂度,有利于防止过拟合,从而提高模型的泛化能力

3、GBDT在模型训练时只使用了损失函数的一阶导数信息,XGBoost对损失函数进行二阶泰勒展开,可以同时使用一阶和二阶导数

4、XGBoost支持自定义损失函数,增强了模型的扩展性

5、传统的GBDT采用CART作为基学习器(也叫基分类器),XGBoost支持多种类型的基学习器,包括树模型(gbtree和dart,dart为一种引入dropout的树模型)和线性模型(gblinear),默认为gbtree

6、传统的GBDT在每轮迭代时使用全部的数据,XGBoost支持对数据进列采样,即特征采样,有利于防止过拟合,同时可以减少计算量,提高训练的效率

7、传统的GBDT不能支持缺失值的处理(必须填充),XGBoost支持缺失值的处理,能够自动学习出缺失值的分裂方向(无需填充)

蓝海大脑为满足深度学习联邦学习GBDT平台用户的需要,经过多年的努力,成功研发出集支持一键式部署;支持多种CPU、GPU多种部署模式;无缝对接对象存储海量训练数据等优点为一体的深度学习平台。

蓝海大脑 京ICP备18017748号-1