相较于AdaBoost的经典算法模型而言,目前主流的是GBDT系列模型,与AdaBoost(其组合可以是任意单模型)不同的是,提升树(boosting tree)的弱分类器只能是决策树模型。
利用损失函数的负梯度求解(为什么会采用这种方式进行求解呢?因为在损失函数为平方或者对数形式时,前向分布算法的求解比较容易,但是损失函数如果是一般的形式,那么其向前分布算法的求解迭代过程是不容易的,故此时可以采用负梯度求解的方式解决)提升树前向分布迭代过程的方法是梯度提升树(gradient boosting tree)
GBDT(梯度提升决策树,gradient boosting decision tree ),其组成的模型为CART决策树 。针对分类问题进行解决的,其分类的基本模型为二叉分类树 ,其对应的梯度提升决策树称为GBDT;针对回归问题进行解决的,其回归的基本模型为二叉回归树 ,其对应的梯度提升回归树称为GBRT(gradient boosting regression tree)
其实GBDT和GBRT很好理解,就是对决策树进行组合,一个决策树解决了一个任务80%,下一个决策树解决剩余损失的20%中70%,最终不断的进行决策树的迭代,得到最优的决策结果,这其中决策树组合就是提升决策树。使用梯度下降法对提升决策树进行优化的过程就是梯度提升树模型GBDT的实现流程(其整体的构建过程总结为:点-》一个树-》多个树):树结点-》CART(分类树/回归树)-》GBDT(基本超参数-》拟合方法-》预测方法)-》损失函数(交叉熵损失-》均方损失-》一阶导数)-》辅助函数(数据标准化-》数据划分方法-》数据打乱方法)
其适用场景在对于一个数据集需要对其进行分类(GBDT需要对标签进行编码 )或者回归预测(GBRT)的任务。GBDT和GBRT在sklearn中都封装好了,到时候直接进行调用即可快速实操
机器学习——GBDT、GBRT
爱吃泡芙的小白白2025-03-29 11:28
相关推荐
且慢.5891 天前
机器学习/深度学习名词理解Y200309161 天前
PyTorch 实现 CIFAR10 图像分类知识点总结姜—姜1 天前
使用 PyTorch 框架对 CIFAR - 10 数据集进行CNN分类ygy.白茶1 天前
基于 PyTorch 的模型测试与全局平均池化实践凳子(刘博浩)1 天前
使用 PyTorch 实现 CIFAR-10 图像分类:从数据加载到模型训练全流程星川皆无恙1 天前
电商机器学习线性回归:基于 Python 电商数据爬虫可视化分析预测系统羽落·星辰1 天前
NAFNet (Simple Baselines for Image Restoration) 阅读笔记Godspeed Zhao1 天前
自动驾驶中的传感器技术53——Radar(14)Python极客之家1 天前
基于机器学习的心血管疾病智能预测系统史锦彪1 天前
PyTorch 实现 CIFAR-10 图像分类:从基础 CNN 到全局平均池化的探索