当前位置: 首页 > news >正文

【AI基础篇】梯度提升机

 引言

梯度提升机,它是机器学习中非常强大且常用的一种算法,尤其在结构化/表格数据的预测任务中,表现尤为出色。梯度提升机(Gradient Boosting Machine,GBM)是一种强大的集成学习算法,通过迭代组合多个弱学习器(通常是决策树)来构建高精度预测模型,广泛应用于回归和分类任务。

1. 核心思想:从弱到强,持续进步

梯度提升机(Gradient Boosting Machine,简称 GBM)的核心思想可以用一句话概括:
“三个臭皮匠,顶个诸葛亮”

它属于 集成学习 中 Boosting 家族。其理念是顺序地训练一系列“弱”模型(通常是简单的决策树),每一个后续模型都专注于纠正前一个模型所犯的错误。最终,将这些弱模型的预测结果组合起来,形成一个非常强大的“强”模型。

一个生动的比喻:
你正在学习一门考试。

1. 你先自己做一套模拟题(第一个弱模型),然后对答案。
2. 你把所有做错的题目(错误/残差)整理出来,重点分析为什么错。
3. 你进行第二轮复习,专门针对这些错题(第二个弱模型的目标)。
4. 对完第二轮答案后,你发现还有一些题目错了,或者第一轮做对的现在反而错了。你再次整理出新的错题集(新的残差)。
5. 重复这个过程多次。最终,你通过反复查漏补缺,对知识的掌握变得非常牢固。

GBM 就是这个“学霸”的学习过程。

 2. 核心原理:步步为营的优化

我们从数学和机器学习的角度来分解这个过程。假设我们的任务是监督学习(如回归或分类)。

关键概念一:损失函数


损失函数L(y, F(x))用于衡量我们的模型预测值 F(x)与真实值 y 之间的差距。'

  • 对于回归问题,常用的是平方损失 (y - F(x))^2

  • 对于分类问题,常用的是对数损失

GBM 的目标就是找到一个模型 F(x),使得所有训练样本上的总损失最小。

关键概念二:负梯度 —— “错误的方向”

在GBM中,我们不像一般优化那样直接计算模型参数的梯度,而是计算关于模型预测值本身的梯度。对于每个数据点,我们计算:

r_{im} = -[\frac{\partial L(y_{i},F(x_i))}{\partial F(x_i)} ]_{F(x) = F_{m-1}(x)}

这看起来复杂,但可以简单理解:

  • F_{m-1}(x) 是当前(第 m-1 轮)的集成模型。

  • 这个公式计算的是:为了降低损失,模型的预测值应该向哪个方向移动

  • r_{im} 就是第 m 轮时,第 i 个样本的“伪残差”。它指出了当前模型在哪里犯了错,以及犯错的程度。

在平方损失的情况下,这个伪残差 r_{im} 就等于真正的残差 (y_i - F_{m-1}(x_i)) 这就是为什么我们说新模型在“拟合残差”。

GBM 算法步骤(以回归树为例)
  1. 初始化

    用一个简单的模型初始化第一个预测,比如所有目标值的平均值。F_{0}(x) = arg \underset{\gamma }{min}\sum_{i=1}^{n}L(y_i,\gamma )
    1. 对于平方损失,\gamma 就是 y 的均值。
  2. 迭代循环(对于 m = 1 到 M,M 是树的总数)

  • a) 计算伪残差:对于每一个样本 i = 1, ..., n

                r_{im} = -[\frac{\partial L(y_{i},F(x_i))}{\partial F(x_i)} ]_{F(x) = F_{m-1}(x)}

        

  • b) 拟合弱学习器:使用当前数据集 { (x_i, r_{im}) } 训练一棵新的决策树 h_m(x)这棵树的目标是去预测这些伪残差,即学习“错误的方向”。

  • c) 计算叶节点输出值:对于这棵新树 h_m(x) 的每个叶节点 j,我们不是直接使用该叶节点内残差的平均值作为预测值,而是计算一个最优的缩放值 \gamma _{jm},使得损失最小化:

                \gamma _{jm} = arg \underset{\gamma }{min} \sum_{x_i\in R_{jm}} L(y_i,F_{m-1}(x_i) + \gamma )

        对于平方损失,\gamma _{jm}就是该叶节点内残差的平均值。

  • d) 更新模型:将新树加入到集成模型中,通常还会乘以一个学习率v

        F_m(x) = F_{m-1}(x) + v \cdot \gamma _{jm}

\gamma _{jm}是样本 x 落入的叶节点的输出值。学习率v是一个非常重要的超参数(通常介于0和1之间,如0.1),它控制着每棵树对最终模型的贡献程度,起到正则化的作用,防止过拟合。

        3. 输出最终模型

  • 经过 M 轮迭代后,得到最终的强大模型:

  • F(x) = F_M(x) = F_0(x) + v\sum_{m=1}^{M}\gamma _{jm}

3. 为什么 GBM 如此强大?

  1. 强大的表现力:通过顺序地纠正错误,模型可以捕捉到数据中非常复杂和非线性的模式。

  2. 内置的特征组合:决策树天然地可以进行特征组合,GBM继承了这一优点。

  3. 灵活性:只要损失函数是可微的,就可以使用GBM框架,使其能适应各种任务(回归、分类、排序等)。

  4. 对数据的要求低:不需要对数据进行严格的标准化处理,对缺失值不敏感(树模型本身的特点)。

        

4. 重要的超参数与调优

GBM的强大也带来了调优的复杂性。主要超参数可分为三类:

  • 树结构相关

    • max_depth:单棵树的最大深度。控制树的复杂度,是防止过拟合的关键。

    • min_samples_split / min_samples_leaf:分裂内部节点/成为叶节点所需的最小样本数。

    • max_features:寻找最佳分裂时考虑的特征数。

  • Boosting 过程相关

    • n_estimators:树的数量(M)。太少会欠拟合,太多会过拟合。

    • learning_rate(ν):学习率。它和 n_estimators 是强相关的。通常的做法是设置一个较小的学习率(如0.01~0.1),然后增加树的数量。这通常能获得更好的性能,但计算成本更高。

    • subsample:训练每棵树时,使用的数据比例(小于1.0即为随机梯度提升)。引入随机性有助于防止过拟合。

调优策略:通常使用网格搜索 或随机搜索,并结合交叉验证来寻找最佳超参数组合。

5. 主流实现:XGBoost, LightGBM, CatBoost

库名主要特点适用场景
XGBoostExtreme Gradient Boosting。最早流行的高效实现。具有正则化目标函数、并行处理、加权分位数草图等优化。非常全面稳定。通用性强,是很多数据科学竞赛的“大杀器”。
LightGBMLight Gradient Boosting Machine。基于直方图的算法,速度更快,内存消耗更少。支持梯度单边采样 和互斥特征捆绑处理海量数据、需要快速训练时首选。
CatBoostCategorical Boosting。能原生、高效地处理类别型特征,无需大量预处理。采用有序提升 的方式,能有效避免目标泄漏和过拟合。数据中包含大量类别型特征时表现极佳。

总结

梯度提升机是一种通过顺序构建弱模型(决策树),每一棵新树都拟合当前模型负梯度的方向,从而逐步降低损失函数的集成算法。它的核心在于持续改进专注错误

虽然训练过程相对较慢且对超参数敏感,但其卓越的预测性能使其在工业界和学术界都备受推崇。XGBoost、LightGBM 和 CatBoost 是当前最主流、最高效的实现,掌握它们对于解决实际的机器学习问题至关重要。

http://www.dtcms.com/a/562056.html

相关文章:

  • 机器学习实践项目(二)- 房价预测 - 训练模型
  • dedecms做电商网站南昌短视频代运营公司
  • 【第38章】Spring Cloud之Quartz分布式任务调度
  • 济南网站建设 伍际网络海康打开网站显示建设中
  • 【第37章】Spring Cloud之Spring Cloud Stream分布式消息队列
  • 以 NVIDIA Sionna Research Kit 赋能 AI 原生 6G 科研
  • springboot日志处理
  • 华夏名网网站管理助手百度收录入口提交
  • 厦门 网站建设公司电话网站版面如何布局
  • 六级单词11/2
  • 扩散模型去噪:U-Net 复用机制与条件信息的使用原则
  • 公益组织网站源码百度推广联系方式
  • 成都动力无限 网站 差网站流量统计实现
  • RDPWD!SM_Connect函数里面的SM_CHECK_STATE和RDPWD!smStatetable全局变量的关系
  • 建设网站要求有哪些网络技术培训班多少钱
  • 微信公众号上微做网站jquery 网站后台模板
  • 《从零散到闭环:Unity工具链协同的高效搭建方案》
  • AUTOSAR图解==>AUTOSAR_AP_SWS_OperatingSystemInterface
  • 自己做网站在线看pdf龙城网站建设
  • 论应用系统规划
  • JavaScript事件机制详解:捕获、冒泡与事件委托
  • 网站建设哪家好知道万维科技百度成都分公司
  • 做一网站优化要多少钱新媒体营销岗位有哪些
  • 做网站 做好把我踢开推广哪个平台好
  • 在线字体设计网站云安区市场网络营销方法
  • 泉州网站制作运营商专业做网站策划案
  • 3.7 TCP拥塞控制
  • 网站建设代码南京市浦口区建设局网站
  • 电商开放平台API接口的日常实际应用
  • Agent上下文压缩之战!阿里AgentFold v.s.字节FoldAgent