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

【机器学习300问】36、什么是集成学习?

一、什么是集成学习?

(1)它的出现是为了解决什么问题?

  • 提高准确性:单个模型可能对某些数据敏感或者有概念偏见,而集成多个模型可以提高预测的准确性。
  • 让模型变稳定:一些模型,如决策树,对训练数据的微小变化非常敏感。通过集成算法可以平滑这些变化,得到更稳定的预测结果。
  • 增强鲁棒性:不同的模型可能对数据中的不同噪声和异常值有不同程度的敏感性,集成学习通过合并这些模型的输出来提高整体系统对噪声和异常值的耐受能力。
  • 降低过拟合:通过组合多个模型,特别是在这些模型被训练来关注不同的数据子集时,集成学习能减轻单个模型由于对训练数据过度拟合而在实际使用中表现不佳的风险。

(2)集成学习的定义

        集成学习(Ensemble Learning)是一种强大的机器学习范式,它通过构建并组合多个学习器(通常称为基学习器或弱学习器)来解决同一个问题。这类似于寻求多个专家意见而不是仅依靠单个专家的观点。集成学习的核心思想是:多个模型联合起来的整体性能,往往可以超过单个模型的性能。【三个臭皮匠赛过诸葛亮

        弱学习器(Weak Learner):是指那些单独看时预测能力并不特别强的学习模型,其准确率仅略高于随机猜测。在分类任务中,它们的性能仅略优于随机猜测就好,在回归任务中则表现为具有较小但非零预测误差,这些学习器可以是同质的(例如都是决策树)或异质的(来自不同类型的学习算法)

二、集成学习中的三种集成策略

(1)多数表决(Majority Voting)

        在分类问题中,每个模型对于每个实例输出一个类别作为预测。多数表决是指统计所有弱学习器的预测结果,选择得票最多的类别作为最终预测结果。如果有多个类别的得票相同,则可能需要引入其他策略(如打破平局规则)。

        比如有三个模型,两个模型预测一个实例为类别A,一个模型预测为类别B,那么多数表决的结果就是类别A。

(2)平均法(Averaging)

        在回归问题中,或概率预测的分类问题中,最终的预测结果是每个模型输出预测的平均值

        比如一个回归问题中三个模型预测的结果分别是3.5, 4.0, 和4.5,那么平均法的结果就是 (3.5+4.0+4.5)/3 = 4.0。

(3)加权平均(Weighted Averaging)

       在回归问题中,或概率预测的分类问题中, 类似于平均法,不过在加权平均中,每个模型的预测结果都会被赋予一个权重,这个权重通常是基于模型的表现的(比如预测的准确度),更好的模型会被赋予更高的权重。然后在计算出预测的加权平均值作为最终的预测结果。

        比如模型A的权重是0.6,模型B是0.3,模型C是0.1,那么最终的预测结果是每个模型的预测值乘以其对应权重的和。

这三种集成策略可以看下图直观感受:

集成策略

三、集成学习的三大分类

(1)并行集成

        并行集成方法中的弱学习器通常是并行地或者独立地训练出来的,它们之间的训练过程相互独立,没有强依赖关系。并最终将它们的预测结果结合起来。

        如Bagging(Bootstrap Aggregating)和随机森林算法,通过采样数据集生成多个模型,并行训练,最后采用投票、平均或其他统计方法综合结果。

并行集成学习算法Bagging

(2)顺序集成

        顺序集成方法中的弱学习器是按照一定的顺序依次产生的,后续的学习器会基于之前学习器的表现以及训练过程中调整的数据分布来更新和优化。通过顺序地增加模型的复杂度,从而提高整个模型的性能。

        如Boosting算法系列,包括AdaBoost、Gradient Boosting(梯度提升)和XGBoost(极端梯度增强)LightGBM等,其中后续模型是在纠正前序模型错误的基础上进行训练的,逐步迭代形成强大的预测系统。

顺序集成学习算法Boosting

(3)堆叠模型

① 堆叠模型的概念

        堆叠(Stacking)模型可以理解成,混合了并行集成于顺序集成的一种方法。它的核心思想是:使用一个新的模型,称为元学习器(或者叫组合器),去学习如何最有效地合并各个弱学习器(也称为一级学习器)的输出。

堆叠模型

② 它的基本步骤

第一层训练

  • 首先,从原始数据集中选择一组不同的基础模型(可以是同质的,比如都是决策树,也可以是异质的,如包含决策树、神经网络、SVM等不同类型的模型)
  • 使用全部或者交叉验证后的训练数据分别训练这些基础模型,并让它们对整个训练集进行预测
  • 这些基础模型的预测结果被记录下来,组成“元特征”

第二层训练

  • 将第一层产生的元特征集合(即每个基础模型在所有训练样本上的预测结果)与原来的标签一起构成一个新的训练集
  • 在这个新训练集上训练一个新的学习器,通常称之为元学习器或组合器(图中叫二级学习器)。这个元学习器的任务是学习如何最优地结合底层模型的预测结果,以达到最佳的整体预测效果。

预测阶段

  • 当新的数据实例需要被预测时,首先用第一层的所有基础模型进行预测,得到新的元特征向量
  • 然后将该向量输入到第二层的元学习器中,得出最终的预测结果
标题

        在了解完集成学习中的堆叠模型后,可以发现堆叠模型不光是有并行集成的思想还有顺序集成的部分,在堆叠模型中弱学习器(基础模型)的预测结果不是通过之前讲的三种集成策略(投票、平均、加权平均)来得到最终结果。 而是将预测结果变成输入,再用一个叫元学习器的模型来处理,这才得到最终结果。

相关文章:

【机器学习300问】36、什么是集成学习?

一、什么是集成学习? (1)它的出现是为了解决什么问题? 提高准确性:单个模型可能对某些数据敏感或者有概念偏见,而集成多个模型可以提高预测的准确性。让模型变稳定:一些模型,如决策…...

Stargo 管理部署 Starrocks 集群

配置主机间 ssh 互信 ssh-copy-id hadoop02 ssh-copy-id hadoop03配置系统参数 ############################ Swap检查 ############################ echo 0 | sudo tee /proc/sys/vm/swappiness########################### 内核参数检查 ########################## echo…...

CI/CD实战-git工具使用 1

版本控制系统 本地版本控制系统 集中化的版本控制系统 分布式版本控制系统 git官网文档:https://git-scm.com/book/zh/v2 Git 有三种状态:已提交(committed)、已修改(modified) 和 已暂存(sta…...

Linux中udp服务端,客户端的开发

UDP通信相关函数: ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags, struct sockaddr *src_addr, socklen_t *addrlen); 函数说明:接收信息 参数说明:sockfd:套接字buf:要接收的缓冲区len:缓冲区…...

1.python安装

1.检查是否已经安装python 打开cmd 输入 python --version查看是否有返回版本,没有返回则环境变量未设置好,或者未安装 2.下载安转python https://www.python.org/downloads/windows/ 勾选配置环境变量路径 安装成功...

【Flink SQL】Flink SQL 基础概念(三):SQL 动态表 连续查询

《Flink SQL 基础概念》系列,共包含以下 5 篇文章: Flink SQL 基础概念(一):SQL & Table 运行环境、基本概念及常用 APIFlink SQL 基础概念(二):数据类型Flink SQL 基础概念&am…...

科研绘图一:箱线图(添加贝赛尔曲线)

R语言绘图系列—箱线图贝赛尔曲线 (一): 科研绘图一:箱线图(添加贝赛尔曲线) 文章目录 R语言绘图系列---箱线图贝赛尔曲线(一): 科研绘图一:箱线图(添加贝赛尔曲线&…...

最佳实践:Swagger 自动生成 Api 文档

自动生成 API 文档的好处不言而喻,它可以提供给你的团队或者外部协作者,方便 API 使用者准确地调用到你的 API。为了降低手动编写文档带来的错误,很多 API 开发者会偏向于寻找一些好的方法来自动生成 API 文档。本文将会介绍一些常用的文档生…...

搬砖。。。

0搬砖 - 蓝桥云课 (lanqiao.cn) 问题描述 这天,小明在搬砖 他一共有n块砖他发现第砖的重量为w价值为i。他突然想从这些砖中选一些出来从下到上堆成一座塔,并且对于塔中的每一块砖来说,它上面所有砖的重量和不能超过它自身的价值。 他想知道这样堆成的塔的…...

【论文笔记合集】Transformers in Time Series A Survey综述总结

本文作者: slience_me 文章目录 Transformers in Time Series A Survey综述总结1 Introduction2 Transformer的组成Preliminaries of the Transformer2.1 Vanilla Transformer2.2 输入编码和位置编码 Input Encoding and Positional Encoding绝对位置编码 Absolute …...

HarmonyOS(二十)——管理应用拥有的状态之LocalStorage(页面级UI状态存储)

LocalStorage是页面级的UI状态存储,通过Entry装饰器接收的参数可以在页面内共享同一个LocalStorage实例。LocalStorage也可以在UIAbility实例内,在页面间共享状态。 本文仅介绍LocalStorage使用场景和相关的装饰器:LocalStorageProp和LocalS…...

Linux系统安全②SNAT与DNAT

目录 一.SNAT 1.定义 2.实验环境准备 (1)三台服务器:PC1客户端、PC2网关、PC3服务端。 (2)硬件要求:PC1和PC3均只需一块网卡、PC2需要2块网卡 (3)网络模式要求:PC1…...

【运维】StarRocks数据迁移到新集群(针对于集群互通、不互通的情况)

文章目录 一. 迁移整体思路1. 对于新旧集群互通的情况2. 对于新旧集群不互通的情况二、迁移过程(两个集群互通的情况)1. 备份过程1.1. 通过mysqlclient与starrocks进行关联1.2. 创建仓库与minio建立联系1.3. 备份数据到minio2. 迁移过程2.1. 通过mysqlclient与starrocks进行关…...

facebook个人广告账户充值方式有哪些?看这一篇就够了

可以使用虚拟信用卡进行充值,也可以使用虚拟卡绑定paypal进行充值 点击获取虚拟卡 开卡步骤如下图 Facebook如何添加支付方式 1.前往支付设置。 2.在支付方式版块,点击添加支付方式。 3.选择要添加的支付方式,填写相关信息,然…...

蓝桥杯算法练习系统—作物杂交【第十一届】【省赛】【C组】

问题描述 作物杂交是作物栽培中重要的一步。已知有 N 种作物(编号 1 至 N ),第 i 种作物从播种到成熟的时间为 Ti。 作物之间两两可以进行杂交,杂交时间取两种中时间较长的一方。如作物 A 种植时间为 5 天,作物 B 种植时间为 7 天&#xff0…...

java组合模式揭秘:如何构建可扩展的树形结构

组合模式(Composite Pattern)是一种结构型设计模式,它允许将对象组合成树形结构以表示整体/部分层次结构。组合模式使得客户端可以统一对待单个对象和组合对象,从而使得客户端可以处理更复杂的结构。 组合模式的主要组成部分包括&…...

pycharm 历史版本下载地址

pycharm 历史版本下载地址 老版本能用就行,不需要搞最新的,当然了,有些小伙伴就是喜欢新的(最先吃螃蟹) 博主就不搞最新了,哈哈 上菜: https://www.jetbrains.com/pycharm/download/other.html…...

Day39:安全开发-JavaEE应用SpringBoot框架Actuator监控泄漏Swagger自动化

目录 SpringBoot-监控系统-Actuator SpringBoot-接口系统-Swagger 思维导图 Java知识点: 功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方组件使用等. 框架库:MyB…...

VsCode免密登录

创建本地密匙 按下WinR输入cmd,输入 ssh-keygen -t rsa然后连续回车直到结束 找到Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub,每个人都不一样找到密匙所在地 打开id_rsa.pub这个文件,可以用记事本打开&am…...

蓝桥杯第八届A组:分巧克力

题目描述 儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有 NN 块巧克力,其中第 ii 块是 HiWiHi​Wi 的方格组成的长方形。为了公平起见, 小明需要从这 NN 块巧克力中切出 K 块巧克力分给小朋友们。切出的巧克…...

前端框架的发展史介绍框架特点

目录 1.前端框架的发展历程 2.官网、优缺点、使用场景 2.1 jQuery 2.2 AngularJS 2.3 React 2.4 Vue.js 2.5 Angular 1.前端框架的发展历程 jQuery(2006年):jQuery是一个非常流行的JavaScript库,用于简化DOM操作和事件处理…...

【MatLab】之:Simulink安装

一、内容简介 本文介绍如何在 MatLab 中安装 Simulink 仿真工具包。 二、所需原材料 MatLab R2020b(教学使用) 三、安装步骤 1. 点击菜单中的“附加功能”,进入附加功能管理器: 2. 在左侧的“按类别筛选”下选择Using Simulin…...

动手学习深度学习之环境配置

创建conda虚拟环境 下载anaconda,安装到计算机,修改镜像源到国内 show_channel_urls: true channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/- http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/- http://mirrors.tu…...

【机器学习300问】35、什么是随机森林?

〇、让我们准备一些训练数据 idx0x1x2x3x4y04.34.94.14.75.5013.96.15.95.55.9022.74.84.15.05.6036.64.44.53.95.9146.52.94.74.66.1152.76.74.25.34.81 表格中的x0到x4一共有5个特征,y是目标值只有0,1两个值说明是一个二分类问题。 关于决策树相关的前置知识&am…...

用云服务器构建gpt和stable-diffusion大模型

用云服务器构建gpt和stable-diffusion大模型 一、前置知识二、用云端属于自己的聊天chatGLM3step1、项目配置step2、环境配置1、前置知识2、环境配置流程 step3、创建镜像1、前置知识2、创建镜像流程 step4、通过 Gradio 创建ChatGLM交互界面1、前置知识2、创建ChatGLM交互界面…...

备考2024年小学生古诗文大会:历年真题15题练习和独家解析

最近有家长在问如何提高小学生古诗词的知识?如何激发小学生古诗词的学习兴趣?如何提高小学古诗词的学习成绩?如何备考2024年小学生古诗文大会?...我的建议是参加每年一度的小学生古诗词大会(免费参加,无参赛…...

C++之模板

本阶段主要针对C泛型编程和ST技术做详细讲解,探讨C更深层的使用 1.1 模板的概念 模板就是建立通用的模具,大大提高复用性 模板的特点: 模板不可以直接使用,它只是一个框架 模板的通用并不是万能的 1.2 函数模板 C另一种编程思想称为 …...

Ubuntu Flask 运行 gunicorn+Nginx 部署

linux Ubuntu 下运行python 程序出现killed 原因:CPU或内存限制:在华为云上,你可能有CPU或内存使用的限制。例如,如果你使用的是一个固定大小的实例,那么超过该实例的CPU或内存限制可能会导致进程被杀死。 参考&am…...

Tuxera NTFS 2023安装使用教程 Tuxera NTFS破解版 Tuxera NTFS for Mac优惠

对于必须在Windows电脑和Mac电脑之间来回切换的Mac朋友来说,跨平台不兼容一直是一个巨大的障碍,尤其是当我们需要使用NTFS格式的硬盘在Windows和macOS之间共享文件时。因为Mac默认不支持写入NTFS磁盘。 为了解决这一问题,很多朋友会选择很便捷…...

Linux-centos如何搭建yum源仓库

1.本地搭建(无需连接外网) 1.1检查网络配置,及网络连接 打开虚拟机,点击【编辑——虚拟网络编辑器】 点击【仅主机模式】查看子网段是否和局内IP匹配 进入局内,查看网络IP是否在你上述设置的网段内,如果不…...