RF(随机森林)与GBDT之间的区别与联系
相同点:
1.都是由多棵树组成,最终的结果都是由多棵树一起决定。
2.RF和GBDT在使用CART树时,可以是分类树或者回归树。
不同点:
1.组成随机森林的树可以并行生成,而GBDT是串行生成
2.随机森林的结果是多数表决表决的,而GBDT则是多棵树累加之和
3.随机森林对异常值不敏感,而GBDT对异常值比较敏感
4.随机森林是减少模型的方差,而GBDT是减少模型的偏差
5.随机森林不需要进行特征归一化。而GBDT则需要进行特征归一化
GBDT与xgboost的区别
xgboost是在GBDT的基础上发展而来的。
其相对GBDT而言,速度更高,效率更快。
xgboost相对于GBDT的优化具体表现在:
1.对缺失值的处理:GBDT是手动填充缺失值,而xgboost可以通过对缺失值的特殊处理,忽略缺失值对模型的影响。具体表现在:先不处理缺失的样本,采用有值的样本搞出分裂点,在遍历分裂点时,尝试将缺失值划入左子树或右子树,选择损失最优的情况。
2.xgboost引入了衰减因子(相当于加了一个学习率),因此可以减少加进来的树对原模型的影响,树的数量也会更多
3.在GBDT的基础上加了正则项,进一步约束了树的子节点的权重。
4.增加了随机森林常用的col subample策略,使用二阶泰勒展开去拟合损失函数,加快了优化的效率。
5.使用估计分裂点算法,不需要遍历所有的分裂点,提高了效率。
参考文献:
https://zhuanlan.zhihu.com/p/86816771
https://www.cnblogs.com/zongfa/p/9324684.html
随机森林和GBDT