深度神经网络——什么是梯度提升?

在数据科学竞赛中,梯度提升模型(Gradient Boosting)是一种非常强大的工具,它能够将多个弱学习模型组合起来,形成一个强学习模型。这个过程是通过逐步添加弱学习者来实现的,每个新加入的弱学习者都专注于当前整体模型的弱点,从而逐步提高预测的准确性。

什么梯度提升

这里先介绍梯度提升原理,而无需深入其背后的复杂数学。一旦掌握了梯度提升在宏观层面的运作原理,再进一步探索那些支撑其强大功能的数学基础。

首先,让我们来定义一下“提升”学习者的含义。通过巧妙地调整学习模型的特性,即便是表现平庸的弱学习器也能蜕变为一个强大的预测者。那么,究竟是哪些学习算法在接受这种提升呢?

Boosting模型的魔法在于它能够增强另一种常见的机器学习模型——决策树。

决策树通过将数据集细分为越来越小的片段来构建模型,直至每个子集无法进一步划分,最终形成一棵由节点和叶子组成的树。在决策树中,节点代表了基于不同过滤标准对数据点进行决策的点,而叶子则是已经分类的数据点。决策树算法能够处理数值型数据和分类数据,树中的每个分割都是基于特定的变量或特征进行的。

一种著名的Boosting算法是AdaBoost算法。AdaBoost算法首先训练一个决策树模型,并为每个观察值分配相同的权重。在评估了第一棵树的准确性之后,它会调整不同观察值的权重,降低那些易于分类的观察值的权重,同时增加那些难以分类的观察值的权重。然后,使用这些调整后的权重创建第二棵树,目的是使第二棵树的预测比第一棵树更加精确。

此时,模型由原始树和新树(即树1 + 树2)的预测组成。再次基于新模型评估分类精度,然后根据模型计算出的误差创建第三棵树,并再次调整权重。这个过程会持续进行,直到达到预定的迭代次数。最终,我们得到的是一个集成模型,它综合了所有之前构建的树的预测,形成一个加权和。

虽然上述过程使用了决策树和基础预测器/模型,但实际上可以使用多种模型(例如许多标准分类器和回归器模型)来执行这种增强方法。关键的理解点在于,后续的预测器会从前一个预测器所犯的错误中学习,并且这些预测器是按照顺序创建的。

增强算法的一个主要优势是,与其他机器学习模型相比,它们在找到当前预测时所需的时间更少。然而,使用增强算法时需要谨慎,因为它们存在过度拟合的风险。

通过这种润色,我们希望您能对梯度提升有一个更直观的理解,并激发您进一步探索这一领域的兴趣。

梯度提升

我们现在来看看最常见的增强算法之一。 梯度提升模型 (GBM) 以其高精度而闻名,它们增强了 AdaBoost 中使用的一般原理。

梯度提升模型和 AdaBoost 之间的主要区别在于 GBM 使用不同的方法来计算哪些学习者错误识别了数据点。 AdaBoost 通过检查权重较大的数据点来计算模型表现不佳的地方。 同时,GBM 使用梯度来确定学习者的准确性,将损失函数应用于模型。 损失函数是一种衡量模型在数据集上的拟合准确性、计算误差并优化模型以减少误差的方法。 GBM 允许用户根据其期望的目标优化指定的损失函数。

采用最常见的损失函数—— 均方误差 - 举个例子, 梯度下降用于根据预定义的学习率更新预测,旨在找到损失最小的值。

为了更清楚一点:

新模型预测=输出变量-旧的不完美预测。

从更统计学的角度来看,GBM 的目标是在模型残差中找到相关模式,调整模型以适应该模式并使残差尽可能接近于零。 如果您要对模型的预测进行回归,残差将分布在 0 附近(完美拟合),并且 GBM 会在残差中查找模式并围绕这些模式更新模型。

换句话说,更新预测以使所有残差之和尽可能接近 0,这意味着预测值将非常接近实际值。

请注意,GBM 可以使用多种其他损失函数(例如对数损失)。 上面选择 MSE 是为了简单起见。

梯度提升模型的变体

梯度提升模型是贪婪算法,很容易在数据集上过度拟合。 这可以通过以下方法来防范 几种不同的方法 可以提高 GBM 的性能。

GBM 可以通过四种不同的方法进行调节:收缩、树约束、随机梯度提升和惩罚学习。

收缩

如前所述,在 GBM 中,预测以顺序方式汇总在一起。 在“收缩”中,每棵树对总和的添加都会进行调整。 应用权重会减慢算法的学习速度,从而需要向模型中添加更多树,这通常会提高模型的鲁棒性和性能。 代价是模型需要更长的时间来训练。

树约束

通过各种调整来约束树,例如增加树的深度或增加树中节点或叶子的数量,可以使模型更难过度拟合。 对每次分割的最小观察数施加限制也有类似的效果。 再次强调,代价是模型的训练时间会更长。

随机抽样

可以根据训练数据集随机选择的子样本,通过随机过程创建个体学习器。 这具有减少树之间的相关性的效果,从而防止过度拟合。 可以在创建树之前或考虑树的分割之前对数据集进行二次采样。

惩罚性学习

除了通过限制树的结构来约束模型之外,还可以使用回归树。 回归树的每个叶子都附加有数值,这些数值充当权重,并且可以使用常见的正则化函数(如 L1 和 L2 正则化)进行调整。

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

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

相关文章

sudo命令的隐患-要注意安全使用!!严格管理!!严格控制

前言 众所周知,sudo命令非常方便,而且有一定的优点。比如不需要知道root密码就可以执行一些root的命令。相比于su 必须知道root密码来说,减少了root密码泄露的风险。 但是sudo也是一把非常锋利的双刃剑,需要加以限制,…

Python 关于字符串格式化

在Python中,字符串格式化有以下几种方法: 1.可以使用字符串的str.center(width), str.ljust(width), 和 str.rjust(width)方法来实现字符串的居中、左对齐和右对齐操作。 居中对齐: text "Python" centered_text text.center(10…

最新扣子(Coze)实战教程:如何创建扣子插件,完全免费,快来学习吧~

🧙‍♂️ 诸位好,吾乃斜杠君,编程界之翘楚,代码之大师。算法如流水,逻辑如棋局。 📜 本教程是《AI应用开发系列教程之扣子(Coze)实战教程》,完全免费学习。 ⭐ 关注斜杠君,可获取完整…

Selenium+Java 环境搭建

selenium 介绍 Selenium 是 web 应用中基于 UI 的自动化测试框架,支持多平台、多浏览器、多语言。 早期的 selenium RC 已经被现在的 webDriver 所替代,可以简单的理解为selenium1.0webdriver 构成 现在的 Selenium2.0 。现在我们说起 selenium &#xf…

ESP32-C3模组上跑通OTA升级(10)

接前一篇文章:ESP32-C3模组上跑通OTA升级(9) 八、程序调试过程中遇到的问题及解决 前边各篇文章主要讲解了OTA的基础知识以及示例代码,但这其实是(远远)不够的,真正要在ESP32-C3芯片上跑通&…

Oracle创建用户/表空间/赋权常规操作

1. 登录oracle su - oracle sqlplus / as sysdba 2.查看库里存在的用户,防止冲突 SELECT username FROM all_users ORDER BY username; 3.查看库里存在的表空间,防止冲突 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space_MB f…

Windows 下 PostgreSQL 图形化界面安装、配置详解

相信大家对PostgreSQL都不陌生吧,自从MySQL被Oracle所控制后,PostgreSQL就成为了国内去O的首选数据库了,并且PostgreSQL目前不受任何商业公司控制,所以国内很多厂商都是基于PostgreSQL做二次开发来实现数据库自主可控的目标(国内很…

RH850F1KM——ADC模块

文章目录 前言一、Conversion time:转换时间二、参考电压三、分辨率scan group四、虚拟通道模数转换器-ADC基础 Autosar MCAL配置——ADC 前言 在RH850F1KM系列MCU中,ADCA模块即为ADC模块,如下是各个型号所具有的ADC物理单元。 时钟的频率决定ADC的触发频率,转换时间和采样…

单实例11.2.0.3迁移到RAC11.2.0.4_使用RMAN 异机恢复

保命法则:先备份再操作,磁盘空间紧张无法备份就让满足,给自己留退路。 场景说明: 1.本文档的环境为同平台、不同版本(操作系统版本可以不同,数据库小版本不同),源机器和目标机器部…

@Transactional事务注解内含乾坤?

文章目录 前置知识实战1、无事务操作2、事务操作 总结 前置知识 MyBatis中的工作原理 读取配置文件:数据库连接信息、事务管理信息以及映射文件的位置加载映射文件:加载Mapper.xml这些映射文件,解析其中的 SQL 语句和结果映射信息创建 SqlS…

SQL—DQL(数据查询语言)之小结

一、引言 在前面我们已经学习完了所有的关于DQL(数据查询语言)的基础语法块部分,现在对DQL语句所涉及的语法,以及需要注意的事项做一个简单的总结。 二、DQL语句 1、基础查询 注意: 基础查询的语法是:SELE…

【ai】livekit服务本地开发模式1:example app信令交互详细流程

文档要安装git lfs 下载当前最新版本1.6.1windows版本:启动dev模式 服务器启动 (.venv) PS D:\XTRANS\pythonProject\LIVEKIT> cd .

【Java数据结构】详解LinkedList与链表(一)

🔒文章目录: 1.❤️❤️前言~🥳🎉🎉🎉 2.ArrayList的缺陷 3.链表的概念及结构 4.无头单向非循环链表的实现 4.1成员属性 4.2成员方法 createList display——打印链表 addFirst——头插 addLast…

2024 年最新安装MAC-vue教学包括常见错误

花了一上午时间终于将 vue 的工程文件安装好了,本教材是傻瓜式操作,按着教程一步一步操作最后就可以看到页面了。 安装Node 1.在线地址: https://nodejs.org/en 2、点击 Download Node.js下载即可,下载完成后,傻瓜式的…

STL中stack的使用

目录 一、stack类介绍和使用 stack类介绍 stack类定义 stack类常见构造函数 stack数据操作 empty()函数 top() pop() 和 push() 函数 size()函数 swap()函数 一、stack类介绍和使用 stack类介绍 1.stack是一种容器适配器,专门用在具有后进先出操作的上下…

骨传导耳机防踩雷秘诀是什么?六大选购技巧独家揭秘!

相信大家都已经深有体会,拿那种常规的入耳式无线蓝牙耳机来做运动耳机,很难满足运动需要。如果选择前两年流行的颈挂式无线运动蓝牙耳机,虽然简单轻巧,但也是入耳式设计,长时间佩戴耳朵不舒服。这样看来,运…

【云原生】kubernetes中的认证、权限设置--RBAC授权原理分析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

金属切削机床5G智能工厂工业物联数字孪生,推进制造业数字化转型

金属切削机床5G智能工厂工业物联数字孪生,推进制造业数字化转型。随着工业4.0时代的到来,制造业正面临着前所未有的变革与挑战。在这场变革中,金属切削机床智能工厂工业物联数字孪生平台正成为推动制造业数字化转型的重要力量。 数字孪生是指…

快手万合通脚本,磁力广告挂机变现项目,号称单窗口日收益10+(教程+软件)

在这个项目中,我们采用一种简便的方法来获取额外收入。比如: 1. 主账号准备:首先,确保拥有一个已开通磁力万合功能的快手主账号。账号需拥有至少一万粉丝,以确保广告收益。 2. 创建快手小号:无需粉丝基础…