用于回归的鲁棒XGBoosting

arXiv cs.LG 论文

摘要

本文研究了XGBoost在回归任务中对异常值的敏感性,并引入了基于M-、S-和τ-估计器的鲁棒损失函数,提出了MM-XGBoost以在鲁棒性和预测精度之间实现更好的权衡。

arXiv:2608.13590v1 Announce Type: new 摘要: XGBoost是一种非常流行且强大的预测方法。它通过迭代拟合简单决策树到前一步的残差。有高效且可扩展的实现可用。XGBoost的标准损失函数是二次损失,但也可以使用Huber损失。在本文中,我们研究了XGBoost的鲁棒性,并显示其性能可能受到垂直异常值和杠杆点的影响。为了解决这个问题,我们探索了替代损失函数,基于稳健回归中的M-、S-和τ-估计器。我们的结果表明,称为MM-XGBoost的两步过程提供了鲁棒性和预测精度之间的最佳权衡。
查看原文
查看缓存全文

缓存时间: 2026/08/17 10:09

# 用于回归的鲁棒XGBoost方法
来源:https://arxiv.org/html/2608.13590
###### 摘要

XGBoost是一种非常流行且强大的预测方法。它将简单决策树迭代地拟合到前一步的残差上,拥有高效且可扩展的实现。XGBoost的标准损失函数是二次损失,但也可使用Huber损失。本文研究了XGBoost的鲁棒性,并表明其性能会受到垂直离群值和高杠杆点的影响。为此,我们探索了基于鲁棒回归中M-、S-和τ估计量的替代损失函数。结果表明,被称为MM-XGBoost的两步法在鲁棒性和预测准确性之间提供了最佳权衡。

## 1引言

机器学习已成为预测建模的必备工具。在众多可用方法中,梯度提升(Friedman,2001 (https://arxiv.org/html/2608.13590#bib.bib4))是一种特别强大的方法,它通过迭代组合简单的基学习器来构建强预测器。在每次迭代中,通过最小化一个衡量模型预测值与观测响应值差异的损失函数来构建一个基学习器。极端梯度提升,或称XGBoost(Chen和Guestrin,2016 (https://arxiv.org/html/2608.13590#bib.bib3)),是梯度提升的一种高效且可扩展的实现。因其强大的预测性能、内置的正则化以及处理不同类型数据的灵活性,它被广泛使用。

在本文中,我们展示了用于回归的经典XGBoost对离群值很敏感。响应变量中的垂直离群值和预测变量中的高杠杆点可能对拟合模型产生强烈影响,降低预测的准确性和稳定性。这种敏感性在使用XGBoost常用的二次损失函数时尤为明显。为了解决这个问题,XGBoost实现提供了一个更鲁棒的替代方案,即Huber损失的平滑近似。然而,我们表明即使使用这种Huber损失,XGBoost仍可能受到高杠杆点的影响。

鉴于这些限制,我们的目标是通过修改提升过程中使用的损失函数,进一步提高XGBoost在回归任务中的鲁棒性。我们特别研究了几种替代损失函数,这些函数灵感来源于鲁棒回归估计量。XGBoost的实现(Chen等人,2025 (https://arxiv.org/html/2608.13590#bib.bib7))允许用户定义自定义损失函数,而无需修改核心算法,使得将此类鲁棒损失函数融入XGBoost算法变得相对容易。

我们的方法基于Friedman(2001 (https://arxiv.org/html/2608.13590#bib.bib4))和Ju与Salibián-Barrera(2021 (https://arxiv.org/html/2608.13590#bib.bib5))的思想,他们研究了将鲁棒损失函数纳入梯度提升的方法。特别是,Friedman(2001 (https://arxiv.org/html/2608.13590#bib.bib4))和Lutz等人(2008 (https://arxiv.org/html/2608.13590#bib.bib6))研究了基于回归M估计量和残差鲁棒尺度估计的损失函数。Ju和Salibián-Barrera(2021 (https://arxiv.org/html/2608.13590#bib.bib5))使用了更复杂的回归估计量,并引入了基于S-和MM-估计量的损失函数。我们调整并扩展了他们的想法以应用于极端梯度提升方法。据我们所知,我们还将τ损失纳入提升过程,这在此前尚未被考虑过。

通过模拟研究,我们评估了所提出的替代损失函数中哪些能够改善对离群观测值的鲁棒性,同时仍保持良好的预测性能。在论文的其余部分,第2节(https://arxiv.org/html/2608.13590#S2)介绍了XGBoost方法,第3节(https://arxiv.org/html/2608.13590#S3)介绍了我们提出的XGBoost鲁棒扩展,第4节(https://arxiv.org/html/2608.13590#S4)展示了模拟研究并讨论了结果。最后,第5节(https://arxiv.org/html/2608.13590#S5)对全文进行了总结。

## 2用于回归的XGBoost

在本节中,我们首先概述梯度提升的原理,然后介绍极端梯度提升以及损失函数的选择。我们采用向量化符号表示训练数据。预测变量的数量记为p,观测数量记为n。

### 2.1梯度提升

考虑一个具有协变量矩阵\(\mathbf{X} = (\mathbf{x}_1, \dots, \mathbf{x}_n)^{\top} \in \mathbb{R}^{n \times p}\)和响应向量\(\mathbf{y} = (y_1, \dots, y_n)^{\top} \in \mathbb{R}^{n}\)的训练数据集。在基于回归树的梯度提升中,预测模型通过逐步添加回归树来构建。令\(\hat{\mathbf{y}}^{(0)} \in \mathbb{R}^{n}\)表示初始预测,定义为一个常数向量
\(\hat{\mathbf{y}}^{(0)} = y^{(0)} \mathbf{1}_{n}\),其中\(\mathbf{1}_{n} = (1 \dots 1)^{\top} \in \mathbb{R}^{n}\)。这里,\(y^{(0)} \in \mathbb{R}\)是响应的初始估计值,通常选择为\(\mathbf{y}\)的均值。

在每次迭代中,拟合一个回归树\(f: \mathbb{R}^{p} \rightarrow \mathbb{R}\)并将其添加到当前模型中。回归树由一个树结构定义
\(q: \mathbb{R}^{p} \rightarrow \{1, \dots, T\}\),它将每个观测分配到\(T\)个叶节点之一,并由一个关联的叶权重向量
\(\mathbf{w} = (w_1, \dots, w_{T})^{\top}\)定义。因此,对于一个观测\(\mathbf{x} \in \mathbb{R}^{p}\),树的预测由对应叶节点的权重给出,即
\(f(\mathbf{x}) = w_{q(\mathbf{x})}\)。将该树应用于训练数据中的所有观测得到预测向量
\(F(\mathbf{X}) = \big(f(\mathbf{x}_1), \dots, f(\mathbf{x}_n)\big)^{\top} \in \mathbb{R}^{n}\)。
令\(f^{(k)}\)为在第\(k\)次迭代中获得的树,其结构为\(q^{(k)}\),关联权重为\(\mathbf{w}^{(k)}\)。令\(\hat{\mathbf{y}}^{(k)} \in \mathbb{R}^{n}\)表示第\(k\)次提升迭代的预测向量。在第\((k+1)\)次迭代中,选择下一个回归树以相对于指定的损失函数\(\mathcal{L}\)来改进当前模型,该函数衡量观测响应与模型预测之间的差异。更具体地说,构造树\(f^{(k+1)}\),使得在添加到当前拟合后,它能减少损失
\(\mathcal{L}\big(\mathbf{y}, \hat{\mathbf{y}}^{(k)} + F^{(k+1)}(\mathbf{X})\big)\)。 (1)
将得到的树添加到现有模型,得到
\(\hat{\mathbf{y}}^{(k+1)} = \hat{\mathbf{y}}^{(k)} + \eta F^{(k+1)}(\mathbf{X})\), (2)
其中\(\eta > 0\)是一个收缩参数,用于防止过拟合。经过\(K\)次迭代后的最终预测为
\(\hat{\mathbf{y}}^{(K)} = \hat{\mathbf{y}}^{(0)} + \eta \sum_{k=1}^{K} F^{(k)}(\mathbf{X})\)。
因此,对于一个新观测\(\mathbf{x} \in \mathbb{R}^{p}\),学到的预测器可以表示为树的集成
\(\hat{y}(\mathbf{x}) = y^{(0)} + \eta \sum_{k=1}^{K} f^{(k)}(\mathbf{x})\),其中\(f^{(k)}(\mathbf{x}) = w^{(k)}_{q^{(k)}(\mathbf{x})}\)。关于梯度提升的更多细节,我们参考Hastie等人(2009 (https://arxiv.org/html/2608.13590#bib.bib15))的第10章。

### 2.2 XGBoost

XGBoost是梯度提升的扩展,旨在通过使用二阶泰勒近似来高效地最小化损失函数(1)。它还包含一个显式的正则化项来控制模型复杂度。在每次提升迭代中,该方法基于损失在当前预测值附近的局部近似来构建回归树。

更具体地说,在第\(k\)次迭代中,损失围绕上一次迭代的预测向量\(\hat{\mathbf{y}}^{(k)}\)展开,并添加一个正则化项\(\Omega(F)\)以惩罚新添加的树\(F\)的复杂度。令\(\mathbf{g}\)和\(\mathbf{H}\)表示损失函数关于\(\hat{\mathbf{y}}\)的梯度和Hessian矩阵,在\(\hat{\mathbf{y}}^{(k)}\)处计算:
\(\mathbf{g} := \nabla_{\hat{\mathbf{y}}} \mathcal{L}(\mathbf{y}, \hat{\mathbf{y}}) \big|_{\hat{\mathbf{y}} = \hat{\mathbf{y}}^{(k)}} \in \mathbb{R}^{n}, \qquad \mathbf{H} := \nabla_{\hat{\mathbf{y}}}^{2} \mathcal{L}(\mathbf{y}, \hat{\mathbf{y}}) \big|_{\hat{\mathbf{y}} = \hat{\mathbf{y}}^{(k)}} \in \mathbb{R}^{n \times n}\)。 (3)
则第\(k\)次迭代的近似损失函数为
\(\mathcal{L} := \mathcal{L}\big(\mathbf{y}, \hat{\mathbf{y}}^{(k)} + F(\mathbf{X})\big) \approx \mathbf{g}^{\top} F(\mathbf{X}) + \frac{1}{2} F(\mathbf{X})^{\top} \mathbf{H} F(\mathbf{X}) + \Omega\big(F\big)\), (4)
其中常数项\(\mathcal{L}\big(\mathbf{y}, \hat{\mathbf{y}}^{(k)}\big)\)被省略,因为它不影响优化。正则化项\(\Omega(F)\)由下式给出
\(\Omega\big(F\big) = \gamma T + \frac{1}{2} \lambda \mathbf{w}^{\top} \mathbf{w}\),其中\(T\)表示树中的叶节点数,\(\mathbf{w}\)是对应的叶权重。参数\(\gamma\)和\(\lambda\)分别控制对\(T\)和\(\mathbf{w}\)的惩罚。

对于一个固定的树结构\(q\),令\(S \in \{0,1\}^{n \times T}\)表示叶节点分配矩阵,定义为
\(S_{ij} = \begin{cases} 1, & \text{if } q(\mathbf{x}_i) = j, \\ 0, & \text{otherwise}. \end{cases}\)
\(S\)的每一行恰好有一个非零项,指示训练数据的相应观测被分配到的叶节点。树的预测向量现在可以写成
\(F(\mathbf{X}) = S \mathbf{w}\)。
因此,一旦结构\(q\)固定,确定树就简化为寻找最优的叶权重\(\mathbf{w}\)。将\(F(\mathbf{X}) = S \mathbf{w}\)代入近似式(4)得到
\(\mathcal{L} \approx \mathbf{g}^{\top} S \mathbf{w} + \frac{1}{2} (S \mathbf{w})^{\top} \mathbf{H} (S \mathbf{w}) + \frac{1}{2} \lambda \mathbf{w}^{\top} \mathbf{w} + \gamma T\)。
对\(\mathbf{w}\)求导并令导数等于零,得到最优叶权重
\(\mathbf{w}^* = -\big(S^{\top} \mathbf{H} S + \lambda I\big)^{-1} S^{\top} \mathbf{g}\)。 (5)
因此,对于给定的树结构,最优叶权重可以直接从损失函数的一阶和二阶导数获得。在XGBoost中,树结构\(q\)是通过贪婪地递归评估候选分裂点来构建的,该分裂点基于正则化目标导出的分裂增益准则。该过程持续进行,直到没有进一步的分裂能提供足够的改进,或达到预定义的停止准则。

#### 内置损失函数。

Chen和Guestrin(2016 (https://arxiv.org/html/2608.13590#bib.bib3))的原始XGBoost实现假设损失在各个观测上是可加的。损失可以用残差\(r_i = y_i - \hat{y}_i\)表示,对于\(i=1,\dots,n\),为
\(\mathcal{L}(\mathbf{y}, \hat{\mathbf{y}}) = \sum_{i=1}^{n} \rho(r_i)\), (6)
其中\(\rho: \mathbb{R} \rightarrow \mathbb{R}^{+}\)是一个偶正函数。这个\(\rho\)函数决定了如何惩罚预测误差,因此控制了鲁棒性。

在XGBoost实现(Chen等人,2025 (https://arxiv.org/html/2608.13590#bib.bib7))中,默认选择的\(\rho\)函数是二次\(\rho\)函数
\(\rho(u) = \tfrac{1}{2} u^{2}\)。
这个\(\rho\)函数在高斯噪声下是最优的,但对离群值高度敏感,因为它对大的残差进行二次惩罚。我们将使用二次损失的XGBoost称为XGB Quadratic。在第4节(https://arxiv.org/html/2608.13590#S4)中,我们将展示XGB Quadratic对训练数据中的垂直离群值和高杠杆点都很敏感。

为了提高鲁棒性,XGBoost实现提供了另一种选择,即伪Huber \(\rho\)函数(Charbonnier等人,1994 (https://arxiv.org/html/2608.13590#bib.bib12);Zhang,1997 (https://arxiv.org/html/2608.13590#bib.bib13))
\(\rho(u) = b^{2} \big(\sqrt{1 + \big(\frac{u}{b}\big)^{2}} - 1\big)\),
它是Huber \(\rho\)函数(Huber,1992 (https://arxiv.org/html/2608.13590#bib.bib2))的平滑(两次可微)替代方案
\(\rho(u) = \begin{cases} \frac{1}{2} u^{2}, & \|u\| \leq b, \\ b\big(\|u\| - \frac{b}{2}\big), & \|u\| > b. \end{cases}\) (7)
调节参数\(b > 0\)控制其二次行为和线性行为之间的过渡。小残差按二次方惩罚,而大残差仅按线性惩罚以减少其影响。在XGBoost实现(Chen等人,2025 (https://arxiv.org/html/2608.13590#bib.bib7))中,伪Huber \(\rho\)函数的默认调节常数为\(b=1\)。我们将使用伪Huber损失的XGBoost称为XGB Pseudo-Huber。

因为XGB Pseudo-Huber对大残差进行线性惩罚(不像XGB Quadratic),预计它对离群值更鲁棒。在第4节(https://arxiv.org/html/2608.13590#S4)呈现的模拟研究中,我们确认了在存在垂直离群值的情况下这一改进。但结果也表明,其性能对高杠杆点仍然高度敏感。这促使我们需要在提升框架中引入比标准XGBoost实现提供的损失函数更鲁棒的替代损失函数。另一种在鲁棒统计中非常流行的替代损失函数是Tukey双平方函数(Tukey和其他人,1977 (https://arxiv.org/html/2608.13590#bib.bib14))
\(\rho(u) = \begin{cases} \tfrac{c^{2}}{6}\big[1 - \big(1 - \big(\frac{u}{c}\big)^{2}\big)^{3}\big], & \|u\| \leq c, \\ \frac{c^{2}}{6}, & \|u\| > c. \end{cases}\) (8)
这个\(\rho\)函数在截断值\(c > 0\)之后会趋于平缓,因此绝对值大于\(c\)的残差对拟合具有恒定的影响。Tukey双平方\(\rho\)函数的导数\(\psi\)是重下降至零的。调节常数\(c\)控制鲁棒性和效率之间的权衡:较小的\(c\)值能获得更高的鲁棒性,但效率较低。

相似文章

Smart predict-then-robustly-optimize

arXiv cs.LG

本文提出了一种鲁棒化的智能预测-然后-优化变体,该变体考虑了特征扰动的影响,提供了一个具有理论保证的凸替代函数,并展示了相较于标准方法的优越性能。

学习对未观测混杂因素鲁棒的风险评分

arXiv cs.LG

本文提出了一种从观测数据中学习风险评分的方法,该方法对未观测混杂因素具有鲁棒性,采用敏感性分析和Wasserstein分布鲁棒优化。该方法在传统基准和最先进方法上提高了校准性。

基于非对称RoBoSS损失函数的稀疏鲁棒几何孪生支持向量机

arXiv cs.LG

本文提出一种新的非对称鲁棒有界稀疏平滑(aR)损失函数,用于l1范数惩罚的几何孪生支持向量机(aRSGTSVM),以处理带有标签噪声和特征噪声的分类与回归任务,实现特征选择并提高鲁棒性。在合成数据集、UCI数据集以及中国股市指数跟踪上的实验表明了其优越性。

最大鲁棒满意贝叶斯优化

arXiv cs.LG

本文介绍了最大鲁棒满意贝叶斯优化(MRSBO)方法,该方法能高效找到满足质量阈值且对部署后输入扰动具有鲁棒性的解,性能优于以往方法。