码迷,mamicode.com
首页 > 其他好文 > 详细

7. 集成学习(Ensemble Learning)Stacking

时间:2018-11-17 20:45:18      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:test   lin   结果   集成   file   eth   mod   uda   测试   

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方法中,我们把个体学习器叫做初级学习器,用于结合的学习器叫做次级学习器,次级学习器用于训练的数据叫做次级训练集。次级训练集是在训练集上用初级学习器得到的。

如下图所示:

技术分享图片

数据集为\(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的思想也是非常的简单,但是有时候在机器学习中特征工程处理的好,简单的算法也能发挥强大的作用。

(欢迎转载,转载请注明出处。欢迎沟通交流: 339408769@qq.com)

7. 集成学习(Ensemble Learning)Stacking

标签:test   lin   结果   集成   file   eth   mod   uda   测试   

原文地址:https://www.cnblogs.com/huangyc/p/9975183.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!