集成算法简介

1、集成学习概述

集成学习( E n s e m b l e l e a r n i n g Ensemble learning Ensemblelearning)的目的是让机器学习的的效果更好,一个不行,就多个一起。

常用的有三种方式

  • Bagging:训练多个分类器取平均 f ( x ) = 1 / M ∑ m = 1 M f m ( x ) f(x)=1 / M \sum\limits_{m=1}^{M} f_{m}(x) f(x)=1/Mm=1Mfm(x)

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

    F m ( x ) = F m − 1 ( x ) + argmin ⁡ h ∑ i = 1 n L ( y i , F m − 1 ( x i ) + h ( x i ) ) F_{m}(x)=F_{m-1}(x)+\operatorname{argmin}_{h} \sum\limits_{i=1}^{n} L\left(y_{i}, F_{m-1}\left(x_{i}\right)+h\left(x_{i}\right)\right) Fm(x)=Fm1(x)+argminhi=1nL(yi,Fm1(xi)+h(xi))

    ​ (加入一个模型,要比原来强,例如随机森林就是加入一棵树,要比原来强)

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

2、Bagging模型

全称: b o o t s t r a p bootstrap bootstrap a g g r e g a t i o n aggregation aggregation

就是并行训练一堆分类器

2.1、 R a n d o m Random Random F o r e s t Forest Forest 随机森林模型

在这里插入图片描述

构造树模型

在这里插入图片描述

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

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

随机森林的优势
  • 它能够处理很高维度( f e a t u r e feature feature很多)的数据,并且不用做特征选择
  • 在训练完后,它能够给出哪些 f e a t u r e feature feature比较重要
  • 容易做成并行化方法,速度比较快
  • 可以进行可视化展示,便于分析

2.2、 K N N KNN KNN模型

在这里插入图片描述

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

3、 B o o s t i n g Boosting Boosting模型

3.1、 A d a B o o s t AdaBoost AdaBoost

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

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

在这里插入图片描述

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

3.2、 x g b o o s t xgboost xgboost

X G B o o s t XGBoost XGBoost是陈天奇等人开发的一个开源机器学习项目,高效地实现了 G B D T GBDT GBDT算法并进行了算法和工程上的许多改进,被广泛应用在 K a g g l e Kaggle Kaggle竞赛及其他许多机器学习竞赛中并取得了不错的成绩。

说到 X G B o o s t XGBoost XGBoost,不得不提 G B D T ( G r a d i e n t GBDT(Gradient GBDT(Gradient B o o s t i n g Boosting Boosting D e c i s i o n Decision Decision T r e e ) Tree) Tree)。因为 X G B o o s t XGBoost XGBoost本质上还是一个 G B D T GBDT GBDT,但是力争把速度和效率发挥到极致,所以叫 X ( E x t r e m e ) G B o o s t e d X (Extreme) GBoosted X(Extreme)GBoosted。包括前面说过,两者都是 b o o s t i n g boosting boosting方法。

X G B o o s t XGBoost XGBoost核心算法思想不难,基本就是:

  1. 不断地添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实是学习一个新函数 f ( x ) f(x) f(x),去拟合上次预测的残差。
  2. 当我们训练完成得到k棵树,我们要预测一个样本的分数,其实就是根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数
  3. 最后只需要将每棵树对应的分数加起来就是该样本的预测值。

更多 x g b o o s t xgboost xgboost内容请看终于有人说清楚了–XGBoost算法

4、 S t a c k i n g Stacking Stacking模型

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

可以堆叠各种各样的分类器( K N N , S V M , R F KNN,SVM,RF KNN,SVM,RF等等)

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

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

参考文章

https://www.cnblogs.com/mantch/p/11164221.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值