【机器学习】集成学习各方法优缺点特征总结

随机森林

优点

  1. 具有极高的准确率
  2. 随机性的引入,使得随机森林不容易过拟合,有很好的抗噪声能力,对异常点离群点不敏感
  3. 能处理很高维度的数据,并且不用做特征选择
  4. 既能处理离散型数据,也能处理连续型数据,数据集无需规范化(归一化)
  5. 实现简单,训练速度快,可以得到变量重要性排序(计算每个特征在分裂时被选到的次数或者某个特征不纯度平均下降了多少)
  6. 容易实现并行化
  7. 在创建随机森林的时候,对generlization error使用的是无偏估计,不需要额外的验证集

缺点

  1. 随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟合 
  2. 对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的。
  3. 随机森林模型还有许多不好解释的地方,有点算个黑盒模型

Adaboost

优点

  1. 用于二分类或多分类的应用场景
  2. 在Adaboost的框架下,可以使用各种回归分类模型来构建弱学习器,非常灵活。
  3. 无脑化,简单,不会overfitting,不用调分类器
  4. 不需要归一化
  5. 泛化错误率低,精度高,可应用在大部分分类器上,无需调整参数 
  6. 用于特征选择(feature selection)

缺点

  1. AdaBoost迭代次数也就是弱分类器数目不太好设定,可以使用交叉验证来进行确定。
  2. 数据不平衡导致分类精度下降。
  3. 训练比较耗时,每次重新选择当前分类器最好切分点。
  4. 对离群点敏感,在Adaboost训练过程中,Adaboost会使得难于分类样本的权值呈指数增长,训练将会过于偏向这类困难的样本,导致Adaboost算法易受噪声干扰

GBDT

优点

  1. 可以灵活处理各种类型的数据,包括连续值和离散值。

  2. 在相对少的调参时间情况下,预测的准备率也可以比较高。这个是相对SVM来说的。

  3. 使用一些健壮的损失函数,对异常值的鲁棒性非常强。比如 Huber损失函数和Quantile损失函数。

  4. 不需要归一化。树模型都不需要,梯度下降算法才需要,

  5. 基分类器的叶子节点个数J选在[4,8]区间内较好,太小,需要太多的迭代次数。太大又容易过拟合。

缺点

  1. 由于弱学习器之间存在依赖关系,难以并行训练数据。不过可以通过子采样的SGBT来达到部分并行
  2. 不适合高维稀疏特征

 

处理高维稀疏特征的时候LR效果比GBDT好?

答案转载自知乎https://www.zhihu.com/question/35821566

【机器学习】集成学习各方法优缺点特征总结_第1张图片

知乎里还有几个答案解释了如果利用gbdt,lr,fm等多模型的结合方法去训练样本。

 

GBDT如何构建新的特征(GBDT能够产生高维稀疏特征,然后放到LR离去)

转https://blog.csdn.net/luanpeng825485697/article/details/80150594

【机器学习】集成学习各方法优缺点特征总结_第2张图片

注意是路径,对于每一个不同的叶子节点,都会有不同的特征路径,比如说第一个是年龄大于20还是小于等于20,第二是性别巴拉巴拉

你可能感兴趣的:(机器学习)