mathcup大数据竞赛论文中集成学习(或模型融合)的运用分析

      ps: (模型融合和集成学习是两个紧密相关但又有所区别的概念。集成学习是一种更广泛的范式,而模型融合可以被视为集成学习的一种特殊形式或策略。)

1.集成学习原理

220448752e274e9093d418adc50f8f60.webp

 图1

       如图1所示,集成学习是一种通过结合多个机器学习模型的预测来提高整体性能的策略。其核心思想是构建多个基学习器,每个学习器解决同一问题,但各有侧重点或训练子集。这些单独的预测然后被合并,形成最终的预测结果。集成学习的优势在于它能够减少单个模型的偏差和方差,从而提高预测的准确性和鲁棒性。常见的集成方法包括Bagging、Boosting和Stacking如图2所示

427597c034f94743ad14f3ed6e77ec2b.png

图2

ps:(图2转载自:http://t.csdnimg.cn/almgm)

 1. 1Bagging

算法:随机森林、极端随机树、Bagging 分类器/回归器

结合策略:多数投票法(分类)、平均法(回归)

集成方式:并行训练多个基学习器

学习模式:同质学习,所有基学习器通常是相同类型的模型

1.2Boosting

算法:AdaBoost、Gradient Boosting、XGBoost、LightGBM、CatBoost

结合策略:加权多数投票法(分类)、加权平均法(回归)

集成方式:序列化训练,每个模型依赖前一个模型的性能

学习模式:同质或异质学习,基学习器可以是不同类型的模

1.3Stacking

算法:Stacking 分类器/回归器、多种基学习器与一种元学习器的组合

结合策略:使用元学习器来结合基学习器的输出

集成方式:分层训练,先训练多个基学习器,再用它们的输出训练元学习器

学习模式:异质学习,基学习器通常为不同类型的模型

综上所述,这三类集成学习方法各有特点,适用于不同的问题类型和数据特征。Bagging 通过降低模型方差提升准确性;Boosting 通过减少偏差提高模型精度;而 Stacking 则通过组合多种模型和策略,进一步优化性能。选择适合的集成方法需要考虑数据集的特点和任务的需求。

2.模型融合

模型融合是机器学习中的一种常用技术,它通过结合多个模型的预测来提高整体性能和鲁棒性。模型融合可以大致分为以下几种类型:

2.1平均融合(Blending)

简单平均融合:对所有模型的预测结果进行算术平均。

加权平均融合:根据预先设定的权重或通过训练得到权重对模型的预测结果进行加权平均。

2. 2堆叠(Stacking)

 初级模型融合:多个不同的模型对原始数据进行训练和预测,产生的预测结果作为新的特征集。

 次级模型训练:使用初级模型的预测结果作为输入,训练一个次级模型来生成最终的预测。

2.3.提升(Boosting)

AdaBoost:通过迭代地训练模型来关注前一个模型预测错误的样本,每个模型都有一定的权重。

Gradient Boosting:类似于AdaBoost,但是它通过优化损失函数来训练新的模型,每个新模型都试图纠正前一个模型的残差。

2.4装袋(Bagging)

Bootstrap Aggregating (Bagging):通过从训练集中进行有放回抽样来训练多个模型,然后取这些模型的平均预测作为最终结果。

 随机森林:Bagging的扩展,它在决策树的基础上增加了特征的随机选择。

2.5投票(Voting)

   - 硬投票:每个分类器给出一个预测标签,最终预测结果为多数分类器选择的标签。

   - 软投票:每个分类器给出一个概率分布,最终预测结果为平均概率最高的标签。

2.6混合(Mixture of Experts,MoE)

根据不同的输入数据,动态选择不同的专家模型进行预测。

2.7集成深度学习

深度神经网络集成:训练多个深度神经网络,并通过平均或堆叠的方式融合它们的输出。

2.8. 贝叶斯模型平均(Bayesian Model Averaging,BMA)

 根据模型的先验概率和表现来加权平均多个模型。

每种模型融合方法都有其适用的场景和优势,通常需要根据具体问题和数据集的特点来选择合适的融合策略。在实际应用中,模型融合可以显著提高预测的准确性和模型的泛化能力。

3论文中的运用

例1

b6b6c9e90a6747fe9ebe44b349983af2.jpg

 这里用的算法是多种基学习器与一种元学习器的组合。从分层和预测值做特征再训练的思路可以看出这位建模手对stacking的集成方式(分层训练,先训练多个基学习器,再用它们的输出训练元学习器)非常清楚并且运用到了极致,当然了就是在炫技,不过是漂亮的炫技。

例2

a19b1a6bc74b4915b6fb20961e03a23b.jpg

 同样的,这里用的算法是多种基学习器与一种元学习器的组合,设置了初级模型和次级模型,通过结合多个不同的基学习器来提高整体模型的预测能力。这种方法首先让每个基学习器独立对数据进行训练和预测,然后将这些预测结果作为输入特征,提供给一个元学习器进行最终的训练和预测。这种层级式训练不仅能够有效地整合各个基学习器的优势,减少模型偏差和方差,还能提高模型对于未知数据的泛化能力。Stacking方法尤其适用于那些单一模型难以捕捉全部数据特征的情况,通过组合不同的算法,可以显著提升模型的准确性和鲁棒性。对stacking也是认识清楚,成功炫技。

例3

de38d0947cf340e9a4401f7aa2ab81f0.jpg

 都是高手,这里采用的是多种基学习器与一种元学习器的组合,通过多层模型的串联训练与预测,有效整合了多个基学习器的优势,提升了模型的泛化能力和预测精度。这种方法不仅利用了不同模型间的差异性来增强整体性能,还通过交叉验证减少了过拟合。stacking回归模型建立的过程叙述的也很清楚流畅。

 例34242b5478a3d4e6db53939e079e69b3e.jpg

 这里也是多种基学习器与一种元学习器的组合的stacking算法,都是选择最高明的集成学习,都知道stacking结合了Bagging和Boosting的优点嘛。

例4

3fdec566ffb9405ebeae63748339ec27.jpg

 这里采用的是加权融合的方法,通过加权组合多个模型来尝试提高预测准确性,但这种方法可能过于简化,忽略了模型间潜在的相关性和差异性对融合效果的影响。简单加权平均可能不足以充分利用各个模型的预测优势,有时甚至可能导致性能下降。这里权重的设置是经过调试来的,真的是最优的吗,如果不是模型精度、准确率大幅提高,应该不太适合在这里用吧。

例5

b1a51dcc5ca541fcaad92d0cd66ae307.jpg

 这里也是的,对权重的设置应该足够客观,模型融合本身就是论文的一个亮点,条理清晰,能叙述清楚就是很好了,这一点不如stacking能说的多嘛。

ps:这里我也是大谈特谈不知天高地厚了,其实从整篇论文来看都是强者思维,模型融合虽然是加分点,但也只是一小部分,也要看所有内容的,我只是探索一下模型融合(集成学习)在论文的运用情况,没有捧高踩低的意思。

ps:如有侵权私信删改

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构-循环链表和双向链表

目录 前言一、循环链表1.1 循环链表的介绍1.2 循环链表的实现 二、双向链表总结 前言 本篇文章介绍数据结构中的循环链表和双向链表 一、循环链表 1.1 循环链表的介绍 将单链表的形式稍作改变,单链表的最后一个结点指向第一个结点 对第一个结点概念的说明&#…

Echarts地图实现:山东省报考人数

Echarts地图实现:山东省报考人数 效果预览 设计思路 数据可视化:选择地图作为数据展示的方式,可以直观地展示山东省不同城市的报考人数分布。交互性:通过ECharts的交互功能,如提示框(tooltip)…

致远互联FE协作办公平台 codeMoreWidget SQL注入致RCE漏洞复现

0x01 产品简介 致远互联FE协作办公平台是一款为企业提供全方位协同办公解决方案的产品。它集成了多个功能模块,旨在帮助企业实现高效的团队协作、信息共享和文档管理。 0x02 漏洞概述 致远互联FE协作办公平台 codeMoreWidget.jsp接口处存在SQL注入漏洞,未经授权攻…

有哪些防爬虫的方法

防爬虫的方法有robots.txt文、user-agent过滤、ip限制、验证码、动态页面生成、频率限制、动态url参数和反爬虫技术等。详细介绍:1、robots.txt文件,用于告诉搜索引擎爬虫哪些页面可以访问,哪些页面禁止访问;2、ip限制&#xff0c…

机器学习入门指南:理解基本概念与常见算法

目录 什么是机器学习? 机器学习的基本概念 1. 训练数据 2. 特征工程 3. 模型评估 监督学习与非监督学习的区别 监督学习 非监督学习 常见的机器学习算法 1. 线性回归与逻辑回归 2. 决策树与随机森林 3. 支持向量机(SVM) 4. K近邻…

2小时动手学习扩散模型(pytorch版)【入门版】【代码讲解】

2小时动手学习扩散模型(pytorch版) 课程地址 2小时动手学习扩散模型(pytorch版) 课程目标 给零基础同学快速了解扩散模型的核心模块,有个整体框架的理解。知道扩散模型的改进和设计的核心模块。 课程特色&#xf…

学生宿舍管理系统

摘 要 随着高校规模的不断扩大和学生人数的增加,学生宿舍管理成为高校日常管理工作中的重要组成部分。传统的学生宿舍管理方式往往依赖于纸质记录和人工管理,这种方式不仅效率低下,而且容易出错,无法满足现代高校管理的需求。因此…

不同node版本的切换及其指定版本vue-cli脚手架下载

目录 一.清空本地已安装node.js版本 二.装nvm管理工具 三.安装指定node版本 四.使用nvm命令切换或删除指定node版本 五.在指定node版本下下载指定vue-cli脚手架 一.清空本地已安装node.js版本 1.按健winR弹出窗口,键盘输入cmd,然后敲回车。 2.输入…

这是我见过的大模型 RAG 优化方案与实践最全总结了

暑期实习基本结束了,校招即将开启。 不同以往的是,当前职场环境已不再是那个双向奔赴时代了。求职者在变多,HC 在变少,岗位要求还更高了。提前准备才是完全之策。 最近,我们又陆续整理了很多大厂的面试题&#xff0c…

QT基本对话框(基本对话框、工具盒类、进度条、调色板与电子钟、可扩展对话框、程序启动画面)

此篇文章通过实例介绍基本对话框的用法。首先介绍标准文件对话框(QFileDialog)、标准颜色对话框(QColorDialog)、标准字体对话框(QFontDialog)、标准输入对话框(QInputDialog)以及标…

VMware ESXi 技术

目录 一、VMware ESXi安装 1. 在VMware WorkStation中创建一台虚拟机 2. 进入VMware ESXi控制台 3. 配置VMware ESXi网络 二、使用Web网页端登录管理ESXi 1. 分配许可证密钥(选做) 2. 管理ESXi 三、VMware ESXi控制台 1. 创建虚拟机 2. 定制虚拟…

laravel Dcat Admin 入门应用(七)列copyable和自定义copy

laravel Dcat Admin 入门应用(七)列copyable和自定义copy Dcat Admin 是一个基于 Laravel-admin 二次开发而成的后台构建工具,只需很少的代码即可构建出一个功能完善的高颜值后台系统。支持页面一键生成 CURD 代码,内置丰富的后台…

深入了解Qt 控件:Display Widgets部件(1) 以及 QT自定义控件(电池)

QT自定义控件(电池) Chapter1 QT自定义控件(电池)Chapter2 Qt教程 — 3.5 深入了解Qt 控件:Display Widgets部件(1)1 Display Widgets简介2 如何使用Display Widgets部件 Chapter3 Qt自定义控件电池组件使用前言一、最基本的使用方法二、Batt…

Navicat安装与连接教程

navicat 的安装 官网:https://www.navicat.com.cn/ 进入官网之后点击左上角的产品,然后往下滑动就可以看见许多类型,我们使用的是MongoDB数据库,所以就下载Navicat 17 for MongoDB 进入到这里之后,选择自己的系统版本…

基于Vue.js的电商前端模板:Vue-Dashboard-Template的设计与实现

摘要 随着电子商务的飞速发展,前端页面的设计和实现变得愈发重要。本文介绍了一个基于Vue.js的电商前端模板——Vue-Dashboard-Template,旨在提供一个高性能、易扩展的电商平台前端解决方案。该模板遵循响应式设计、模块化、组件化开发等设计原则&#…

使用python创建虚拟环境及exe打包

使用python创建虚拟环境及exe打包 使用python创建虚拟环境在虚拟环境使用PyQt进行exe封装 使用python创建虚拟环境 优点: (1)可以实现环境的即插即用(2)可以在使用pyqt打包时实现最小体积使用库——venv 进入你要创…

业务代码插件式开发实践

在学习编程初期,会接触到设计模式的概念:23种设计模式,单例模式,策略模式,… 。接触业务研发后,对设计模式的使用和实践有了更深的见解。 使用设计模式是目的为了更高效的支撑业务诉求,如何在保…

selenium4如何指定chrome和firefox的驱动(driver)路径

pythonpytestselenium框架的自动化测试脚本。 原本用的chrome,很久没用了,今天执行,发现chrome偷偷升级,我的chromedriver版本不对了。。。鉴于访问chrome相关网站太艰难,决定弃用chrome,改用firefox。因为…

基于SSM+Jsp的疫情居家办公OA系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

vue使用glide.js实现轮播图(可直接复制使用)

效果图 可以实现自动轮播&#xff0c;3种切换方式&#xff1a;直接滑动图片、点击两侧按钮、点击底部按钮 体验链接:http://website.livequeen.top 实现 一、引入依赖 1、控制台引入依赖 npm install glidejs/glide 2、在css中引用 <style scoped> import glidejs/g…