前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ensemble learning 集成学习主要分为串行的Boosting和并行的Bagging,以及Stacking

ensemble learning 集成学习主要分为串行的Boosting和并行的Bagging,以及Stacking

原创
作者头像
liuien
发布2023-12-31 17:23:32
1220
发布2023-12-31 17:23:32
举报
文章被收录于专栏:algorithmalgorithm

Abstract:ensemble learning的相关系统知识

Key words: ensemble learning、bagging、AdaBoost、Stacking

ensemble learning

集成学习主要分为串行的Boosting和并行的Bagging,以及Stacking

bagging

主要作用是模型输出的结果更平滑。使用的对象是能力比较强的模型。只是让模型变得更加“圆滑”,方差更小

  1. 从训练集中抽出个样本,注意这里是有放回抽样,也就是你取样一个标记好输入输出,然后再将它放进去,抽取下一个样本。
  2. 重复步骤1,我们得到多个数据集set1,set2...。
  3. 对每一个数据集,我们都用一个复杂的模型对其进行学习,得到多个function。

接下来在testing的时候,就把testing data放到每一个function里面,再把得出来的结果做平均(回归)或者投票(分类),通常来说表现(variance比较小)都比之前的好,这样就不容易产生过拟合。

当一个模型的方差较大,而偏差较小时,为了减小方差,我们就可以使用bagging的策略。

Boosting

Boosting,则是针对一个学习能力弱的模型,该模型不能很好拟合训练集的数据。使用的对象是能力比较弱的模型 首先我们找到一个学习能力比较弱的分类器模型f1(x)。 寻找另一个分类器模型分f2(x)来辅助f1(x),这里要注意的是,二者不能太相似,是来弥补的能力的,来做到一些它不能做到的事情。 找到另一个分类器f1(x)来弥补f2(x)。 如此不断重复下去,最后再将所有的分类器合在一起,就可以得到一个在训练集上拟合很好的新模型。

AdaBoost

AdaBoost 本质就是,每次迭代更新样本分布,然后对新的分布下的样本学习一个弱分类器,和它对应的权重。更新样本分布的规则是:减小之前弱分类器分类效果较好的数据的权重,增大之前弱分类器分类效果较差的数据的权重。最终的分类器是弱分类器线性组合。

Gradient Boosting

Gradient Boosting 是一种 Boosting 的思想,它本质是,每一次建立模型是在之前建立模型损失函数的梯度下降方向。adamBoost 是一种特殊的Gradient Boosting。

Gradient Boosting其步骤如下

Stacking

我们可以把多个分类器的输出y,作为一组新的特征输入到一个分类器当中,比如一个逻辑回归(不需要太复杂的模型),然后得到最终的分类结果。

reference

https://zhuanlan.zhihu.com/p/25096501

https://zhuanlan.zhihu.com/p/539966353

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ensemble learning
    • bagging
      • Boosting
        • AdaBoost
          • Gradient Boosting
            • Stacking
              • reference
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档