形式陈述
给定 个训练样本、实值基学习器类理路预测器与假设类Predictor · Hypothesis class区分可用于预测的函数、函数集合及其参数表示。 、初始实值预测器 与整数轮数上限 。Gradient Boosting 在样本预测向量 上使用标准欧氏内积,以经验损失的负梯度理路梯度Gradient标量函数微分在内积下对应的向量。指导逐阶段函数拟合,构造加法预测器
其中 是 shrinkage 学习率,,常见选择是浅回归树。给定对预测值连续可微的损失 ,目标是降低经验风险
每轮先在 中计算各训练预测值的下降方向,再用一个可求值的基函数逼近这组数。函数在未见输入上的延伸由基学习器决定;样本上的梯度本身并未指定这些延伸。
负梯度伪残差
第 轮在当前预测 处计算
这些 称为伪残差。理想的精确拟合步骤为
再通过一维线搜索选择
最后更新 。这里的两个 argmin 只有在极小值取得时才指定有限解;实现必须提供会终止的拟合与步长子程序。若只能近似求解,应明确返回的误差或接受规则;若没有有限线搜索解,则改用有限步长,或停止并返回已有组合。
基学习器给出的是残差向量的最小二乘逼近。只有可达预测向量组成线性子空间时,它才是通常的正交投影;回归树类一般不是线性子空间。对当前伪残差 和方向 ,风险沿正步长的一阶变化为 ,所以正相关才给出局部下降方向。
执行成本取决于所选拟合与线搜索子程序。缓存当前 个训练预测后,第 轮需 次损失导数求值、一次弱学习器拟合、该学习器在 个样本上的求值,以及实际线搜索调用的损失求值;在这些成本之外,残差与累计预测更新需 标量算术工作。线搜索的尝试次数与拟合成本分别计入,不能仅由轮数推出统一训练时间。除训练数据和子程序工作空间外,当前预测、残差和新方向可用 个标量槽复用;输出模型须保存 、各轮规则及系数。样本外查询逐项计算 和所有保留的 ,再作每轮常数次加乘,因此查询成本是这些求值成本之和加 。
直觉
Gradient Boosting 的残差修正 对
有
因此伪残差就是熟悉的 。每轮回归树拟合尚未解释的残差,再把一部分修正加回预测。这个特例让“提升”看起来像反复修补误差,但一般损失下应以负梯度定义,不能把所有伪残差都解释为观测减预测。
对二分类 logistic 损失,伪残差与当前预测概率和标签之差相关,困难或错分样本获得较大修正。它与 AdaBoost 的指数重加权有相似函数梯度图像,却不是同一更新式。
例子与边界
树作为基学习器
当 是回归树,树结构先把输入空间分成叶区域 。实际算法常为每个叶子单独求最佳步长
再更新
树深控制单轮可表达的交互阶数:树桩只作一次切分,深树能拟合高阶交互,却也更容易追逐样本噪声。
一个具体过程
在房价回归中,初始常数 可取训练标签均值。第一棵浅树发现“面积”解释最大一部分残差;第二轮残差中,面积主效应已减弱,树可能转而捕捉“区域”和“房龄”的系统偏差。后续树不是各自独立预测完整房价,而是针对当前组合仍留下的函数方向作修正。
若某条记录的价格录入错误,平方损失伪残差会极大,许多后续树可能反复围绕它切分。换用稳健损失、限制叶子最小样本数或提前停止,是在目标与函数类层面处理问题;仅把树数增多会让训练风险更低,却不会修复污染。
线搜索与 shrinkage 的下降条件
精确线搜索若有有限最优解,因 是候选,未缩放的整步不会增大经验风险。若每个 凸,沿线目标 也凸,故
这才说明 的缩步仍不增大风险。非凸目标需要直接检验最终实际步长;可在有限次尝试内缩短步长,若仍不被接受,就取零步或停止。
一个光滑、非负的反例是 。从 出发有 、,正方向确实下降,整条线上唯一全局最小点是 。但取半步到 ,损失变成 。因此“先求最佳整步,再任意缩短”对非凸损失并非下降证明。
极小值是否取得也是独立问题。若一条方向严格正确分类所有样本,logistic 线目标可随正步长趋于无穷而下降到零,却没有有限最小者。有限步长搜索或正则化可给出可执行更新,不能直接返回不存在的 argmin。
正则化与停止
shrinkage 、迭代数 、树深、叶子最小样本数和行列子采样共同控制有效函数类。较小 通常需要更多轮,但能让路径更细;它不是无需代价的泛化旋钮。最可靠的 由独立验证协议选择,测试集不能参与逐轮 early stopping 后仍被当作未见评价。
训练经验损失沿轮次下降只说明优化进展。总体风险还受样本误差、基类复杂度和超参数选择影响。若损失无下界、步长不受控或基学习器拟合方向错误,甚至经验目标也不保证单调下降。
与 AdaBoost 的边界
AdaBoost理路AdaBoost 算法AdaBoost · Adaptive Boosting通过提高误分样本权重,依次组合弱分类器为加权二元投票。针对二分类指数损失给出特定样本权重与基分类器系数,并与弱到强学习理论紧密相连。Gradient Boosting 是更广的函数梯度框架,可使用平方、Huber、logistic 等损失和回归树。AdaBoost 可被解释为其中一个特殊方向,但其弱学习等价定理、训练错误指数界不能自动推广到任意梯度提升算法。
同样,“gradient”指经验风险对预测值的导数,不表示算法实现必须对树结构求可微梯度;树通过回归伪残差选择离散切分。
推论与应用
平方损失得到普通残差拟合,logistic 等分类代理损失理路分类代理损失与校准classification calibration · classification surrogate loss说明可优化代理风险在什么条件下能够控制二分类的零一超额风险。则产生与当前概率误差相关的伪残差。损失选择决定负梯度语义,基学习器决定能逼近哪些样本方向,并如何把修正延伸到未见输入。
回归树版本广泛用于表格数据,但总体表现还依赖 shrinkage、深度、采样与独立验证的停止规则。训练风险单调下降不是泛化证书;污染标签和分布漂移需要从损失与评估协议处理。
参考资料
- Jerome H. Friedman, “Greedy Function Approximation: A Gradient Boosting Machine,” Annals of Statistics, 2001;可读的1999 年作者预印本,§3、Algorithm 1 与 §5、式 (33) 的 shrinkage 更新。本文另用凸性直接核验缩步的下降条件。
- Trevor Hastie, Robert Tibshirani, and Jerome Friedman, The Elements of Statistical Learning, 2nd ed., Springer, 2009, boosting chapter.
- Robert E. Schapire and Yoav Freund, Boosting: Foundations and Algorithms, 2012.