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

【集成学习】Bootstrap抽样

在机器学习中,集成学习(Ensemble Learning)是一种通过组合多个模型来提高预测性能的技术。常见的集成学习方法包括Bagging、Boosting、Stacking等。而Bootstrap抽样(Bootstrap Sampling)是集成学习中非常重要的一种技术,尤其是在Bagging(Bootstrap Aggregating)算法中得到了广泛应用。本文将从基本概念出发,详细介绍Bootstrap抽样的原理、在集成学习中的应用以及其优势。

1. 什么是Bootstrap抽样?

Bootstrap抽样是一种通过对原始数据集进行有放回的随机抽样,生成多个训练子集的技术。与传统的简单随机抽样不同,Bootstrap抽样允许同一个样本在抽样过程中被选中多次,也可能有样本完全未被选中。由于有放回抽样的特性,生成的子集会包含一定的重复数据。

Bootstrap抽样过程:

  • 从原始数据集随机抽取样本(允许重复),形成一个新的子集,大小与原始数据集相同
  • 重复此过程多次,生成多个不同的子集
  • 每个子集用于训练一个基学习器(例如决策树)
  • 所有基学习器的预测结果通过某种方式(如平均或投票)进行组合,得出最终的预测结果

事实证明,在自助法(bootstrapping)过程中,平均而言只有大约 63% 的样本被选中。而在树构建过程中未被使用的样本称为袋外样本(Out-Of-Bag, OOB)

2. Bootstrap抽样在集成学习中的应用

Bootstrap抽样在集成学习中的典型应用是Bagging算法。Bagging是Bootstrap抽样的一个具体实现,旨在通过组合多个基学习器的预测结果来提高整体模型的性能。

Bagging中的Bootstrap抽样:

  • 使用Bootstrap抽样生成多个子集,训练多个模型(通常是相同类型的基学习器)。
  • 对于分类任务,通常采用投票方式进行预测;对于回归任务,通常采用平均值。
  • 由于每个模型都是在不同的数据子集上训练的,因此它们的预测结果具有较低的相关性,能够有效地降低模型的方差。

3. 为什么平均而言只有大约 63% 的样本被选中

假设我们有 n 个观测值。那么未被选中的概率为:
P = n − 1 n P = \frac {n-1}{n} P=nn1

如果我们进行 n 次有放回的抽样,那么某个观测值被选中的概率是:
( n − 1 n ) n (\frac{n-1}{n})^n (nn1)n
在极限情况下(或者实际上,当 n 足够大时),结果大约为:
lim ⁡ n → ∞ ( n − 1 n ) n = e − 1 ≈ 0.368 \lim_{n \to \infty} (\frac {n-1}{n})^n = e^{-1} \approx 0.368 nlim(nn1)n=e10.368


http://www.kler.cn/a/472842.html

相关文章:

  • 开放词汇检测新晋SOTA:地瓜机器人开源DOSOD实时检测算法
  • 超完整Docker学习记录,Docker常用命令详解
  • SpringBoot日常:集成Kafka
  • 每日一题-两个链表的第一个公共结点
  • flink cdc oceanbase(binlog模式)
  • 28、使用StreamPark管理作业中,关于默认环境变量设置和默认动态参数设置的修改
  • 深度学习——回归实战
  • rust学习——环境搭建
  • 海思Linux-DEMO(1)-sample_venc(h265,h264)视频流文件的获取
  • TRAVEO™ T2G的SWAP功能
  • 服务器及MySQL安全设置指南
  • 使用Postman进行Base64解码
  • 使用 Rust 实现零拷贝数据处理:性能优化的极致探索
  • 如何监听Vuex数据的变化?
  • 第四届智能系统、通信与计算机网络国际学术会议(ISCCN 2025)
  • 虚拟机配置静态ip后出现两个ip问题
  • 单片机毕业设计项目分享(4)
  • 实验四 数组和函数
  • Mysql--基础篇--事务(ACID特征及实现原理,事务管理模式,隔离级别,并发问题,锁机制,行级锁,表级锁,意向锁,共享锁,排他锁,死锁,MVCC)
  • 深入学习RabbitMQ的Direct Exchange(直连交换机)
  • 常见的http状态码 + ResponseEntity
  • 设计模式 结构型 桥接模式(Bridge Pattern)与 常见技术框架应用 解析
  • 【centos8 ES】Elasticsearch linux 龙晰8操作系统安装
  • Flink分区方式有哪些
  • Unity:删除注册表内的项目记录
  • 05、Docker学习,常用安装:Mysql、Redis、Nginx、Nacos