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

news2024/11/15 23:53:18

 

系列文章目录

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

第二章 【机器学习】【监督学习】- 逻辑回归算法 (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可以适应多种机器学习任务和应用场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2033922.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【清空大脑】

清空大脑,就是把大脑里的想法,都写下来,放到一个地方。这样,可以降低大脑的压力。 我记得我第一次清空大脑的时候,使用的事微软OutLook的便签功能,一共记录了200多项。 看着这200多项,我感觉自…

ubuntu设置开机自动执行脚本、ubuntu设置开机自动启动java服务

使用 crontab 编辑器添加一个任务,该任务将在系统启动时执行你的脚本。在终端中运行以下命令: crontab -e添加开机自启任务: 在打开的编辑器中,添加以下行: reboot /home/demo.jar &这行代码告诉 cron 在每次系统…

微调神器LLaMA-Factory官方保姆级教程来了,从环境搭建到模型训练评估全覆盖

1. 项目背景 开源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用数据进行训练而来,其对于不同下游的使用场景和垂直领域的效果有待进一步提升,衍生出了微调训练相关的需求,包含预训练(pt)&…

探索AI角色扮演的新前端工具:SillyTavern

在人工智能(AI)领域,角色扮演(Roleplay)无疑是一个富有趣味且充满潜力的应用场景。无论你是AI爱好者还是开发者,找到一个合适的前端工具来访问并与语言模型进行互动是至关重要的。今天,我们将介…

[2024_08_12日志]ONNX Runtime的使用

问题:Segmentation 错误。在 C API 上使用自定义 onnx 模型运行。模型在 Python 上按预期工作,但在 C API 上运行相同的模型时,会收到一个分段错误 python的模型代码如下: class Facenet(nn.Module):def __init__(self, backbone…

lvs详解及实例配置

目录 1.什么是负载均衡 1.1为什么用负载均衡 1.2.负载均衡类型 1.2.1.四层负载均衡 1.2.2.七层负载均衡 1.3 四层和七层的区别 2.LVS介绍 2.1LVS 的优势与不足 2.2LVS 核心组件和专业术语 3.ipvsadm命令 4.LVS集群中的增删改 4.1.管理集群服务中的增删改 4.2.管理集…

C:每日一题:单身狗

​​​​ 一、题目: 在一个整型数组中,只有一个数字出现一次,其他数组都是成对出现的,请找出那个只出现一次的数字。 整型数组 int arr[ ] {1,1,2,2,3,4,4} 二、思路分析: 1.,明确目标,选择…

【linux】nvidia AGX orin 多方法开机自启 .sh 文件

背景: 安装搜狗输入法时候,发现etc/xdg/autostart路径下写desktop文件的方式,于是把所有方案整理一下 为了让 .sh 文件在用户登录时自动执行,可以采用如下多种方法。 1. 使用 .desktop 文件 创建一个 .desktop 文件,将…

链表的奇偶节点重新排列及空指针问题分析【链表、空指针】

在处理链表问题时,重组链表节点是一种常见需求。本文将详细探讨如何在链表中将奇数索引节点放在偶数索引节点之前,并深入分析实现过程中的空指针问题及其解决方案。 1. 问题描述 给定一个单链表,要求将链表中的节点按照奇数索引节点在前、偶…

掌握 PyTorch 张量乘法:八个关键函数与应用场景对比解析

PyTorch提供了几种张量乘法的方法,每种方法都是不同的,并且有不同的应用。我们来详细介绍每个方法,并且详细解释这些函数有什么区别: 1、torch.matmul torch.matmul 是 PyTorch 中用于矩阵乘法的函数。它能够处理各种不同维度的张…

HTML零基础自学笔记(下)篇一 -8.8

HTML零基础自学笔记(下)---之表格标签详解 参考:pink老师篇一、表格标签是什么?基础内容(主要作用、基本语法、标签释义、属性)主要作用基本语法标签释义表格结构标签属性 合并单元格代码练习代码运行效果&…

IDEA 报错,无效的源发行版 无效的目标发行版:22

报错内容: 在编译项目的时候出现报错: 解决办法: 无效的源发行版 原因:编译的JDK版本与发布版本不一致 File -> Project Structure ->Project Settings 让其中的三处版本保持一致,具体操作如下: …

Vue3+Element-plus+setup使用vuemap/vue-amap实现高德地图API相关操作

首先要下载依赖并且引入 npm安装 // 安装核心库 npm install vuemap/vue-amap --save// 安装loca库 npm install vuemap/vue-amap-loca --save// 安装扩展库 npm install vuemap/vue-amap-extra --save cdn <script src"https://cdn.jsdelivr.net/npm/vuemap/vue-a…

linux反向代理原理:帮助用户更好地优化网络架构

Linux反向代理原理详解 反向代理是一种在网络架构中常用的技术&#xff0c;尤其在Linux环境下被广泛应用。它可以帮助实现负载均衡、安全防护和请求缓存等功能。本文将深入探讨Linux反向代理的原理、工作机制以及其应用场景。 1. 什么是反向代理 反向代理是指代理服务器接收客…

HarmonyOS Developer之图片帧动画播放器

创建image-animator组件 在pages/index目录下的hml文件中创建一个image-animator组件&#xff0c;css文件中编写组件样式&#xff0c;js文件中引用图片。 设置image-animator组件属性 添加iteration&#xff08;播放次数&#xff09;、reverse&#xff08;播放顺序&#xf…

SSM宠物商城-计算机毕业设计源码23666

摘 要 近年来&#xff0c;社会的发展和进步以及人们生活水平的提高&#xff0c;人们饲养宠物的习惯也越来越重视。很多家庭都把宠物视为家庭的重要成员。宠物不仅能给自己作伴&#xff0c;而且在生活中能充当自己精神的支柱&#xff0c;缓解压力、放松心态的伙伴。宠物不同于一…

Koa商城项目-轮播图模块(前端)

前言 通过这次独自做前后端发现有很多需要提升的地方&#xff0c;很多细节处理不到位。下面简单看一下本人自己做的效果吧~~ Git地址 https://gitee.com/ah-ah-bao/koa_system 效果图 前端代码 api/banner.ts import request from "../utils/request";export con…

Mapreduce_wordcount自定义单词计数

自定义的wordcount 数据处理过程 加载jar包 查看后面的pom文件 以上为需要的jar包路径&#xff0c;将其导入至idea中 Map package com.hadoop;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; im…

计算机毕业设计选题推荐-宠物管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

【彻底关闭win10 or 11系统自动更新】

直接上干货 win10或者win11自动更新后系统有bug&#xff0c;太闹心了&#xff0c;是时候选择一个稳定版本彻底关闭更新了 第一步&#xff1a; 在win11左下方搜索框输入&#xff1a;powershell&#xff0c; 选择「Windows PowerShell (管理员)」 第二步&#xff1a; 在 Wind…