当前位置: 首页 > news >正文

Bagging: 数量,而不是质量。

由 AI 生成:过度简化的树、引导聚合、集成方法、弱学习器、减少方差

集成方法 — 数量,而不是质量

一、说明

        机器学习中的集成方法是指组合多个模型以提高预测性能的技术。集成方法背后的基本思想是聚合多个基础模型(通常称为弱学习器)的预测,以生成通常比任何单个模型更准确、更稳健的最终预测。一般而言,我们通常遵循质量胜于数量的原则。然而,在这种情况下,事实证明相反的原理同样有效。

二、何为集成方法

集成方法通常分为两类:

  1. Bagging:
    这种方法涉及在训练数据的不同子集上训练同一基础学习算法的多个实例。集成中的每个模型都独立学习,然后通常通过平均或投票来组合它们的预测,以做出最终预测。
  2. 提升:
    提升的工作原理是按顺序训练一系列较弱的学习器,其中每个后续模型都侧重于前一个模型难以处理的示例。最终预测通常是每个弱学习器所做预测的加权总和。

        常见的集成方法包括 Random Forest、AdaBoost、Gradient Boosting Machines 或 Extreme Gradient Boosting。这些方法由于能够提高预测准确性和泛化性能而广泛用于各种机器学习任务。

        在本文中,我们将仔细研究第一种方法,即 bagging。

三、什么是装袋?— 简短介绍

        装袋 (Bootstrap aggregating) 是机器学习中的一种技术,在这种技术中,我们创建模型的多个副本,并在训练数据的不同子集上训练每个副本。这些子集是通过随机选择带有替换的样本来创建的(这就是 “bootstrap” 部分的用武之地)。训练每个模型后,它们的预测以某种方式组合起来,以做出最终预测。
Bagging 通过对多个模型进行平均或投票来帮助减少预测的方差,与单独使用单个模型相比,可以获得更稳定、更准确的预测。

        想象一下,您正在尝试猜测罐子中的糖果数量。如果你只问一个朋友猜,他们可能会差很多。但是,如果你问几个朋友,每个朋友都有不同的观点和猜测方式,然后你平均他们的猜测,你可能会得到一个更准确的估计。

四、如何减少方差?

        正如我们之前提到的,装袋是一种减少方差的方法。它基于一个简单的观察。
        假设我们有 n 个独立随机变量 X1,...,Xn,具有相同的方差 σ^2。这些变量中的每一个都对应于每个弱学习器的预测。如果我们对所有较弱的学习器的结果进行平均,会怎么样?
设 X ― 是所有弱学习器的平均值。让我们看看这样一个随机变量的方差将如何变化。

        所以,我们想找到

        我们来做一些计算。根据方差的属性

        由于变量 习 是独立的,我们可以写成:

但是,所有随机变量 X1,...,Xn 具有相同的方差 σ^2,因此:

因此

        对一组观测值求平均值可以减少方差。因此,减少方差从而提高给定学习方法的预测准确性的自然方法是从总体中提取多个训练集,使用每个训练集构建单独的预测模型,然后对结果预测进行平均。

五、装袋如何运作?

        简而言之,我们使用 K 个不同的训练集 (S1,...,Sk) 构建 K 模型 (f1,...,fk)。每个模型 fi 都在不同的 si 集上训练。然后,我们将所有 K 模型获得的结果平均,以获得具有低方差的单个统计模型

        不幸的是,在实践中,通常很难获得这么多不同的训练集。我们经常为数据太少的问题而苦苦挣扎。在这种情况下,我们该怎么办?正如您可能已经猜到的那样,bootstrap 聚合”这个名称揭示了我们如何处理获取不同训练数据集的问题 — 执行 bootstrap 采样

Bootstrap 抽样只不过是带替换的随机抽样

带替换的随机抽样是从数据集中随机选择项目的过程,每次选择后,该项目都会放回数据集中。这意味着在抽样过程中可以多次选择同一项目。

        因此,在 bagging 方法中,或者更准确地说是 bootstrap 聚合,我们使用 k 个 bootstrap 样本构建 k 个模型,然后我们对所有模型获得的结果进行平均以获得单个预测。

六、副作用 — “Out of Bag” 集

        事实证明,在引导过程中,平均只有大约 2/3 的观察值用于构建树。在树构建期间未使用的观测值称为 OOB 外 (OOB) 观测值

        因此,如果我们执行 bootstrap K 次,那么对于平均 K/3 个观测值,树没有使用该观测值。我们可以使用这些树来估计预测误差,方法是取这些树的平均误差。OOB 估计的总误差(作为所有观测值的平均误差)是检验误差的良好近似值

        为什么 1/3 的观察结果没有用于树木构建过程?

        假设我们有 n 个观测值。然后,不选择单个观测值的概率相等

        如果我们用替换 n 次来绘制它们,那么概率为

        限制中的内容(或实际上对于大 n)给出了大约

七、示例

        让我们从生成人工数据集开始。

        数据是一维的,表示由方程 y=xsin(x) 描述的区间 [0,10] 上的函数,其中添加了一些随机噪声。

        首先,我们需要确定我们想要构建多少个估计器(模型)(即,我们需要指定数字 K)。假设 K=3。
        现在,我们将演示 bootstrap 的工作原理。
        在 bootstrap 中,目标是使用替换对观测值进行随机采样。在我们的例子中,我们为每个模型分别绘制了三次训练样本。
        由于我们正在使用替换进行绘制,因此某些观测值可能根本不会绘制,而其他观测值可能会绘制多次。黄色越强烈,绘制给定观测值的次数就越多。

        现在,我们为每个样本分别训练一个单独的估计器(在我们的例子中,它是一个决策树)。这样,我们将获得三种回归树模型。
        我们将将它们全部显示在一个图上,以便更好地可视化它们之间的差异。

通过聚合结果,即从所有 3 棵树中获取平均预测值,我们得到最终模型。

        例如,让我们看看基于不同 bootstrap 样本构建的每棵树对值 x=8 的预测:
Tree 0: 4.54997803
Tree 1: 5.64685022
Tree 2: 5.79985777
最终模型只是各个分量结果的平均值,因此:

八、实现

        幸运的是,我们不必手动完成所有这些操作。我们得到了流行的 sklearn 模块中的实现的帮助。
        我们只需要选择估计器 — 在我们的例子中,它是一个回归树,以及这些估计器的数量,这些估计器是我们想要构建的模型,然后对它们的结果进行平均。

from sklearn.ensemble import BaggingRegressor
from sklearn.tree import DecisionTreeRegressorbagged_trees = BaggingRegressor(base_estimator=DecisionTreeRegressor(max_depth=3),n_estimators=3,)
bagged_trees.fit(data_train, target_train)

使用 sklearn 中的 BaggingRegressor 的结果如下:

下次见!

相关文章:

Bagging: 数量,而不是质量。

由 AI 生成:过度简化的树、引导聚合、集成方法、弱学习器、减少方差 集成方法 — 数量,而不是质量 一、说明 机器学习中的集成方法是指组合多个模型以提高预测性能的技术。集成方法背后的基本思想是聚合多个基础模型(通常称为弱学习器&#…...

维信小程序禁止截屏/录屏

一、维信小程序禁止截屏/录屏 //录屏截屏,禁用wx.setVisualEffectOnCapture({visualEffect:hidden});wx.setVisualEffectOnCapture(Object object) 测试安卓手机: 用户截屏,被禁用 用户录屏,录制的是空白内容/黑色内容的视频。 二、微信小…...

不同大模型代码解释对比

包含ChatGPT,讯飞星火,通义千问,腾讯元宝,智谱清言。 目标是想让大模型解释一个用于预处理人体骨骼关节三维坐标数据样本进行填补空帧的Python函数。 def f_padding_none(data):s data.copy()# print(pad the null frames with…...

Python函数的编写

函数实现 首先,我们来看一个简单的Python函数,它使用os和os.path模块来遍历当前目录及其所有子目录,并列出所有文件的名称。 import os def list_all_files(startpath): """ 列出指定路径(包括其子目录&#xff…...

Linux下的常用命令分享 二(ubuntu 16.04)

1、ls -l的返回值说明 以图中为例,说明对于cc.txt.tar.gz文件,文件拥有者即创建该文件的人可以对该文件进行读写操作,但不能执行该文件,文件组成员用户可以进行读写操作,但不能执行该文件,其他用户只可读&…...

FPGA随记——OSERDESE2和IERDESE2

http://t.csdnimg.cn/yNvxf---看这个篇吧 这个挺好的 OSERDESE2 模块要求复位信号高电平有效,并且 需要将异步复位信号同步到串行时钟域。 除了用原语调用,还可以用High Speed SelectIO Wizard这个IP 进行调用 针对具体select IO这个IP的使用和介绍&…...

Xmind思维导图领衔,三款常备神器助你2024年思维升级!

到了2024年,信息多得让人眼花,新东西学都学不完。要在这么多信息里保持清醒,快速学东西,对大家来说是个考验。好在,科技帮了我们大忙,比如思维导图软件,它们直观又灵活,帮我们提高思…...

SEO服务值得吗?提升销售和营销策略的5种方法

在不久之前,搜索引擎优化(SEO)通常被视为一个独立的实体,企业把提升排名和推动自然流量作为重点。随后,AI登场了,让每个人都忙于弄清“游戏”的新规则,一些公司因此质疑SEO服务是否值得。答案是…...

传统CV算法——角点特征点提取匹配算法实战

harris角点 角点可以是两个边缘的角点;角点是邻域内具有两个主方向的特征点;角点通常被定义为两条边的交点,更严格的说,角点的局部邻域应该具有两个不同区域的不同方向的边界。或者说,角点就是多条轮廓线之间的交点。…...

小米电视使用adb 卸载自带应用教程

小米电视使用ADB(Android Debug Bridge)卸载自带应用的教程如下。请注意,在操作过程中请确保谨慎行事,避免误删系统关键应用导致电视无法正常使用。 准备工作 下载ADB工具: 在电脑上下载ADB工具。ADB是Android Debug …...

编译FFmpeg动态库

编译FFmpeg动态库 环境 macOS High SierraFFmpeg 4.3android-ndk-r21b 编译so库 下载FFmpeg4.3源代码,进入源码目录创建build_android.sh脚本,ffmpeg从4.0起新增了target-osandroid,所以不用再修改configure文件。 注意: ndk…...

yum的基本使用方法

yum(全称 "Yellow dog Updater Modified")是基于RPM包管理器的软件包管理系统,主要用于Fedora和Red Hat系列的Linux发行版中。它允许用户安装、更新、删除以及搜索软件包,并能自动处理软件包之间的依赖关系。下面是一些…...

Nginx+Keepalive集群实战

随着Nginx在国内的发展潮流,越来越多的互联网公司都在使用Nginx,Nginx高性能、稳定性成为IT人士青睐的HTTP和反向代理服务器。 Nginx负载均衡一般位于整个网站架构的最前端或者中间层,如果为最前端时单台Nginx会存在单点故障,也就…...

[数据集][目标检测]街道乱放广告牌检测数据集VOC+YOLO格式114张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):114 标注数量(xml文件个数):114 标注数量(txt文件个数):114 标注类别…...

腾讯云的免费ssl证书过期后不占用免费额度

我申请了三张免费证书,两张过期了,已使用的数量还是1,说明已过期的不占免费额度,这样的话,只要每三个月重新申请就能一直用免费证书了。 下证很快,第一张一分钟以内,第二张大概5分钟左右。 原来…...

MySQL学习(DDL,DML,DQL)基本语法总结

DDL 使用某个数据库 use world;展示表 show tables;创建表 create table student(id int,name varchar(10),age int,gender varchar(10));删除表 drop table student; 修改表结构 查看表结构 desc student;添加列 alter table student add dept varchar(10);修改列名和类型…...

JAVA学习-练习试用Java实现“单词反转”

问题: 随便输出一个字符串 String str "45abc,defg"; 里面含有 abc,de,fg 三个单词 怎么处理能让单词反转,其他顺序不变呢 输出 “45cba,edgf”; 解答思路: 以下是使用 Java 实现的单词反转程序&#xff1a…...

【MySQL】深圳大学数据库实验一

目录 一、实验目的 二、实验要求 三、实验设备 四、建议的实验步骤 4.1 使用SQL语句创建如上两张关系表 4.2 EXERCISES. 1 SIMPLE COMMANDS 4.3 EXERCISES 2 JOINS 4.4 EXERCISES 3 FUNCTIONS 4.5 EXERCISES 4 DATES 五、实验总结 5.1 数据库定义语言(DDL…...

接口测试 —— 如何设计高效的测试用例!

摘要: 随着互联网应用的日益复杂化,接口测试已成为保证软件质量不可或缺的一部分。本文将探讨如何有效地设计接口测试用例,并提供实用的建议和示例。 一、引言 接口测试(API测试)是确保系统各部分之间交互正确性的关键…...

linux top命令介绍以及使用

文章目录 介绍 top 命令1. top 的基本功能2. 如何启动 top3. top 的输出解释系统概况任务和 CPU 使用情况内存和交换空间进程信息 4. 常用操作 总结查看逻辑CPU的个数查看系统运行时间 介绍 top 命令 top 是一个在类 Unix 系统中广泛使用的命令行工具,用于实时显示…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)

设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

SpringTask-03.入门案例

一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

大数据学习(132)-HIve数据分析

​​​​🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言&#x1f4…...

dify打造数据可视化图表

一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

深度学习习题2

1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...