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

news2024/11/17 12:56:40

在数据科学竞赛中,梯度提升模型(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 正则化)进行调整。

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

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

相关文章

电脑缺少运行库,无法启动程序

在我们使用一些软件的时候,由于电脑缺少一些运行库,导致无法启动应用软件,此时需要我们安装缺少的运行库。 比如当电脑提示: Cannot load library Qt5Xlsx.dll 我们就需要下载C得运行库,以满足软件运行需要。 下载链…

SpringBoot前端URL访问本地磁盘文件

SpringBoot前端通过 URL访问本地磁盘文件,其实就是 SpringBoot访问web中的静态资源的处理方式。 SpringBoot 访问web中的静态资源:https://blog.csdn.net/qq_42402854/article/details/90295079 首先,我们知道浏览器访问本地磁盘文件的方式为…

深色系的B端界面,特定场景非常适合。

深色系B端界面有以下几个好处: 提供更好的可读性:深色背景可以提供更高的对比度,使文字和图标更加清晰易读,尤其在低光环境下或者长时间使用的情况下,可以减少眼睛的疲劳。强调重要内容:深色背景可以使重要…

HTML旋转照片盒子

效果图 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compatible" content…

LeeCode热题100(爬楼梯)

爬楼梯这个题我断断续续看了不下5遍&#xff0c;哪次看都是懵逼的&#xff0c;就会说是满足动态规划&#xff0c;满足斐波那契数列&#xff0c;也不说为什么。 本文一定让你明白怎么分析这个题的规律&#xff08;利用数学的递推思想来分析&#xff09;&#xff0c;看不懂来打我…

网络监听技术

网络监听技术 网络监听概述网络监听环境 流量劫持网络环境共享式网络监听原理交换式网络监听交换机的工作方式交换网络监听&#xff1a;交换机集线器交换网络监听&#xff1a;端口镜像交换网络监听&#xff1a;MAC洪泛交换网络监听&#xff1a;MAC洪泛交换网络监听&#xff1a;…

更新详情 | Flutter 3.22 与 Dart 3.4

作者 / Michael Thomsen 过去几个月&#xff0c;Dart & Flutter 部门可谓忙碌非凡&#xff0c;但我们很高兴地宣布&#xff0c;Flutter 3.22 和 Dart 3.4 已经在今年的 Google I/O 大会上精彩亮相&#xff01; Google I/Ohttps://io.google/2024/intl/zh/ 我们始终致力于提…

windows11下将Labelme标注数据转为YOLOV5训练数据集

完整代码&#xff1a; import shutil import os import numpy as np import json from glob import glob import cv2 from sklearn.model_selection import train_test_split from utils.data_dir import root_dirdef convert(size, box):dw 1. / (size[0])dh 1. / (size[1]…

如何仿一个抖音极速版领现金的进度条动画?

效果演示 不仅仅是实现效果&#xff0c;要封装&#xff0c;就封装好 看完了演示的效果&#xff0c;你是否在思考&#xff0c;代码应该怎么实现&#xff1f;先不着急写代码&#xff0c;先想想哪些地方是要可以动态配置的。首先第一个&#xff0c;进度条的形状是不是要可以换&am…

五种主流数据库:常用数据类型

在设计数据库的表结构时&#xff0c;我们需要明确表中包含哪些字段以及字段的数据类型。字段的数据类型定义了该字段能够存储的数据种类以及支持的操作。 本文将会介绍五种主流数据库中常用的数据类型以及如何选择合适的数据类型&#xff0c;包括 MySQL、Oracle、SQL Server、…

零代码本地搭建AI大模型,详细教程!普通电脑也能流畅运行,中文回答速度快,回答质量高...

你好&#xff0c;我是郭震 这篇教程主要解决&#xff1a; 1). 有些读者朋友&#xff0c;电脑配置不高&#xff0c;比如电脑没有配置GPU显卡&#xff0c;还想在本地使用AI&#xff1b; 2). Llama3回答中文问题欠佳&#xff0c;想安装一个回答中文问题更强的AI大模型。 3). 想成为…

汽车IVI中控开发入门及进阶(二十四):杰发科技AC8015

前言: 在此之前的大部分时间,四维图新更多的是以图商的身份在业内出现,但现在四维图新图商之外的技术积累提现在了杰发科技身上,或者是从图商到汽车智能化一体解决方案供应商的角色转变。汽车智能化,可以简单的归为座舱智能化和智能驾驶两个板块。 随着汽车变得越来越智能…

显示器与电脑如何分屏显示?

1.点击电脑屏幕右键--显示设置 2、然后找到屏幕---找到多显示器---选择扩展显示器

重生奇迹MU召唤师如何学习狂暴术?

一、了解狂暴术的基本信息 狂暴术是一种非常强大的技能&#xff0c;可以让召唤师的攻击力和防御力大幅度提高&#xff0c;但同时也会增加自身的伤害。在使用狂暴术之前&#xff0c;召唤师需要仔细考虑自己的状态和对手的情况。 二、学习狂暴术的方法 1.通过任务学习 在游戏…

戴尔科技:一盆冷水浇醒了AIPC

这年头&#xff0c;只要沾上英伟达的公司&#xff0c;不论美股还是大A,都跟着鸡犬升天几轮过&#xff0c;但昨晚英伟达蒸发1064亿美元&#xff0c; 跟着遭罪的也不少&#xff0c;有没有一夜惊魂梦醒的感觉&#xff1f; 今天我们来说说——戴尔科技。 昨晚戴尔科技大跌5.18%&a…

查看VUE3代理后真正请求的URL

在vite.config.ts中添加如下配置&#xff1a; server: {host: "0.0.0.0", // 指定服务器应该监听哪个 IP 地址port: 8848, // 指定开发服务器端口open: true, // 开发服务器启动时&#xff0c;自动在浏览器中打开应用程序cors: true,// Load proxy configuration fr…

建议收藏-各类IT证书查验真伪链接

1、红帽认证证书核验链接&#xff1a; https://rhtapps.redhat.com/verify/ RHCSA认证、RHCE认证、RHCA认证 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 2、华为认证证书核验链接&#xff1a; https://e.huawei.com/cn/talent/#/cert/certificate…

Java进阶学习笔记31——日期时间

Date&#xff1a; 代表的是日期和时间。 分配Date对象并初始化它以表示自标准基准时间&#xff08;称为纪元&#xff09;以来的指定毫秒数&#xff0c;即1970年1月1日00:00:00。 有参构造器。 package cn.ensource.d3_time;import java.util.Date;public class Test1Date {pu…

YOLOv10涨点改进:卷积魔改 | 分布移位卷积(DSConv),提高卷积层的内存效率和速度

💡💡💡本文改进内容: YOLOv10如何魔改卷积进一步提升检测精度?提出了一种卷积的变体,称为DSConv(分布偏移卷积),其可以容易地替换进标准神经网络体系结构并且实现较低的存储器使用和较高的计算速度。 DSConv将传统的卷积内核分解为两个组件:可变量化内核(VQK)和…