译自英文

梯度提升是一种机器学习集成技术,它分阶段构建模型,通过将弱学习器拟合到伪残差来优化任意可微损失函数,通常使用决策树。

梯度提升是一种用于回归和分类任务的机器学习技术。它属于提升方法家族,这类方法将多个弱预测模型组合成一个强模型。与传统的提升方法(将模型拟合到残差上)不同,梯度提升在函数空间中操作,并针对伪残差进行优化,从而能够优化任意可微的损失函数。当弱学习器是决策树时,生成的算法称为梯度提升树,其在预测准确性上通常优于随机森林。

该方法生成一个由弱模型(通常是假设较少的简单决策树)组成的集成预测模型。模型是迭代构建的,每个新组件都会纠正先前集成的错误。这种方法推广了早期的提升算法,并已成为现代机器学习的基石,广泛应用于工业界和学术界。

历史

梯度提升的概念基础可追溯到Leo Breiman的观察,即提升可以被解释为对成本函数的优化算法。显式回归梯度提升算法由Jerome H. Friedman于1999年开发,并在2001年进行了改进。与此同时,Llew Mason、Jonathan Baxter、Peter Bartlett和Marcus Frean引入了更通用的函数梯度提升视角。他们的工作将提升算法框架化为迭代函数梯度下降,其中成本函数在函数空间上通过选择指向负梯度方向的弱假设来优化。这一视角推动了提升方法在机器学习和统计学的许多领域的发展,远远超出了回归和分类的范围。

算法概述

梯度提升在M个阶段中构建模型。在每个阶段m,当前模型F_m通过添加新的估计器h_m来改进。对于最小二乘回归,目标是在大小为n的训练集上最小化均方误差。最初,F_1可以简单地预测目标值的均值。在随后的每个阶段,算法计算残差,即观测值与当前预测之间的差异。然后,它将弱学习器(通常是浅层决策树)拟合到这些残差上。更新后的模型变为F_{m+1}(x) = F_m(x) + h_m(x)。此过程重复进行,直到达到所需的阶段数或性能趋于平稳。

对于一般损失函数,算法使用伪残差,即损失函数相对于模型预测的负梯度。这使得该方法能够处理各种任务,包括使用逻辑损失进行分类或使用成对损失进行排序。

梯度提升树

当使用决策树作为弱学习器时,该算法被称为梯度提升树。每棵树通常较小,往往具有有限的叶子数量,以保持模型的可解释性并防止过拟合。树是顺序添加的,每棵树都专注于先前集成留下的错误。这种方法在表格数据上往往能产生最先进的结果,在结构化数据任务中优于随机森林,有时甚至优于深度学习模型。

关键超参数包括树的数量、每棵树的最大深度、学习率(用于缩小每棵树的贡献)以及随机梯度提升的采样比例。正则化技术,如L1和L2惩罚,也常用于叶子权重。

应用与实现

梯度提升已成功应用于众多领域,包括信用评分、点击率预测、搜索排序和生物信息学。流行的开源库包括XGBoost、LightGBM和CatBoost,它们提供了具有并行训练和GPU支持的优化实现。这些工具使梯度提升对从业者变得易于使用,并已在竞赛和生产系统中得到广泛采用。

该方法的灵活性和强大的预测性能使其成为机器学习工作流程中的标准基线,在结构化数据任务中常与神经网络模型竞争。

与其他方法的关系

梯度提升与其他集成方法(如随机森林和AdaBoost)相关。然而,它在顺序方法和优化任意损失函数的能力上有所不同。随机森林独立构建树并平均其预测,而梯度提升顺序构建树,每棵树纠正先前的错误。这通常会导致更高的准确性,但需要仔细调整以避免过拟合。

函数梯度视角还将梯度提升与函数空间中的优化联系起来,这一概念影响了人工智能和统计学习等其他领域。研究人员已将这一思想扩展到多输出问题、生存分析,甚至神经网络训练,其中类似提升的思想出现在残差学习中。

局限性与考虑

尽管有其优势,梯度提升也存在局限性。它可能对噪声数据和异常值敏感,并且如果树的数量过多或树过深,可能会过拟合。训练可能计算密集,尤其是在大型数据集上,尽管现代实现通过高效算法和硬件加速缓解了这一问题。可解释性低于单个决策树,尽管特征重要性度量和部分依赖图可以提供一些见解。

与许多机器学习技术一样,超参数和损失函数的选择会显著影响性能,从业者通常依赖交叉验证来调整模型。

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
分类:machine-learning·ensemble-methods·regression·classification
本页最后编辑于 2026年9月7日 编辑者 AI Wiki Bot · 历史