机器学习方法篇(9)------梯度提升决策树GBDT

2023-11-04

● 每周一言

生命在于运动,无论脑力还是体力。

导语

前面第3、4两节介绍了决策树,由于决策树简单有效,可解释性强,因此被包装成了一些更为高效的机器学习算法,其中最为知名的就是梯度提升决策树GBDT(Gradient Boosting Decision Tree)和随机森林(Random Forest)这两种模型。本节讲解GBDT,讲讲这个在各大竞赛中炽手可热的模型。

GBDT

G-B-D-T梯度提升决策树,顾名思义,是一个与梯度有关、对决策树进行了提升的机器学习模型。我们不妨从后往前依次聊聊GBD这几个定语,从而理解这个模型的精髓。

fig1

DT(Decision Tree) 决策树。 T自不必多说,作为一种常见的数据结构出现在各种算法当中。DT决策树,有分类树与回归树两种,之前文章中讲到了分类树,可参见 机器学习方法篇(3)——决策树入门机器学习方法篇(4)——决策树剪枝。回归树原理机制与分类树相似,区别在于分类树只有在叶子结点返回唯一分类,而回归树的每个节点都能返回预测值,通常为当前节点下所有样本的均值。

B(Boosting) 提升。即在原来模型的基础之上做进一步提升,提升决策树BDT的基本思想是采用多棵决策树串行建模。具体过程为,对于第一棵树之后的每一棵决策树,都基于前一棵决策树的输出进行二次建模,整个串行建模过程相当于对预测结果朝目标值进行修正。

G(Gradient) 梯度。梯度的大小反映了当前预测值与目标值之间的距离。因此,上面B所述的串行决策树模型,除开第一棵决策树使用原始预测指标建树,之后的每一棵决策树都用前一棵决策树的预测值与目标值计算出来的负梯度(可以理解为残差或者增量)来建树。这相当于给分错的样本加权多次分类,使样本最终的残差趋近于0。除开第一棵树的其他树,由于都是对目标的残差或增量进行建模预测,因此GBDT模型只需把过程中每一棵决策树的输出结果累加,便可得到最终的预测输出。

fig2

这里借用网上流传较广的一个预测年龄的例子来描述GBDT的过程。一共4个样本:
A(消费较高、经常被学弟问问题)27岁
B(消费较高、经常问学长问题) 23岁
C(消费较低、经常被学弟问问题)17岁
D(消费较低、经常问学长问题)13岁

串行决策树构建如下图所示。可知模型拟合情况,A的年龄为25 + 2 = 27岁,B的年龄为25 - 2 = 23岁,C为15 +2 = 17岁,D为15 - 2 = 13岁。

fig3

综上,一句话概括GBDT的核心思想就是: 串行训练n(n > 2)棵决策树,其中第i(1 < i ≤ n)棵树学习第i - 1棵树的负梯度(可理解为残差或增量),n棵树的输出结果累加作为最终输出结果。敬请期待下节内容。

结语

感谢各位的耐心阅读,后续文章于每周日奉上,敬请期待。欢迎大家关注小斗公众号 对半独白

face

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习方法篇(9)------梯度提升决策树GBDT 的相关文章

随机推荐

  • 解决Ubuntu16.04ping www.baidu.com不通的问题

    想要安装一个包 发现Ubuntu16 04不能上网 在终端ping百度 发现不通 问题如下 解决方法 1 检查你是否有IP信息 使用命令ifconfig 如果没有IP 则参照我的上一篇文章 获取IP 2 如果有IP 则进行下一步 执行以下命
  • 其他总结(四)--win10手动一小时四小时一天重新打开wifi

    win10出现这种个情况 是因为你吧笔记本的wifi关了 可以按fn F 这里的 号指你笔记本上的含有wifi信号开关的那个F键 我的是F2 重新开启就可以连接了 还可以用其他方式打开 https jingyan baidu com alb
  • Python语言—爬虫之旅

    活动地址 毕业季 进击的技术er 一 目前是大几 学习的专业是 本专业让你Get到哪些新技能 二 从哪个瞬间开始让你决定学习编程语言 三 进入大学敲下的第一行代码是什么 四 目前学习中最大的收获难是 五 大学期间的学习目标是 对未来的职业规
  • 使用pandas对xlsx文件的基本操作

    起因 因最近实习期间 要求查看 xlsx文件中数据是否有误 由于数据较多 想用python去执行 结果发现网上对xlsx文件操作或是太旧 大多难以应用 所以自己整理了一下 以备自己后用 模拟一个测试数据集data test xlsx文件 文
  • Broken pipe异常分析和常用锁的命令

    错误描述 ClientAbortException java io IOException Broken pipe 这种就是获取不到连接了 连接已经断开了 出现这种问题的可能性 1 连接太多 到了最大连接数 每个连接处理的速度太慢 而导致处
  • COLMAP导出相机外参(bin文件转txt文件)

    官方给出的images txt如下图 Image list with two lines of data per image 每张图像数据占两行 IMAGE ID QW QX QY QZ TX TY TZ CAMERA ID NAME 图像
  • 基于mykernel完成多进程的简单内核

    学号 476 实验资源 https github com mengning linuxkernel 1 实验环境准备 使用个人电脑的parallels desktop ubuntu虚拟机 1 安装qemu sudo apt get inst
  • DCT变换 / DWT变换 ----课堂笔记

    之前也学过 但没有个具体总结 忘差不多了 DCT变换 一 DCT变换的全称是离散余弦变换 DCT 主要用于数据或者图像的压缩 由于DCT能够将空域的信号转换到频域上 因此具有良好的去相关性的性能 DCT变换本身是无损的且具有对称性 对原始图
  • 分支创建&查看&切换

    1 初始化git目录 创建文件并将其推送到本地库 git init echo 123 gt hello txt git add hello txt git commit m first commit hello txt git init I
  • hive分区与分桶

    为什么要分桶 获得更高的查询处理效率 在分区数量过于庞大以至于可能导致文件系统崩溃时 或数据集找不到合理的分区字段时 我们就需要使用分桶来解决问题了 分区中的数据可以被进一步拆分成桶 不同于分区对列直接进行拆分 桶往往使用列的哈希值对数据打
  • 什么是模式识别(简单易懂)

    1 大脑有一种偏好 叫模式化 这也是源于大脑具有的一个重要功能 模式识别 大脑不是把每个信息点全部处理后再进行识别 而是迅速抓住几个重要特征 然后与大脑中的已有模式对比 只要差不多 就套用 比如 我们可以在一张很多人的合影中迅速识别出某个特
  • 解决开启防火墙后,服务器不能ping通,网站不能访问的问题

    1 解决能ping通的设置 控制面板 Windows防火墙 高级设置 入站规则 然后右键启用这个选项就可以了 2 解决网站不能访问的设置 控制面板 Windows防火墙 高级设置 点击入站规则 新建规则 这样就将80端口加入到入站规则中 实
  • CPU与GPU上检测pytorch是否安装成功

    文章目录 python学习 0 安装pytorch 1 验证pytorch已经安装成功 1 1确定pytorch版本 1 2 测试pytorch基础功能 1 3 在GPU上测试pytorch 1 4使用实例代码测试 python学习 pyt
  • 历史与AES算法

    AES算法早期体现 应该追溯到明朝科举制时期 当然 这种算法不是用来答题的 而是用来作弊的 假如 张三是明朝某大户人家的公子哥 他除了以后要继承遗产外 还要考虑一个光宗耀祖的问题 但在古代 解决这个问题的唯一办法就是通过科举 可张三天生喜欢
  • VM ubuntu所在的移动硬盘意外接触不良,虚拟机异常退出后无法重启

    我的VM版本为VMware Workstation 17 Pro Ubuntu版本为22 04 一次因为虚拟机所在的移动硬盘接触不良 异常退出 重启主机后启动虚拟机 先是ubuntu ubuntu高级选项等选项让我选 然后在我选择了ubun
  • linux---sed命令

    sed命令目录 一 sed命令概念 二 sed命令的格式 1 在命令行定义编辑器命令 2 在命令行使用多个编辑器命令 3 从文件中读取编辑器命令 三 更多的替换选项 1 替换标记 有4种可用的替换标记 2 替换字符 四 使用地址 在sed编
  • 07FFMPEG的AVCodec结构体分析

    07FFMPEG的AVCodec结构体分析 概述 该结构体位于libavcodec库中的codec h中 注意 非公共区域的字段我可能不会翻译 因为翻译也不知道说什么 还是保留着原文更好 其它的结构体分析同理 1 AVCodec 结构体 t
  • 银联支付(亲测成功)

    银联支付 SDK使用 测试流程 此文为银联入门 比较简单 不涉及springboot springcloud 普通web就可以 作者是eclipse 下载demo开发包 https open unionpay com upload down
  • 朴素贝叶斯解决天气问题

    朴素贝叶斯是一种基于贝叶斯定理的分类方法 该算法是有监督的学习算法 解决分类问题 在该算法中 我们假设给定目标值时 属性之间相互条件独立 即 贝叶斯定理 对于分类问题 样本x属于类别y的概率 其中 P y 是指未使用数据训练分类器之前的y的
  • 机器学习方法篇(9)------梯度提升决策树GBDT

    每周一言 生命在于运动 无论脑力还是体力 导语 前面第3 4两节介绍了决策树 由于决策树简单有效 可解释性强 因此被包装成了一些更为高效的机器学习算法 其中最为知名的就是梯度提升决策树GBDT Gradient Boosting Decis