随机森林、GBDT和xgboost

一、随机森林RF(决策树 + bagging)
1、两个随机性:每棵树所分配的训练样本是基于bagging相同权重随机抽样获得,树中每个节点的分裂属性集合也是随机选择的。
2、优点:适合处理高纬度数据-不用做特征选择,数据集适应能力强-连续、离散型数据都能处理,无需规范化,模型泛化能力强-对generlization error使用的是无偏估。
3、缺点:不适用小量数据集和低维数据集,执行速度比 Boosting快,但比单个的决策树慢很多,淹没了差异度较小的树;
4、参数:特征数K,K越大树之间的相关性越强;决策树数量M,M越大模型计算量越大。

二、梯度下降树GBDT(决策树+boosting)
1、Bagging的基学习器并行,不存在强依赖关系;Boosting的基学习器串行,每次抽样都会调整训练样本的权重。均是有放回抽样。
2、特点:GBDT每一次计算都是为了减少上一次的残差,基于残差减小的梯度方向进行更新模型;Adaboost,重视那些上一轮被错分的样本,基于样本权值更新。
3、优点:花费较小的调参时间,提升较高的模型准确率;对异常值的鲁棒性非常强-使些健壮的损失函数,如 Huber损失函数和Quantile损失函数。
4、缺点:难以并行化处理,但可以通过子采样的SGBT来实现部分并行。

三、xgboost
1、分类和回归树(如CART回归树)集成。
2、优点:
1)泛化能力优于GBDT,正则化减少过拟合;
2)采用与RF相同特征子采样方法,降低模型的方差,减少计算量;
3)损失函数是用泰勒展开式,同时用到了一阶导和二阶导,可以加快优化速度;
4)对于特征的值有缺失的样本,XGBoost依然能自动找到其要分裂的方向;
5)XGBoost支持特征并行处理,将特征列排序后以block的形式存储在内存中,在后面的迭代中重复使用这个结构。其次在进行节点分裂时,并行计算每个特征的增益,最终选择增益最大的那个特征去做分割。
4、缺点:贪心算法占用内存并且耗时,不如lightGBM的直方图算法复杂度低;对于level-wise生成决策树中,分裂增益较低的叶子节点仍进行下一步分裂会浪费资源,lightGBM循环迭代地选择增益最大的结点进行分裂,并引入阈值进行限制防止过拟合。

四、RF 和 GBDT 的联系和区别

联系:

RF 和 GBDT 都是在决策树上进行改造或者集成完成的。

区别:

随机森林:决策树 + bagging = 随机森林
梯度提升树:决策树 + Boosting = GBDT

RF 和

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值