GBDT(梯度提升树,Gradient Boosting Decision Tree)

news2025/2/27 10:11:58

GBDT(Gradient Boosting Decision Tree)在数据分析和预测中的效果很好。它是一种基于决策树的集成算法。其中Gradient Boosting 是集成方法boosting中的一种算法,通过梯度下降来对新的学习器进行迭代。而GBDT中采用的就是CART决策树

一、Boosting

Boosting指把多个弱学习器相加,产生一个新的强学习器(如adaboost, GBDT, xgboost)。每一个弱学习器表示为 f i ( x ) f_{i}(x) fi(x),则Boost强学习器为
F ( x ) = ∑ f i ( x ) F(x)=\sum{f_{i}(x)} F(x)=fi(x)
Boosting是把多个学习器串联,bagging是把多个学习器并联。

二、Gradient Boosting

对于输入 x x x和结果 y y y

第一个学习器预测出 f 1 ( x ) = y ′ f_{1}(x)=y' f1(x)=y,则残差 β = y − y ′ β=y-y' β=yy,此时将 β β β看作下一个学习器 f 2 ( x ) f_{2}(x) f2(x)的训练目标。

即对于n-1个弱学习器组成的强学习器
F n − 1 ( x ) = ∑ i = 1 n − 1 f i ( x ) F_{n-1}(x)=\sum_{i=1}^{n-1}{f_{i}(x)} Fn1(x)=i=1n1fi(x)
下一个弱学习器 f n ( x ) f_{n}(x) fn(x) y − F n − 1 ( x ) y-F_{n-1}(x) yFn1(x)作为新的学习目标进行学习。

image-20230221185535046

而GBDT则是把CART决策树作为每次弱分类器学习的方法。

三、优势和缺陷

1、优点

  • 各弱学习器层数较浅,训练难度小
  • 能处理非线性数据。可以灵活处理各种类型的数据,包括连续值和离散值。
  • 使用一些健壮的损失函数,对异常值的鲁棒性非常强。比如 Huber损失函数和Quantile损失函数。

2、缺点

  • 由于弱学习器之间存在依赖关系,难以并行训练数据。不过可以通过自采样的SGBT来达到部分并行。
  • 适合低维数据,如果数据维度较高时会加大算法的计算复杂度

参考链接:

GBDT算法介绍

GBDT算法的优缺点

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

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

相关文章

一周搞定模拟电路视频教程,拒绝讲PPT,仿真软件配合教学,真正一周搞定

目录1、灵魂拷问2、懦夫救星3、福利领取2、使用流程1、灵魂拷问 问:模拟电路很难吗? 答:嗯,真的很难!!! 问:模拟电路容易学吗? 答:很难学,建议放…

微电影广告具有哪些特点?

微电影广告是广告主投资的,以微电影为形式载体,以新媒体为主要传播载体,综合运用影视创作手法拍摄的集故事性、艺术性和商业性于一体的广告。它凭借精彩的电影语言和强大的明星效应多渠道联动传播,润物细无声地渗透和传递着商品信…

Tomcat介绍

Tomcat介绍 tomcat是一个免费的,开放源代码的Web应用服务器,是Apache软件基金会项目中的一个核心项目,由Apache ,Sun和一些公司以及个人共同开发而成,深受Java爱好者的喜爱,是一款比较流行的web应用服务器…

【C++11】可变参数模板(函数模板、类模板)

在C11之前,类模板和函数模板只能含有固定数量的模板参数。C11增强了模板功能,允许模板定义中包含0到任意个模板参数,这就是可变参数模板。可变参数模板的加入使得C11的功能变得更加强大,而由此也带来了许多神奇的用法。 可变参数模…

buu [BJDCTF2020]signin 1

题目描述: 题目分析: 打开发现是16 进制数(我也不知道我是怎么发现的,先是尝试了md5和rot-n,发现都不行,然后参考大佬的才知道是16进制)使用 在线16进制转字符串 便能得到 flag但我如果不想用线上工具&…

当搭建nginx服务时启动闪退,访问不了服务器

在学习nginx搭建集群服务器时遇到了一些小困难,明明跟着教程视频来操作却启动出问题,闪退,然后访问不了服务器等问题,搞半天搞不清楚,不知道从何下手?当你也遇到这样的情况,或许我这里可以给出一…

网络有线无线配置

一、需求 在无线接入区内,当Lsw1的上联口出现故障时,需要通过AP1-LSw1-LSw2-LSw3的路径访问公网server3。这是因为AP1通过无线网连接到LSw1,而LSw1与LSw3之间的链路出现故障,无法直接访问公网server3。因此,流量需要通…

02-18 周六 图解机器学习之SMV 第五章5-2

02-18 周六 图解机器学习之SMV 第五章5-2时间版本修改人描述2023年2月18日11:47:18V0.1宋全恒新建文档 环境 程序的基本环境,是使用了jupyter,在容器中运行的。 简介 本程序主要演示支持向量的获取,支持向量是距离超平面最近的点组成的。程序…

django+celery+ RabbitMQ自定义多个消息队列

关于django celery的使用网上有很多文章,本文就不多做更多的说明。 本文使用版本 python3.8.15 Django3.2.4 celery5.2.7celery.py from __future__ import absolute_import, unicode_literals import os from celery import Celery from kombu import Exchange, …

XC7K70T-1FBG484C, XC7A50T-1CSG324I FPGA,Kintex-7 285 I/O

说明Kintex-7 FPGA为快速增长应用和无线通信提供最优性价比和低功耗。Kintex-7 FPGA具有卓越的性能和连接性,与前一代相比,优化了最佳性价比,提高了2倍,实现了新一类fpga。Kintex-7内置支持8通道PCI Express (Gen1/Gen2)&#xff…

RPC框架dubbo的学习

一、基础知识 1、分布式基础理论 1.1)、什么是分布式系统? 《分布式系统原理与范型》定义: “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统” 分布式系统(distributed system&#…

Linux驱动开发—设备树开发详解

设备树开发详解 设备树概念 Device Tree是一种描述硬件的数据结构,以便于操作系统的内核可以管理和使用这些硬件,包括CPU或CPU,内存,总线和其他一些外设。 Linux内核从3.x版本之后开始支持使用设备树,可以实现驱动代…

Vue3后台管理系统(四)SVG图标

目录 一、安装 vite-plugin-svg-icons 二、创建图标文件夹 三、main.ts 引入注册脚本 四、vite.config.ts 插件配置 五、TypeScript支持 六、组件封装 七、使用 Element Plus 图标库往往满足不了实际开发需求,可以引用和使用第三方例如 iconfont 的图标&…

Java数组,超详细整理,适合新手入门

目录 一、什么是Java中的数组? 二、数组有哪些常见的操作? 三、数组的五种赋值方法和使用方法 声明数组 声明数组并且分配空间 声明数组同时赋值(1) 声明数组同时赋值(2) 从控制台输入向数组赋值 四、求总和平均 五、求数组中最大值最小值 六…

leetcode.1326 灌溉花园的最少水龙头数目 - 贪心

1326. 灌溉花园的最少水龙头数目 题目: 思路: 注意:「整个花园」包含不是整点的位置,例如 0.5 这种小数位置也要被灌溉到 对于所有能覆盖某个左端点的水龙头,选择能覆盖到最远右端点的水龙头是最优解 比较像【搭桥】的…

ArcGIS批量拼接大量栅格遥感影像:Mosaic工具

本文介绍在ArcGIS下属的ArcMap软件中,基于Mosaic工具,批量对大量栅格遥感影像文件加以拼接、镶嵌的方法。 在GIS应用中,我们时常需要对大量栅格遥感影像数据加以批量拼接的工作。这一步骤可以基于Python语言实现,具体可以参考文章…

HIVE 基础(三)

目录 建表语句 表数据 Hive建表高阶语句 - CTAS and WITH CTAS – as select方式建表 CTE (CTAS with Common Table Expression) LIKE 创建临时表 清空表数据 修改表(Alter针对元数据) 改名 修正表文件格式 修改列名 添加列 替换列 动态分…

如何在面试中介绍自己的项目,才能让软件测试面试官无可挑剔,

四、项目 4.1 简单介绍下最近做过的项目 根据自己的项目整理完成,要点: 1)项目背景、业务、需求、核心业务的流程 2)项目架构,B/S还是C/5,数据库用的什么? 中间件用的什么?后台什么语言开发…

使用统一返回响应,出现String类型转换失败的问题

使用统一返回响应,出现String类型转换失败的问题问题描述解决方案1、替换fastjson转换器2、在统一响应中,对String类型特殊处理3、加入Jackson转换器解决(同时可关闭Zalando的堆栈打印)问题描述 在对项目框架进行升级处理的时候&…

数据存储(整型数据存储)

目录 一、 数据类型详细介绍 1.类型的基本归类 二、 整形在内存中的存储 1.原码、反码、补码 对于整形来说:数据存放内存中其实存放的是补码。 三、大小端字节序介绍及判断 1、大端小端: 2、写出一个判断大小端的程序 四、练习整型存储 8个练习…