美文网首页
【理论篇】Boosting 集成和 Stacking 集成

【理论篇】Boosting 集成和 Stacking 集成

作者: 山药鱼儿 | 来源:发表于2022-01-16 08:09 被阅读0次

小鱼的上一篇连载介绍了集成算法中的 Bagging 模型,即并行地训练多个分类器取平均,并介绍了 Bagging 模型的典型代表随机森林~

本节,我们再来学习两种集成算法:Boosting 提升模型以及 Stacking 堆叠模型。

Boosting 提升模型

Boosting 提升模型核心为:从弱学习器开始加强,通过加权来进行训练。对比 Bagging 可以发现,Boosting 提升模型为串行算法,通过串行的方式,不断在弱学习器的基础上串联模型,从而提升模型的准确率。

注:Boosting 提升模型无法并行训练模型,必须训练完一个,根据前一个模型的结果,训练接下来的模型。

举个例子:假设我们使用决策树训练一个模型,来预测银行贷款的额度。

首先,经过决策树 A 的预测,预测结果为 950 万,其真实值为 1000 万,残差为 50 万;那么接下来,我们需要训练决策树 B ,决策树 B 此时只需要解决残差的部分就好了,即决策树 B 预测的目标变为残差 50 万。

接下来,假设经过决策树 B 的预测,输出值为 30 万,与残差 50 万相比,误差为 20 万。然后,再串联决策树 C ,决策树 C 预测的结果为 19 万,与残差 1000万 - 950万 - 30万 = 20万 的误差缩小到了 1 万。

最后,将 3 个决策树的结果相加,即:950 万 + 30 万 + 19 万 = 999 万,为 Boosting 模型最终的预测结果。

Boosting 提升模型的典型代表是:AdaBoostXgboost 算法。其中 Xgboost 算法的思想和上述小鱼介绍的残差树非常像,可以不断地将模型提升,因此 Xgboost 集成算法最终的效果会非常强。小鱼在后续会单独出一篇文章介绍 Xgboost 集成算法,此处就不做过多介绍了。

下面,我们来看 Boosting 提升模型的典型代表之一:AdaBoostAdaBoost 会根据前一次的分类效果调整数据权重。如果某一个数据在这次分错了,那么下次就会给它安排更大的权重。更大的权重意味着下一棵树会更重视这条数据,尽全力把它预测对。

那最终的结果怎么确定呢?每个模型在预测后,计算各自的准确性,准确性越高的模型我们认为越好,越可靠,那么也就希望该模型在最终的结果中出力更多。因此,在计算最终结果时,我们会为准确性更高的模型赋予更高的权重,再合体。

AdaBoost 工作流程:

AdaBoost 分类器相当于每一次切一刀,最终合在一起,实现弱分类器的提升。

Stacking 堆叠模型

Stacking 堆叠模型可以堆叠各种各样的分类器,如KNN、SVM、RF、LR、DT、Xgboost等等。训练过程分两个阶段走:

  • 训练多种模型,得出各自结果;
  • 使用第一阶段的预测结果,作为训练集数据,开始第二阶段的训练,并得到最终结果。

例如:第一阶段,我们堆叠了 RF、LR、DT、Xgboost 来预测分类任务,训练集共包含 5 个样本,经过第一阶段的预测后,各类模型的预测结果如下:

那么,在第二阶段,就可以以上表中的数据作为输入特征,可以使用 LR 再建立一个分类器,预测出最终结果。

注:Stacking 堆叠模型结合了各类模型的预测结果,可以在一定层度上防止过拟合。不过,模型堆叠在一起虽然使得准确率提升,但却带来了速度的牺牲。

Stacking 工作流程:

将以上模型堆叠后的结果:

相关文章

  • 【理论篇】Boosting 集成和 Stacking 集成

    小鱼的上一篇连载介绍了集成算法中的 Bagging 模型,即并行地训练多个分类器取平均,并介绍了 Bagging ...

  • 机器学习-集成学习

    outline 集成学习 Boosting Bagging 随机森林 结合策略 Stacking 集成学习(ens...

  • CV-模型集成

    集成学习方法 集成学习能够提高预测精度,常见的集成学习方法有stacking、bagging和boosting,同...

  • Ensemble

    集成学习(ensemble learning):Stacking,boosting,bagging(bootstr...

  • 集成学习方法(组合分类器)

    1. 引言   典型的集成学习方法有bagging, boosting以及随机森林,stacking也是一种集成学...

  • 集成学习--bagging、boosting、stacking

    集成学习(ensemble learning) 通过构建并结合多个学习器来完成学习任务。 如何产生“好而不同”的个...

  • 集成学习(4)boosting代表——gradient boos

    1 从boosting到gradient boosting (1)原理 从上一篇集成学习(3)boosting代表...

  • GBDT

    GBDT 是一种 Boosting算法,Boosting是集成算法的一种。 首先我们需要知道什么是集成学习?集成学...

  • Stacking 集成

    上半部分是用一个基础模型进行5折交叉验证,如:用XGBoost作为基础模型Model1。假设我们整个Trainin...

  • 【百面机器学习】集成学习

    1、集成学习的种类 (1)集成学习分哪几种?它们有何异同? 1)Boosting Boosting方法训练基分类器...

网友评论

      本文标题:【理论篇】Boosting 集成和 Stacking 集成

      本文链接:https://www.haomeiwen.com/subject/pgmthrtx.html