集成学习详细介绍

以下内容整理于:

  1. 斯图尔特.罗素, 人工智能.现代方法 第四版(张博雅等译)
  2. 机器学习_温州大学_中国大学MOOC(慕课)
  3. XGBoost原理介绍------个人理解版_xgboost原理介绍 个人理解-CSDN博客

集成学习(ensemble):选择一个由一系列假设h1, h2, …, hn构成的集合,通过投票、平均或其他形式的机器学习方法将他们的预测进行组合。我们称单独的假设为基模型(base model),其组合后的模型称为集成模型(ensemble model)

集成学习主要有三种集成方法,Bagging(自主聚合法),boosting(提升法) 和stacking(堆叠法)。

在统计学中,有放回的重复采样方法被称为Bootstrap (自助法),Bagging是bootstrap aggregating的缩写。

目录

1. Bagging(自主聚合法)

随机森林模型(Random forest):

2. Boosting(提升法)

AdaBoost(adaptive boosting,自适应提升法):

XGBoost(eXtreme Gradient Boosting,极端梯度提升)算法:

GBDT(Gradient Boosting Decision Tree)算法:

LightGBM算法:

3. Stacking(堆叠法):


1. Bagging(自主聚合法)

从训练集中进行子抽样组成每个基模型所需要的子训练集,对所有基模型预测的结果进行综合产生最终的预测结果:

Bagging可应用于任何类型的模型,但最常应用于决策树模型。

Bagging的优点:可以并行计算,非常高效。

随机森林模型(Random forest):

随机森林模型是Bagging在决策树模型上应用的一种形式。

主要思想:在分割点的属性选择上进行随机化,具体操作就是,假如我们总共有n个属性,在构建决策树为每个节点选择split属性时,在全部n个属性中随机挑选n1/2(即根号n)个属性作为属性子集(对于分类问题),或选择n/3个属性作为属性子集(对于回归问题),让算法只在这个子集中选择split属性。如此操作,使得随机森林模型实现了众多决策树基模型之间的低关联性或没有关联,而基础的Bagging做不到这一点。


2. Boosting(提升法)

序贯算法,按次序一一训练(实现上可以做到并行),生成一系列基模型。在序贯训练过程中,基模型使用的训练集每次都按照某种策略进行一定的调整。

AdaBoost(adaptive boosting,自适应提升法):

核心思想:给每个样例赋予一个权重Wj,该权重代表样例在训练过程中应计数的次数,样例的权重越大代表样例在模型训练的过程中发挥的作用越大。自适应提升法从训练集所有样例具有相等的权重wj开始,根据该训练集,我们训练第1个基模型h1,h1会对一些训练样例进行正确分类,而对另一些训练样例错误分类。我们希望第二个基模型能在被分类错误的样例中表现得更好,因此我们将增加在第一个基模型中被错误分类的样例的权重,同时减小在第一个基模型中被正确分类的样例的权重,然后开始训练第2个基模型………………按照次序,训练一系列的基模型。最后将所有基模型按照不同的权重综合成一个集成模型,预测效果比较好的树占有的权重大,预测效果差的基模型占了权重小。

后一个基模型的训练永远是在前一个基模型的基础上完成的!


XGBoost(eXtreme Gradient Boosting,极端梯度提升)算法:

XGBoost算法又快又准确,颇受欢迎!

XGBoost算法是一种加法模型,往模型中不断添加新的树。XGBoost算法将模型上一次预测(由t-1棵树组合而成的模型)产生的误差作为参考建立下一棵树(第t棵树)

加法策略:

初始化(模型中没有树时,其预测结果为0):

往模型中加入第一棵树:

往模型中加入第二棵树:这里的f2即为由上一次预测产生的误差作为参考建立的第2棵树,f2(xi)为第2棵树的预测结果。

…………

往模型中加入第t棵树:

其中表示第棵树,表示组合了棵树的模型对样本的预测结果。

注:一棵树等同于基模型


GBDT(Gradient Boosting Decision Tree)算法:

是一种迭代的决策树算法,该算法由多棵决策树组成,GBDT和XGBoost算法很相似,都是累加所有树的结果作为最终结果,两者的区别在于两者对目标函数(即代价函数)的求解过程不同,GBDT算法在求解过程中用到了残差(residual)思想,XGBoost算法在求解过程中用到了n阶泰勒展开的思想。其他方面,两者基本无区别。

GBDT算法的代价函数的部分求解过程:

泰勒展开式:

XGBoost算法的代价函数的部分求解过程:

XGBoost算法代价函数详细求解过程请参考:XGBoost原理介绍------个人理解版_xgboost原理介绍 个人理解-CSDN博客


LightGBM算法:

LightGBM算法是以XGBoost算法为基础改进的算法,相较于XGBoost算法,LightGBM算法训练速度更快,内存占用更少。XGBoost算法和LightGBM算法都是目前使用较多的算法。

LightGBM与XGBoost相比,主要有以下几个改进:
• 基于梯度的单边采样算法(Gradient-based One-Side Sampling, GOSS);
• 互斥特征捆绑算法(Exclusive Feature Bundling, EFB);
• 直方图算法(Histogram);
• 基于最大深度的 Leaf-wise 的垂直生长算法;
LightGBM = XGBoost + GOSS + EFB+ Histogram


3. Stacking(堆叠法):

在相同训练集中使用不同基模型类训练多个基模型,然后将这些基模型组合成集成模型。

将训练好的所有基模型对训练集进行预测,第j个基模型对第i个训练样本的预测值将作为新的训练集中第i个样本的第j个特征值,然后使用(来自基模型预测的)新的训练集和预先留出的验证数据对集成模型进行训练。

这种方法适合于团队分工,团队内的每个人独立工作,使用共同的训练集训练完善自己负责的基模型,最后把每个人的基模型汇聚到一起,建立最终的堆叠集成模型。

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

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

相关文章

YOLOv10改进系列,YOLOv10损失函数更换为Powerful-IoU(2024年最新IOU),助力高效涨点

改进前训练结果: 改进后的结果: 摘要 边界框回归(BBR)是目标检测中的核心任务之一,BBR损失函数显著影响其性能。然而,观察到现有基于IoU的损失函数存在不合理的惩罚因子,导致回归过程中锚框扩展,并显著减缓收敛速度。为了解决这个问题,深入分析了锚框扩展的原因。针…

【网络】详解HTTP协议的CGI机制和CGI进程

目录 引言 CGI机制模型 伪代码示例 个人主页:东洛的克莱斯韦克-CSDN博客 引言 CGI机制是HTTP协议提供的偏底层的一套机制,也是非常重要的机制——它让大量的业务进程和HTPP协议解耦。而CGI进程是业务层的,用来处理各种数据,比…

OpenCV结构分析与形状描述符(24)检测两个旋转矩形之间是否相交的一个函数rotatedRectangleIntersection()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 测两个旋转矩形之间是否存在交集。 如果存在交集,则还返回交集区域的顶点。 下面是一些交集配置的例子。斜线图案表示交集区域&#…

孙怡带你深度学习(2)--PyTorch框架认识

文章目录 PyTorch框架认识1. Tensor张量定义与特性创建方式 2. 下载数据集下载测试展现下载内容 3. 创建DataLoader(数据加载器)4. 选择处理器5. 神经网络模型构建模型 6. 训练数据训练集数据测试集数据 7. 提高模型学习率 总结 PyTorch框架认识 PyTorc…

Vue2电商平台项目 (三) Search模块、面包屑(页面自己跳自己)、排序、分页器!

文章目录 一、Search模块1、Search模块的api2、Vuex保存数据3、组件获取vuex数据并渲染(1)、分析请求数据的数据结构(2)、getters简化数据、渲染页面 4、Search模块根据不同的参数获取数据(1)、 派发actions的操作封装为函数(2)、设置带给服务器的参数(3)、Object.assign整理参…

如何通过OceanBase的多级弹性扩缩容能力应对业务洪峰

每周四晚上的10点,都有近百万的年轻用户进入泡泡玛特的抽盒机小程序,共同参与到抢抽盲盒新品的活动中。瞬间的并发流量激增对抽盒机小程序的系统构成了巨大的挑战,同时也对其数据库的扩容能力也提出了更高的要求。 但泡泡玛特的工程师们一点…

Redhat 7,8,9系(复刻系列) 一键部署Oracle19c rpm

Oracle19c前言 Oracle 19c 是甲骨文公司推出的一款企业级关系数据库管理系统,它带来了许多新的功能和改进,使得数据库管理更加高效、安全和可靠。以下是关于 Oracle 19c 的详细介绍: 主要新特性 多租户架构:支持多租户架构,允许多个独立的数据库实例在同一个物理服务器上…

JDBC API详解一

DriverManager 驱动管理类,作用:1,注册驱动;2,获取数据库连接 1,注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"); 查看Driver类源码 static{try{DriverManager.registerDriver(newDrive…

java十进制码、六进制码和字符码的转换

一、字符转换为ASCII码: int i(int)1; 二、ASCII码转换为字符: char ch (char)40; 三、十六进制码转换为字符: char charValue (char)\u0040; package week3;public class check_point4_8 {public static void main(String[] args) {S…

谷歌怎么像图里这样多开贴吧号??

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

数据库三范式和ER图详解

数据库设计三范式 第一范式:要求数据表中的字段(列)不可再分(原子性) 第二范式:不存在非关键字段(非主键)对关键字段(主键)的部分依赖 ps: 主要是针对联合主键,非主键不能只依赖联合主键的一部分 联合主键,即多个列组成的主键 第…

Python | Leetcode Python题解之第414题第三大的数

题目: 题解: class Solution:def thirdMax(self, nums: List[int]) -> int:a, b, c None, None, Nonefor num in nums:if a is None or num > a:a, b, c num, a, belif a > num and (b is None or num > b):b, c num, belif b is not No…

代码随想录Day 46|动态规划完结,leetcode题目:647. 回文子串、516.最长回文子序列

提示:DDU,供自己复习使用。欢迎大家前来讨论~ 文章目录 题目题目一:647. 回文子串解题思路:暴力解法动态规划 题目二: 516.最长回文子序列解题思路: 动态规划总结动规五部曲基础概念常见问题类型 动态规划…

Web3入门指南:从基础概念到实际应用

Web3,即“去中心化的第三代互联网”,正在逐步改变我们对互联网的传统认知。从最初的静态网页(Web1.0)到互动平台和社交媒体为主的互联网(Web2.0),Web3的目标是让用户重新掌握对数据和数字资产的…

LeetCode[中等] 合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 思路 区间排序: 开始位置 ——> 升序排…

ZW3D二次开发_UI_非模板表单_设置表单显示位置

1.ZW3D弹出非模板表单时可以设置弹出位置(居中、左下角、右上角等) 2.假设已创建好非模板表单 3.在Form属性中添加form_pos属性 4.输入值 base,CTR,0.0 ,如下图 也可以设置为其他值显示在不同的位置,如下 5.重新编译,…

Windows目录监控部署

1.前提 Cell_Directory_Monitoring.bat脚本用到的du命令,请协调Windows系统管理员提供。 下述du命令部署配置方式仅供参考,如要部署,请协调Windows系统管理员协助确认其不会对系统造成异常。 1.1.du.exe部署 1.将x32位du.exe文件放入如下目录 目录:C:\Windows\System3…

Windows下SDL2创建最简单的一个窗口

先看运行效果 再上代码&#xff1a; #include <stdio.h> #include "SDL.h"int main(int argc, char* argv[]) {// 初始化SDL视频子系统if (SDL_Init(SDL_INIT_VIDEO) -1){printf("Error: %s\n", SDL_GetError());return -1;} // 创建一个窗口SDL_…

智能机巢+无人机:自动化巡检技术详解

智能机巢与无人机的结合&#xff0c;在自动化巡检领域展现出了巨大的潜力和优势。以下是对这一技术的详细解析&#xff1a; 一、智能机巢概述 智能机巢&#xff0c;也被称为无人机机场或无人机机巢&#xff0c;是专门为无人机提供停靠、充电、维护等服务的智能化设施。它不仅…

【读书】原则

后面的 太长了&#xff0c;而且太多了 我看作者 49年的 0多岁的老人的谆谆教诲 太多了 一下子吃不消 分为 生活原则 和 工作原则 倡导 人要以 原则而活 要做到极度透明 极度求真和极度透明&#xff1a;在软件开发中&#xff0c;对事实的执着追求和对信息的透明度是至关重要的。…