小白也能看懂的机器学习之集成算法


https://www.toutiao.com/a6727033874586534407/


集成算法的目的是让,让机器学习效果更好,单个不行,群殴走起

有一下集中常见集成学习算法:

Bagging 训练多个分类器取平均


小白也能看懂的机器学习之集成算法


Boosting :从弱学习器开始加强,通过加权来进行训练 ,加入一棵树,要比原来强 。


小白也能看懂的机器学习之集成算法


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

Bagging模型

其全称叫做bootstrap aggregation(说白了就是并行训练一堆分类器) ,最典型的代表就是随机森林啦 ,所谓随机就是数据采样随机,特征选择随机 。森林就是很多个决策树并行放在一起。


小白也能看懂的机器学习之集成算法


随机森林 构造树模型:


小白也能看懂的机器学习之集成算法


由于二重随机性,使得每个树基本上都不会一样,最终的结果也会不一样

Bagging模型 树模型:


小白也能看懂的机器学习之集成算法


之所以要进行随机,是要保证泛化能力,如果树都一样,那就没意义了!

随机森林优势

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

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

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

4、可以进行可视化展示,便于分析


小白也能看懂的机器学习之集成算法


KNN模型:


小白也能看懂的机器学习之集成算法


KNN就不太适合,因为很难去随机让泛化能力变强!

树模型:


小白也能看懂的机器学习之集成算法


理论上越多的树效果会越好,但实际上基本超过一定数量就差不多上下浮动了 。

Boosting模型

典型代表:AdaBoost, Xgboost

Adaboost会根据前一次的分类效果调整数据权重

解释:如果某一个数据在这次分错了,那么在下一次我就会给它更大的权重

最终的结果:每个分类器根据自身的准确性来确定各自的权重,再合体

Adaboost工作流程

每一次切一刀! 最终合在一起 ,弱分类器这就升级了!

Stacking模型

堆叠:很暴力,拿来一堆直接上(各种分类器都来了) ,可以堆叠各种各样的分类器( KNN,SVM,RF等等)

分阶段:第一阶段得出各自结果,第二阶段再用前一阶段结果训练

为了刷结果,不择手段!


小白也能看懂的机器学习之集成算法


堆叠在一起确实能使得准确率提升,但是速度是个问题

集成算法是竞赛与论文神器,当我们更关注于结果时不妨来试试!


请使用浏览器的分享功能分享到微信等