【机器学习】常用集成算法介绍

Ensemble learning

目的:让机器学习效果更好,单个不行,群殴走起

Bagging: 训练多个分类器取平均

【机器学习】常用集成算法介绍

  • Bagging模型
    全称: bootstrap aggregation(说白了就是并行训练一堆分类器)
    最典型的代表就是随机森林
  • 随机:数据采样随机,特征选择随机 (由于二重随机性,使得每个树基本上都不会一样,最终的结果也会不一样,之所以要进行随机,是要保证泛化能力,如果树都一样,那就没意义了)
  • 森林:很多个决策树并行放在一起

【机器学习】常用集成算法介绍
理论上越多的树效果会越好,但实际上基本超过一定数量就差不多上下浮动了
【机器学习】常用集成算法介绍

随机森林优势:

  • 它能够处理很高维度(feature很多)的数据,并且不用做特征选择

  • 在训练完后,它能够给出哪些feature比较重要

  • 容易做成并行化方法,速度比较快

  • 可以进行可视化展示,便于分析
    【机器学习】常用集成算法介绍

Boosting:从弱学习器开始加强,通过加权来进行训练

【机器学习】常用集成算法介绍

(加入一棵树,要比原来强)

典型代表:AdaBoost, Xgboost
Adaboost会根据前一次的分类效果调整数据权重

  • 解释:如果某一个数据在这次分错了,那么在下一次我就会给它更大的权重
  • 最终的结果:每个分类器根据自身的准确性来确定各自的权重,再合体

Stacking:聚合多个分类或回归模型(可以分阶段来做)

Stacking模型
堆叠:很暴力,拿来一堆直接上(各种分类器都来了)

  • 可以堆叠各种各样的分类器(KNN,SVM,RF等等)
  • 分阶段:第一阶段得出各自结果,第二阶段再用前一阶段结果训练
  • 为了刷结果,不择手段