首页 > 其他分享 >《李沐实用机器学习之5.2 Bagging》

《李沐实用机器学习之5.2 Bagging》

时间:2022-12-28 20:33:21浏览次数:72  
标签:Bagging bagging 5.2 方差 learner base examples 李沐 learners

slides: https://c.d2l.ai/stanford-cs329p/_static/pdfs/cs329p_slides_7_2.pdf

视频:https://www.bilibili.com/video/BV13g411N7xy/?spm_id_from=333.999.0.0&vd_source=2ed6e8af02f9ba8cb90b90e99bd4ccee

Bagging - Bootstrap AGGregatING

Learn n base learners in parallel, combine to reduce model variance.

先训练 n 个模型(base learners),每个模型独立训练(parallel)

Combine learners by averaging the outputs (regression) or majority voting (classification)

回归问题:对每个模型的输出做平均;分类问题:投票

Each base learner is trained on a bootstrap sample

  • Given a dataset of m examples, create a sample by randomly sampling m examples with replacement # 有放回采样
  • Around \(1 − 1/e ≈ 63\%\) unique examples will be sampled use the out-of-bag examples for validation # 剩下 27% 是一些重复样本,没有被采样的数据作为验证集,来检查模型效果。

Bagging Code (scikit-learn)

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) # 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) # 回归模型做平均

随机森林

使用决策树做 base learners。

经常 有放回采样时候会随机采样一些特征,即 列也会随机采样。好处是:避免一定的过拟合和更大的增加每一颗决策树之间的差异性。

image

增加 base learners,不会看到泛化误差往上升,因为降低了方差,而没有使得偏差更大。 通常可以增加模型的个数,而不会变差,可能也不会变好。

Apply bagging with unstable Learners

bagging 主要下降方差,方差什么时候下降快?方差比较大的时候,通过取均值,方差下降的比较快。什么时候方差比较大?方差比较大的模型叫做 不稳定模型。

image

bagging 时候,应该使用 不稳定的模型 作为 base learners。

决策树不是一个稳定的模型,适合做 bagging。

线性回归比较稳定,不适合做 bagging。

image

总结:

bagging 在数据上使用 Bootstrap(有放回) 采样 训练多个模型。

bagging 用于降低方差,尤其是 base learners 不稳定。最重要的应用是 随机森林。

标签:Bagging,bagging,5.2,方差,learner,base,examples,李沐,learners
From: https://www.cnblogs.com/odesey/p/17011161.html

相关文章

  • 关于imatest Colorcheck模块的测试及结果分析(imatest版本 5.2.11)
    一、Colorcheck作用:   1、测试色彩准确性   2、测试白平衡   3、测试噪声或信噪比二、测试环境要求:   1、拍摄图卡距离:图卡按中心......
  • MAUI新生5.2-Page页面类控件难点
    1、Page页面类控件目录ContentPage,普通内容页。NavigationPage,导航页。FlyoutPage,浮出导航页。TabbedPage,底部Tab栏导航页 2、使用经验:如果使用Shell导航框架,则......
  • Day25.2.Arrays类
    Day25.2.Arrays类1.介绍数组工具类java.util.Arrays由于数组对象本身并没有什么方法可以调用,但API中提供了工具类Arrays供使用,从而对数组对象进行一些基本操作具......
  • Bagging集成学习
    一、概述1.1基本原理   通过上图我们知道,bagging是每个弱学习器之间的并行计算最后综合预测,各个弱学习器之间没有依赖关系,在训练集到子训练器的过程叫做“子抽......
  • NLP:14.1 词嵌入(Word2vec)李沐
    李沐动手学深度学习学习笔记 词向量是⽤于表⽰单词意义的向量,并且还可以被认为是单词的特征向量或表⽰。将单词映射到实向量的技术称为词嵌⼊。近年来,词嵌⼊逐渐成......
  • 5.3.1 文件系统的布局-操作系统设计与实现(第三版)5.1-5.2
    第5章文件系统5.1.2三种类型的文件字节序列、记录序列、树5.1.3可执行文件一个可执行文件有五个段:文件头、代码、数据、重定位位和符号表。文件头以所谓的魔数(magi......
  • MAUI新生5.2-样式外观:控件状态样式VisualState
    (当前版本V7.0.94,VisualState有bug)控件状态指控件当前处于什么使用状态,如禁用、聚焦、鼠标悬停等等,当控件进入到某种状态时,可以通过【附加属性】【VisualStateManager.Visu......
  • Photoshop 2022 for Mac永久使用(ps 2022) v23.5.2激活版
    Photoshop2022中文版是一款专业图像处理软件,ps2022此次更新软件可选择项目云服务生成更准确和高质量的图像;PS软件界面也有了新的中性UI颜色模式,视觉效果更加高级;对神经滤波......
  • centos 7 python2.7.5升级到3.5.2
    下载python3.5.2wgethttps://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz安装解压:tar-zxvfPython-3.5.2.tgz进入解压目录:cdPython-3.5.2创建安装目录:mkdir/us......
  • 【李沐:动手学深度学习pytorch版】第3章:线性神经网络
    第3章线性神经网络3.1.线性回归3.1.1.线性回归的基本元素3.1.1.1.线性模型3.1.1.2.损失函数3.1.1.3.解析解线性回归刚好是一个很简单的优化问题。与我们将在本书中所......