写点什么

实用机器学习笔记二十一:集成学习之 Bagging

作者:打工人!
  • 2021 年 12 月 22 日
  • 本文字数:1313 字

    阅读完需:约 4 分钟

实用机器学习笔记二十一:集成学习之Bagging

前言:

本文是个人在 B 站自学李沐老师的实用机器学习课程【斯坦福 2021 秋季中文同步】的学习笔记,感觉沐神讲解的非常棒 yyds。

Bagging:


  • Bagging 的由来:Bootstrap AGGrgratING,没有其他特殊含义。


  • Bagging 核心思想:并行(独立)训练 n 个模型做决策。

  • 回归问题:多个模型的输出值的平均

  • 分类问题:多个模型投票表决,那个类型被预测的占比最高,就是哪个类型。


  • 如何训练这 n 个模型:

  • 每一个模型都是利用在同样的数据集上进行 bootstrap 采样得到的数据进行训练。(独立进行的哦)

  • bootstrap 采样是什么?

  • 假设有 m 个可供训练的样本,随机有放回的从里面采样 m 个数据作为一个模型的训练集。注意:有放回的采样(会有重复样本),就是采样一个样本,然后放回,然后再随机采样....。而且还要注意的是在训练每一个模型时,这个过程是独立进行的,也就是说每一个学习者都要进行这个采样过程。

  • 每次 bootstrap 采样出来的样本数据集中大概包含的原始样本。那么采样出来的数据集中重复的样本大概就有 27%。通常使用每次原始样本中没有被采样到的数据作为验证集。


  • Bagging code 示例:

 class Bagging:    def _init_(self,base_learner,n_learners):      self.learners = [clone(base_learner) for _ in range(n_learners)]          def fit(self, X, y):      for learner in self.learners:        examples = np.random.choice(np.arange(len(X)), int(len(X)), replace=True)        learner.fit(X.iloc[examples, :], y.iloc[examples, :])            def predict(self, X):      preds = [learner.predict(X) for learner in self.learners]      return np.array(preds).mean(axis=0)
复制代码

Bagging 适用场景:


  • Bagging 主要降低的是方差特别是对于不稳定的模型(比如决策树)


  • 在统计学习中,对于某个东西,要查看它,可以进行采样,采用一次,和采样多次取平均,均值变化很小,下降的主要是方差,采样越多,方差越小。


  • 方差比较大的时候,通过 Bagging 取均值,下降的比较好。大方差的模型(又叫不稳定的模型)用 Bagging 比较好。


  • 考虑一个回归问题:真实模型是 f,训练的模型是 h, bagging:,已知(定理):(柯西不等式),因此:

本身不是一个随机变量,是。上式可以写成:什么时候取等号呢?当每一个 h(x)都一样时,取等号,如果 h(x)之间差别特别大,就不会等。因此:f(x)和 h(x)差距比较大的时候,效果会更好,也就是说模型不是很稳定的时候,使用 bagging 对于降低方差很有效。

实例:


  • 决策树是不稳定的,线性回归是稳定的。


  • 下面两个图的横坐标是模型的数量,也就是做 bagging 时模型的数量。纵坐标是误差


  • 第一幅图:当模型数量很少时,从训练误差和验证误差看,模型有点过拟合。但是随着模型的数量的增加,两条曲线都在下降。不管模型数量如何增加,验证曲线没有出现上升并没有使偏差更大。说明改善了泛化误差三项中的一项(再来复习一下上一篇文章讲的:泛化误差=偏差平方+方差+噪音),也就是说明 bagging 可以降低方差。


  • 第二幅图:线性回归模型做 bagging,对性能并没有任何影响。因为线性回归是稳定的。


决策树bagging


线性回归bagging


发布于: 2 小时前阅读数: 6
用户头像

打工人!

关注

打工人! 2019.11.10 加入

2021年InfoQ年度最佳内容获得者。 InfoQ签约作者 自动化和控制专业入坑人士,目前在研究深度强化学习(DRL)技术。学了Java,本来要入坑互联网,现在要入坑车联网了。喜欢了解科技前沿技术,喜欢手机摄影。

评论

发布
暂无评论
实用机器学习笔记二十一:集成学习之Bagging