集成学习算法
程序员文章站
2022-03-22 18:04:28
...
集成学习通过建立几个模型来解决单一预测问题
原理: 生成多个学习器或者模型,各自独立地学习和做出预测,这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测
-
机器学习的两个核心人物
如何优化训练数据 主要用于解决欠拟合问题
如何提升泛化性能 主要用于解决过拟合问题
-
集成学习中的Boosting和Bagging
解决欠拟合问题:Boosting
解决过拟合问题:Bagging
-
Bagging
就是在一堆数据中随机抽取不同数据的一部分,然后训练,最终平权
例如下面的过程
实现过程
4. 随机森林构造
随机森林时一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数]
随机森林 = Bagging + 决策树
随机森林够造过程中的关键步骤(M表示特征数目):
1)一次随机选出一个样本,有放回的抽样,重复N次(有可能出现重复的样本)
2) 随机去选出m个特征, m <<M,建立决策
-
Bagging集成的优点
Bagging + 决策树/线性回归/逻辑回归/深度学习… = bagging集成学习方法
1.均可在原有的算法上面提高越2%左右的泛化正确率
2.简单,方便,通用
-
Boostng
随着学习的积累从弱到强的过程
代表算法:Adaboost,GBDT,XGBoost
-
bagging集成与boosting集成的区别:
区别一:数据方面
Bagging:对数据进行采样训练;
Boosting:根据前一轮学习结果调整数据的重要性。
区别二:投票方面
Bagging:所有学习器平权投票;
Boosting:对学习器进行加权投票。
区别三:学习顺序
Bagging的学习是并行的,每个学习器没有依赖关系;
Boosting学习是串行,学习有先后顺序。
区别四:主要作用
Bagging主要用于提高泛化性能(解决过拟合,也可以说降低方差)
Boosting主要用于提高训练精度 (解决欠拟合,也可以说降低偏差)