机器学习树模型对比总结

集成模型对比:RF,adaboost,gbdt,xgboost

1.与LightGBM相比,xgboost明显的不足:

1)xgBoosting采用预排序,在迭代之前,对结点的特征做预排序,遍历选择最优分割点,数据量大时,贪心法耗时,LightGBM方法采用histogram算法,占用的内存低,数据分割的复杂度更低;

2)xgBoosting采用level-wise生成决策树,同时分裂同一层的叶子,从而进行多线程优化,不容易过拟合,但很多叶子节点的分裂增益较低,没必要进行跟进一步的分裂,这就带来了不必要的开销;LightGBM采用深度优化,leaf-wise生长策略,每次从当前叶子中选择增益最大的结点进行分裂,循环迭代,但会生长出更深的决策树,产生过拟合,因此引入了一个阈值进行限制,防止过拟合.

 

2.Adaboost和GBDT的异同点

1)关注点:分错权值,残差

Adaboost每轮学习的一个基本学习器是通过改变样本的权值,关注上轮分类错误的样本的权值,以逐步减少在训练集上的分类误差率。而GBDT每轮学习一个基本学习器是通过改变输出值,每轮拟合的值为真实值与已有的加法模型的差值(即残差)。

2)异常点:adaboost存在异常点敏感的问题,gbdt一定程度上优化了adaboost异常点敏感的问题,但是存在难以并行的缺点

3)树:GBDT无论是进行分类还是回归问题,都用的CART树,对分类问题用二叉分类树,回归问题用二叉回归树。

4)方差偏差:两者的目标都是优化bias,必然导致训练出来的数据var的不稳定

 

3.RF和GBDT对比

相同点:1.都是由多棵树组成;2.最终的结果都是由多棵树一起决定;

不同点: 1)基于bagging思想,而gbdt是boosting思想,即采样方式不同

2)RF可以并行生成,而GBDT只能是串行;

3)输出结果,RF采用多数投票,GBDT将所有结果累加起来;

4)RF对异常值不敏感,GBDT敏感,RF减少方差,GBDT减少偏差;

 

4.GBDT和LR

从决策边界来说,线性回归的决策边界是一条直线,LR的决策边界是一条曲线,而GBDT的决策边界可能是很多条线。GBDT并不一定总是好于线性回归或LR。根据奥卡姆剃刀原则,如果GBDT和线性回归或逻辑回归在某个问题上表现接近,那么我们应该选择相对比较简单的线性回归或逻辑回归。具体选择哪一个算法还是要根据实际问题来决定。

 

5.GBDT和RF哪个容易过拟合?

RF,因为随机森林的决策树尝试拟合数据集,有潜在的过拟合风险,而boosting的GBDT的决策树则是拟合数据集的残差,然后更新残差,由新的决策树再去拟合新的残差,虽然慢,但是难以过拟合。

 

6.AdaBoost等几种基本机器学习算法哪个抗噪能力最强,哪个对重采样不敏感?

AdaBoost对异常值敏感

k-means对异常值敏感

你可能感兴趣的:(机器学习树模型对比总结)