一、随机森林RF与GBDT的区别
- 二者的共同点
・ 都是由多棵树组成;
・ 最终的结果都由多棵树共同决定;
・ 生成样本集的时候都使用了boostrap; - 二者的不同点
・ 组成RF的可以是分类树也可以是回归树,但组成GBDT的只能是回归树;
・ RF可以并行,GBDT只能串行;
・ 对于输出结果,RF使用多数表决或简单平均,GBDT使用结果累加或加权平均RF对异常值不敏感,GBDT对异常值敏感(一个注重方差一个注重偏差)方差和偏差的平衡技术
・ RF注重减小模型方差来提高性能,GBDT通过减小模型偏差来提高性能RF不需要数据预处理,GBDT需要进行特征归一化(由于权重的问题)(待复查)
二、GBDT vs XGBOOST
- 二者的共同点
・ XGBOOST作为GBDT应用层面的算法,基本构建在GB的思想上,在此就不讨论共同点了(太多了)
・ 但我们要知道一点:GBDT系算法在到XGBOOST为止,在生成决策树的时候是要求先对特征进行排序,再选出最显著的特征作为叶子结点进行分类的,这种特征选择方法为精确遍历,这一点在lightGRM上得到了改进。 - 二者的不同点(XGBOOST的改进)
・ 在优化上,GBDT只用了一阶泰勒展开,XGBOOST用了二阶泰勒展开・
・ XGBOOST在损失函数中加入了正则项来控制过拟合:内含叶子结点个数、L2范式来代替剪枝
・ XGBOOST还使用shrinkage和列抽样来控制过拟合并实现并行加速XGBOOST的结点分裂处使用的是结构打分和分割损失动态生长而不是GBDT中回归树的误差平方和
・ XGBOOST分裂结点使用了可并行的近似直方图算法
・ XGBOOST可以处理稀疏数据和缺失数据
・ XGBOOST支持并行化处理
・ GBDT的基分类器是CART树,而XGBOOST可以是CART树和线性分类器,若以线性分类器作为基分类的话,XGBOOST相当于带L1、L2正则项的logistic回归(分类问题)、线性回归(回归问题)
链接:https://zhuanlan.zhihu.com/p/61842339
文章来源: https://blog.csdn.net/weixin_36103474/article/details/89500702