GBDT与XGBOOST串讲

Ubuntu22.04 apt 安装 ROS1 ROS Noetic Ninjemys ubuntu 22.04 apt-get 安装 ros1 ros Noetic 最新版 阅读详情

最近,一直被GBDT和XGBOOST烦恼,产生了如下的问题,由此产生了这篇文章。

  • XGBOOST怎么生成一棵树?

  • GBDT算法是什么?

  • GBDT与BT(提升树)是一回事吗?

本篇文章结构:

Boosting Tree(提升树)

提升树是采用加法模型与前向分布算法进行提升的,是基于残差进行训练的。提升树分为回归树和二叉分类树,对于分类问题就是分类树(可以参考AdaBoost算法),对于回归问题就是回归树。至于为什么叫“提升”树?我的理解是因为是加法模型,相加进而为提升。

具体算法如下:

其中2.a步是计算残差,2.b步通过把2.a的残差当作标签,可以使用线性回归的方法进行拟合残差。通过M次循环一共得到M+1颗树,每个输入数据X的结果,是M+1棵树预测的结果之和。

GB算法

当提升树的损失函数是平方损失和指数损失时,每一步优化很简单;但是对于一般函数,优化不是非常简单,因此采用梯度下降法进行优化。至于为什么是“梯度提升”,我的理解是首先基于当前模型损失函数的负梯度信息进行拟合形成新的弱分类器,然后根据残差进行寻找该新分类器的权重!由此,即为梯度提升!

具体算法如下:

第4步,使用梯度作为标签进行拟合新的一棵树;第5步是基于残差进行得到新的一颗树的权重,其中残差来自于第i个数据的标签y与前m-1棵树的差得到的。其中F(x)表示前几棵树的总的函数。

GBDT算法

有了上面的GB算法介绍,那么使用决策树作为弱分类器的GB算法被称为GBDT(Gradient Boosting Decision Tree)。一般采用CART得到决策树,CART是采用基尼指数作为决策树的损失增益函数。基尼指数反应了数据集D中任意两个样本不一致的概率。其基尼指数越高则数据集D的纯度越高;纯度越高正是决策树每个叶子节点的类别越一致。信息熵和基尼指数都是《信息论》中的内容。

XGBOOST

XGBOOST是GBDT算法的工程实现,XGBOOST的公式推导采用二阶泰勒公式的展开形式进行推导,使得每棵树之间得变化更小,而且还使用了正则化项,控制了每棵树的复杂度,进而防止过拟合。

公式推导也可以参见论文XGBoost: A Scalable Tree Boosting System

XGBOOST在生成一颗树的时候,使用如下公式进行左右分支。

训练得到第M棵树的损失函数:   

其实XGBOOST每一次分支采用的是贪心算法,对于决策说来说每次分支也是采用贪心算法,只不过每次进行分支使用的损失函数不一样。对于决策树有基尼指数、信息熵等loss函数。

参考文献:

[1]. 《统计学习方法》(提升树)

[2].《百面机器学习》(集成学习)

[3].XGBoost: A Scalable Tree Boosting System

[4].《机器学习》.西瓜书.周志华

Linux系统安装AutoDockTools、AutoGrid和AutoDock并实现分子对接(详细讲解) linux系统为centos7.0 按照下面操作安装AutoDockTools(MGLTools) 1. 下载安装包,链接(https://ccsb.scripps.edu/mgltools/downloads/),我的linux系统是64位,下载红色标记源代码,拷贝入linux目标文件夹下。 2. shell终端进行安装: 1. 终端进入安装包所在文件夹,并获取root权限;赋予代码安装权限; cd /home/... #目标文件夹,根据目标程序文件位置进行更改 su #获 阅读详情

相关推荐

STM32 热敏电阻测量温度

1、硬件 STM32F103C8T6、热敏电阻传感器、OLED。 2、热敏电阻传感器的介绍

weixin_54721788的博客 1万+

GBDT算法原理及实战

GBDT(Gradient Boosting Decision Tree),全名叫梯度提升决策树,是一种迭代的决策树算法,又叫 MART(Multiple Additive Regression Tree),它通过构造一组弱的学习器(树),并把多棵决策树的结果累加起来作为最终的预测输出。该算法将决策树与集成思想进行了有效的结合。

weixin_44852067的博客 2万+

silvaco(TCAD)击穿特性仿真,的不收敛问题

在silvaco仿真学习过程中,最近这段时间一直有一个很大的问题困扰着我,那就是我在仿真击穿特型曲线的过程中,在电压加到后期比较大的情况下,往往会出现仿真不收敛的情况,正常情况下器件的击穿应该在一个外加偏压上,电流出现迅速的上升,这才是击穿的定义,但是我仿真的过程中程序跑到一个较大的电压时,器件出现击穿,我观察电压电流曲线,在击穿电压(程序报告的)电流并没有出现迅速的变化,类似于下图这种形式。(2)解决方法,将初始电压调整到合适的值,这个值可能是更大的也可能是更小的,要注意多多尝试。

zm19992533002908的博客 4947

GBDT算法原理以及实例理解(含Python代码简单实现版)

GBDT算法原理以及实例理解(含Python代码简单实现版)

wzk4869的博客 4万+

104基于深度学习识别是AI生成还是真实图片

的可视化界面,通过点击左侧可以加载要识别的检测对象图片,点击中间的识别按钮,会识别出结果,识别结果在右侧显示,当前识别的图片是真实的图片,非假图片。有兴趣的小伙伴也可以自行扩充数据集,或训练自己的数据集。文本,分别存放了图片路径和对应的标签。文本里面的数据,并将训练好的模型也保存在本地。即可加载训练好的模型,真假图片进行识别。本期给大家介绍的是基于深度学习识别是。代码整体是非常简便的,总共三个。个文件夹分别是真图和。

xcvxvfgdfgfh的博客 2261

MacBook 本地化部署 Dify 指南

dify 怎么安装部署 有哪些坑 !

weixin_44542598的博客 1522

GBDT算法详解

GBDT知识点详解:包括Gradient Boosting和CART

bb8886的博客 3763

手把手教你用CCS v7.3调试TI DSP28377:从连接仿真器到看懂Flash里的秘密

本文详细介绍了使用CCS v7.3调试TI DSP28377的全过程,从连接仿真器到解析Flash启动机制。通过实战演示和关键配置要点,帮助工程师快速掌握DSP调试技巧,并深入探讨bootloader设计与在线升级的实现方法,提升开发效率。

weixin_29158413的博客 408

GBDT的介绍

一.GBDT简介:         GDBT(Gradient Boosting Decision Tree)是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终结果。它在被提出之初就和SVM一起被认为是泛化能力(generalization)较强的算法。近些年更因为被用于搜索排序的机器学习模型而引起广泛关注。         GBDT是一个应用很广泛的算法,可以用来做分...

dong-技术驱动人生 1万+

OpenTK简介

OpenTK 因其强大的功能、跨平台特性和灵活性,适用于多种需要图形和计算能力的应用场景,为开发者提供了丰富的可能性和创作空间。

仰望星空的博客 1980

08 RK3568 MAC TO MAC直连 RTL8367S mdio

本文:采用rk3568 gamc0 通过rgmii直连 交换芯片的mac口 通信方法为mdio。

qq_39451352的博客 3476

ml课程:机器学习算法串讲及相关常见问题总结

以下是我的学习笔记,以及总结,如有错误之处请不吝赐教。 机器学习的两条路线: 线性模型:逻辑回归-SVM-MLP(多层感知器) 树模型:随机森林-XGBT-lightGBM 问题1:机器学习算法有计算型和规则型这两类的算法,请问这两类下各自的都有哪些算法,以及您对这个分类思路的理解? 计算型:LR逻辑回归、SVM支持向量机、NN神经元网络等通过计算确定参量,基于阈值和得分向量进行分类而达到...

算法人生 717

针对小缺陷目标:在YOLOv11中引入小目标检测层

摘要: 针对YOLOv11在工业检测中漏检微小目标(如焊点气泡)的问题,研究发现深层特征下采样导致小目标信息丢失。通过在YOLOv11中增加P2检测层(4倍下采样)并融合浅层高分辨率特征,可显著提升小目标召回率。关键优化包括:调整模型结构、谨慎设计数据增强策略(减少MixUp、增加小目标粘贴)、重新分配损失权重(提升P2层权重)、优化推理速度(动态分辨率、通道裁剪)。同时强调数据质量的重要性,建议根据具体场景特性(目标尺寸、分布)定制方案,而非盲目调整模型。

as1225120794的博客 366

Python 机器学习与深度学习气象水文海洋全域应用技术体系:地学时空数据 AI 建模、数值模式后处理、气象海洋水文智能预测与数据处理

整套技术体系以 Python 工具链为核心,先讲解 Anaconda、Jupyter 环境配置与基础语法,配套 Numpy、Pandas、Xarray 科学计算库及 Matplotlib、Cartopy 可视化工具,实现折线、填色、流场等各类气象海洋专业图表绘制,依托 Request 库完成 FNL、ERA5 等多源气象海洋数据网络爬取,系统学习 IDW、克里金、RBF 等多类空间插值算法;接着梳理 Bagging、Boosting 集成学习理论,基于 scikit-learn 搭建随机森林、GBDT、XG

AAIshangyanxiu的博客 337

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Python 与人工智能气象建模全流程技术解析:气象大数据AI处理与预测建模技术、气象时空数据智能建模与代码实现详解、AI预测与模式订正

整体从 Python 基础与科学计算工具入手,讲解 Anaconda 环境、Jupyter 调试及 Numpy、Pandas、Scipy、Cartopy 等常用科学计算、可视化库的读写与处理操作,再系统梳理机器学习、深度学习底层原理,讲解梯度下降、CNN、RNN、GAN、PINN 等核心网络架构,依托 sklearn、PyTorch 两大工具完成数据集划分、模型搭建、GPU 加速训练等实操,结合多类气象场景落地集成学习与时序、空间 AI 模型,运用随机森林、KNN、GBDT、XGBoost、LightGBM

AAIshangyanxiu的博客 217

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用能力

深度学习基本理论知识讲解,深入了解机器学习的基础理论和工作原理,掌握如何构建和优化神经网络模型(如人工神经网络ANN,卷积神经网络CNN、循环神经网络RNN等),提高对现有深度学习算法和技术的理解和应用能力,更好地应对后续海洋气象相关领域的实际问题和应用。学习经典机器学习库sklearn的常用功能,如鸢尾花、手写字体等公开数据集的获取、划分训练集和测试集、模型搭建和模型验证等。(3)常用模型原理(随机森林、Adaboost、GBDT、Xgboost、lightGBM)(2)垂直坐标转换,S坐标转深度坐标。

CCfz566的博客 169

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

学完就能用!我用这套教程搞定了台风预报订正、风功率预测和ENSO模型!附完整代码和数据!#深度学习 #气象算法

本专题,在使用ANN预测浅水方程的基础上,进一步掌握如何使用PINN方法,将动力方程加入模型中,缓解深度学习的物理解释性差的问题。本专题,在详细讲解机器学习常用的两类集成学习算法,Bagging和Boosting,对两类算法及其常用代表模型深入讲解的基础上,结合三个学习个例,并串讲一些机器学习常用技巧,将理论与实践结合。是功能强大、免费、开源,实现面向对象的编程语言,能够在不同操作系统和平台使用,简洁的语法和解释性语言使其成为理想的脚本语言。除了标准库,还有丰富的第三方库,Python在。

weixin_48230888的博客 633

Python 气象数据处理从入门到精通:机器学习订正 + 深度学习预测完整教程

《气象海洋数据分析与机器学习应用技术指南》摘要 本指南系统介绍了Python在气象海洋领域的应用技术体系,包含三大核心模块:1) 基础工具链:涵盖Python环境配置、科学计算库(Numpy/Pandas/Xarray)和可视化工具(Matplotlib/Cartopy);2) 数据处理技术:包括网络爬虫、常用插值方法和EOF统计分析;3) 智能算法应用:详细讲解机器学习(Bagging/Boosting系列算法)和深度学习(ANN/CNN/RNN/PINN)在气象模式订正、台风预报、ENSO预测等场景的实

2403_89974123的博客 472

基于Python机器学习、深度学习技术提升气象、海洋、水文领域应用

基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用

JNLWLAQ的博客 144

Python人工智能在气象中的应用

Python是功能强大、免费、开源,实现面向对象的编程语言,在数据处理、科学计算、数学建模、数据挖掘和数据可视化方面具备优异的性能,这些优势使得Python在气象、海洋、地理、气候、水文和生态等地学领域的科研和工程项目中得到广泛应用。为了帮助气象和海洋等地学领域的从业人员更加系统地学习Python在人工智能领域的应用,AI尚研修特举办此次培训班,旨在帮助学员掌握Python实操基础和机器学习与深度学习的理论基础,并进一步实战学习机器学习和深度学习在气象领域的具体案例。

CCfz566的博客 253

Python人工智能在气象中的实践技术应用

本文介绍了Python在地学领域的应用优势,尤其是在气象和海洋科研中的重要作用。文章概述了Python在数据处理、科学计算、机器学习和深度学习方面的强大功能,并详细列出了一个包含四个专题的学习框架:1) Python和科学计算基础;2) 机器学习和深度学习基础理论与实操;3) 气象领域的机器学习应用实例;4) 气象领域的深度学习应用实例。课程内容涵盖从基础语法到高级应用(如模式订正、台风预报、ENSO预测等),旨在帮助地学专业人员系统掌握Python在AI领域的技术应用。

asyxchenchong888的博客 204

基于Python机器学习、深度学习技术提升气象、海洋、水文领域实践应用

Python作为功能强大的开源编程语言,凭借其简洁语法、丰富库支持和跨平台特性,已成为气象、海洋等地学领域的主流工具。本文系统介绍了Python在地学中的应用,涵盖基础语法、科学计算库(Numpy、Pandas、Xarray)、可视化(Matplotlib、Cartopy)、数据爬取、插值方法等核心技术。重点探讨了机器学习和深度学习在气象预报、台风订正、风功率预测等场景的应用,包括随机森林、XGBoost、LSTM、UNET等算法的实践案例,并介绍了EOF分析和模式后处理(WRF、ROMS)等专业应用。

asyxchenchong888的博客 168

Python + 机器学习 / 深度学习在气象海洋领域的综合应用教程:含数据爬取、插值、EOF 分析及 WRF/ROMS 模式后处理与台风 / 风速 / 风功率等典型案例

深度学习基本理论知识讲解,深入了解机器学习的基础理论和工作原理,掌握如何构建和优化神经网络模型(如人工神经网络ANN,卷积神经网络CNN、循环神经网络RNN等),提高对现有深度学习算法和技术的理解和应用能力,更好地应对后续海洋气象相关领域的实际问题和应用。本专题,在详细讲解机器学习常用的两类集成学习算法,Bagging和Boosting,对两类算法及其常用代表模型深入讲解的基础上,结合三个学习个例,并串讲一些机器学习常用技巧,将理论与实践结合。(1)sklearn介绍、常用功能和机器学习方法。

weixin_48230888的博客 315
上一篇: 2020薪资排名第一的专业公布,除了计算机还有这些!
下一篇: 算法刷题 45 天总结
机器学习算法那些事
博客等级 码龄9年 1633粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值