三张简图搞懂GBDT
首先假设你有初步的了解什么是决策树,CART树,集成,Adaboost, boosting的一些概念。
下面我们先了解什么是提升树
都知道,在每个基分类器(CART树)生成的过程,有一个最小化损失函数的步骤,那么对于回归树来说,当我们使用的损失函数是平方损失误差的话,来看看是什么情况:
(注意图片上的标注红字)
看了红字,我觉得大家应该能理解有些书上说的残差,拟合什么的了。
搞懂了提升树,那么来看看什么是GBDT,它也是提升树,只不过是用梯度求解的方法,那么当采用平方损失作为损失函数时,你可以先计算一下此时损失函数的梯度值是什么,你会恍然大悟。
我们来看看下面的图片,平方损失的负梯度求解其实就是我们上面的残差,那么此时用这个负梯度去代替残差,我们就叫GBDT;那么对于一般的损失函数,它的梯度值就不是残差,但是我们用这个梯度去近似残差,这就是更一般的GBDT;
总的来说,当我们用梯度去代替或近似残差,结合所以样本的特征向量,也就是用(X,r残差)去生成回归树,再生成提升树的过程,其实就是GBDT的过程。
最后看一下提升树的算法流程:
希望大家能够看懂!!!!
三张简图搞懂GBDT相关推荐
- 三张图搞懂JavaScript的原型对象与原型链
对于新人来说,JavaScript的原型是一个很让人头疼的事情,一来prototype容易与__proto__混淆,二来它们之间的各种指向实在有些复杂,其实市面上已经有非常多的文章在尝试说清楚,有一张 ...
- H.264 Profile、Level、Encoder三张简图
H.264有四种画质级别,分别是BP.EP.MP.HP: 1.BP-Baseline Profile:基本画质.支持I/P 帧,只支持无交错(Progressive)和CAVLC: 2.EP-Exte ...
- 一张图搞懂Spring bean的完整生命周期
转载自 一张图搞懂Spring bean的完整生命周期 一张图搞懂Spring bean的生命周期,从Spring容器启动到容器销毁bean的全过程,包括下面一系列的流程,了解这些流程对我们想在其中任 ...
- java 原型图_一张图搞懂原型、原型对象、原型链
基本概念 在javascript中,函数可以有属性. 每个函数都有一个特殊的属性叫作原型(prototype) 每个对象拥有一个原型对象 [[Prototype]] / __proto__ / Obj ...
- 【笔记】三张图读懂机器学习:基本概念、五大流派与九种常见算法
文章目录 [笔记]三张图读懂机器学习:基本概念.五大流派与九种常见算法 Chapter 1: A look at Machine learning 1.What is it? 2.How does m ...
- 【科普干货】3张图搞懂Salesforce的认证体系(附新手考证攻略)
Salesforce.com,这家神一般的公司及其产品我就不多说了,需要了解的可以阅读我的另一篇科普文章<一张图读懂Salesforce的产品架构>. 今天给大家带来另一篇关于Salesf ...
- 5张图搞懂Java深浅拷贝
微信搜一搜 「bigsai」 关注这个专注于Java和数据结构与算法的铁铁 文章收录在github/bigsai-algorithm 欢迎star收藏 如果本篇对你有帮助,记得点赞收藏哦! 在开发.刷 ...
- eplan步进电机_干货丨三张接线图搞定步进电机接线问题!
很多小伙伴刚接触步进电机,步进电机驱动器,很有可能对于步进电机接线方法和步进电机接线图弄不明白,所以可能无从下手.下面这篇文章让您快速掌握步进电机的接线方法,三张实用的步进电机接线图教你快速解决. 首 ...
- 4张图搞懂Salesforce的认证体系(附新手考证攻略)
Salesforce认证计划概述 最近这一两年,Salesforce的Trailhead和认证太热门了,小伙伴们前赴后继地刷Badge拿认证,可以考的认证也随着产品家族的增加而增加,从十几年前的几个认 ...
最新文章
- 智源研究院发布《2020北京人工智能发展报告》,剖析北京AI发展的17个中国“第一”...
- python 高阶函数
- 依赖注入Dagger2详解
- docker-ce版本私有仓库搭建
- 201621123024《JAVA程序设计》第四周学习总结
- java所有的质因数_Java实现分解任意输入数的质因数算法示例
- c++如何输入数组_从一个数组中找出 N 个数,其和为 M 的所有可能最 nice 的解法...
- spring boot注释_Spring Boot中的@SpringBootConfiguration注释
- Freeswitch mod 安装
- Django视图与模板+vs2019
- group policy client服务未能登录,拒绝访问
- 分享一个嘉立创封装库(内含AD和PADS两种格式)
- 首字母筛选 java_【Java习作】提取汉字拼音首字母(Java版)
- 脑电分析系列[MNE-Python-7]| Python读取.edf文件
- Beyond Compare实现Class文件对比
- 知乎cookies的介绍_使用cookie登陆知乎
- 关于CMD文件中文乱码的解决方案
- mac 搭建Elasticsearch 6.8.6
- java oca_OCA - Java Test SE8 1Z0-808
- Jenkins - 默认用户名和密码及启动方法
热门文章
- 51单片机PWM调速风扇转速显示转速设置
- 职场学做“功夫熊猫”
- C语言旅途之输出N的M次方的后三位数
- 【Spark】Spark Quick Start(快速入门翻译)
- java控制台打印乱码_java控制台输出出现乱码怎么解决
- 一个区块链美女小白的蜕变——我庆幸自己能生活在这个高速时代!
- 秋招Java岗,心态大崩,今年的面试真的有必要这么卷吗?
- linux下QT工程调用opencv、libtorch,并用cmake编译,及其遇到的一些问题的解决方法
- 批量隐藏隐私文件手机实用干货
- 如何在latex中用tikz画一把“圣剑“