7. 集成学习(Ensemble Learning)Stacking

本文深入探讨了集成学习中的Stacking方法,详细介绍了其工作原理,包括如何通过初级学习器生成次级训练集,以及如何使用次级学习器进一步提升模型性能。Stacking通过在弱学习器基础上叠加算法,实现对多个模型预测结果的有效整合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 集成学习(Ensemble Learning)原理
2. 集成学习(Ensemble Learning)Bagging
3. 集成学习(Ensemble Learning)随机森林(Random Forest)
4. 集成学习(Ensemble Learning)Adaboost
5. 集成学习(Ensemble Learning)GBDT
6. 集成学习(Ensemble Learning)算法比较
7. 集成学习(Ensemble Learning)Stacking

1. 前言

到现在为止我们还剩一种集成学习的算法还没有涉及到,那就是Stacking。Stacking是一个与Bagging和Boosting都不一样的算法。它的主要突破点在如何集成之前的所有算法的结果,简单的说就是在弱学习器的基础上再套一个算法。

2. Stacking原理

Stacking是在弱学习器的基础上再套一个算法,用机器学习算法自动去结合之前的弱学习器。

Stacking方法中,我们把个体学习器叫做初级学习器,用于结合的学习器叫做次级学习器,次级学习器用于训练的数据叫做次级训练集。次级训练集是在训练集上用初级学习器得到的。

如下图所示:

image

数据集为\(D\),样本数量为\(m\),分为\(D_{train}\)\(D_{test}\)

  1. Stacking的初级学习器有\(n\)种。
  2. 对每一个初级学习器进行以下处理。
    1. 首先对\(D_{train}\)进行5-fold处理。
    2. \(model_i\)进行5-fold训练,对验证集进行\(Predict\)
    3. 同时生成5个\(Predict_{test}\)
    4. 最后对输出进行整理。5个验证集的输出组合成次学习器的一个输入特征,5个\(Predict_{test}\)取平均
  3. 这样就组成了\(m*5\)的维度的次训练集和\(m*5\)维度的测试集,用次级学习器进行再次训练。

3. 总结

Stacking的思想也是非常的简单,但是有时候在机器学习中特征工程处理的好,简单的算法也能发挥强大的作用。

转载于:https://www.cnblogs.com/huangyc/p/9975183.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值