xgboost 和 gbdt的对比

xgboost 是gbdt的具体实现方案之一

1.gbdt的损失函数

1.1 回归损失函数: 均方损失函数、绝对值损失函数、huber损失函数(是均方损失函数 和 绝对值损失函数的折中)、分位数损失函数

1.2 分类损失函数:对数损失函数、指数损失函数

指数损失函数又分:二元分类和 多元分类

2.gbdt的正则化:

2.1 学习率,learning rate 在0到1之间

2.2 采样比例:subsample 取值范围是(0,1], 采样是无放回的采样,一般取值(0.5,0.8).子采样是为了减少过拟合,但是子采样会带来偏差。 

2.3 cart 树剪纸。

3. xgboost 比gbdt 的优势

3.1. 算法本身的优化:gbdt基模型是 CART决策树,xgboost 除了支持CART树之外,还支持线性分类器,可以使用L1和L2配合使用

      gbdt损失函数只对误差部分做了负梯度一阶导数展开,而xgboost 的损失函数增加了二阶导数,泰勒级数展开,这样更加准确。

     用用二阶导数的原因有2个:(1)可以加快收敛 (2)更加准确

3.2.健壮性的优化:对缺失值的处理,gbdt没有对缺失值做处理?xgboost 对缺失值,自动学习出缺失值的处理策略。

3.3.效率的优化:xgboost支持并行处理,这个并行不是在模型上的,而是在特征的并行上。

3.3.1:将特征排序后以block分组的形式存储在内存中,后面的排序会重复使用这个结构,这使得特征并行化成为了可能。

3.3.2:节点分裂的时候,计算每个特征的增益,最终分裂的时候选择增益最大的特征去做分裂。在 计算特征增益的时候,用贪心算法枚举所有的分裂点,会有并行计算。

3.4 最佳特征选取策略不同。GBDT遍历所有特征,XGBoost引入类似于RandomForest的列(特征)子采样,有利于防止过拟合与加速运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值