欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

集成学习算法

程序员文章站 2022-03-22 18:04:28
...

集成学习通过建立几个模型来解决单一预测问题

原理: 生成多个学习器或者模型,各自独立地学习和做出预测,这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测

  1. 机器学习的两个核心人物

    如何优化训练数据 主要用于解决欠拟合问题

    如何提升泛化性能 主要用于解决过拟合问题

  2. 集成学习中的Boosting和Bagging

    解决欠拟合问题:Boosting

    解决过拟合问题:Bagging

  3. Bagging

    就是在一堆数据中随机抽取不同数据的一部分,然后训练,最终平权

    例如下面的过程
    集成学习算法
    实现过程
    集成学习算法
    集成学习算法

    集成学习算法

集成学习算法
4. 随机森林构造

随机森林时一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数]

随机森林 = Bagging + 决策树

随机森林够造过程中的关键步骤(M表示特征数目):

1)一次随机选出一个样本,有放回的抽样,重复N次(有可能出现重复的样本)

2) 随机去选出m个特征, m <<M,建立决策
  1. Bagging集成的优点

    Bagging + 决策树/线性回归/逻辑回归/深度学习… = bagging集成学习方法

    1.均可在原有的算法上面提高越2%左右的泛化正确率

    2.简单,方便,通用

  2. Boostng

    随着学习的积累从弱到强的过程

    代表算法:Adaboost,GBDT,XGBoost

  3. bagging集成与boosting集成的区别:

    区别一:数据方面

    Bagging:对数据进行采样训练;

    Boosting:根据前一轮学习结果调整数据的重要性。

    区别二:投票方面

    Bagging:所有学习器平权投票;

    Boosting:对学习器进行加权投票。

    区别三:学习顺序

    Bagging的学习是并行的,每个学习器没有依赖关系;

    Boosting学习是串行,学习有先后顺序。

    区别四:主要作用

    Bagging主要用于提高泛化性能(解决过拟合,也可以说降低方差)

    Boosting主要用于提高训练精度 (解决欠拟合,也可以说降低偏差)
    集成学习算法