前向分步算法与梯度提升(Gradient Boosting)的构建过程
题目描述
梯度提升是一种集成学习方法,通过逐步添加弱学习器(通常是决策树)来修正前序模型的残差,最终组合成一个强学习器。其核心思想是前向分步加法模型:每一轮训练一个新的弱学习器,使其拟合损失函数的负梯度方向(即伪残差),再通过线性搜索确定该弱学习器的最优权重,逐步降低整体损失。要求详细解释其逐步构建过程与数学原理。
解题过程
1. 问题形式化
设训练集 \(D = \{(\mathbf{x}_i, y_i)\}_{i=1}^N\),损失函数为 \(L(y, F(\mathbf{x}))\),目标是找到加法模型:
\[F(\mathbf{x}) = \sum_{m=1}^M \beta_m h_m(\mathbf{x}) \]
其中 \(h_m(\mathbf{x})\) 是弱学习器(如决策树),\(\beta_m\) 是其权重。
2. 前向分步框架
从初始模型 \(F_0(\mathbf{x})\) 开始,每轮添加一个弱学习器:
\[F_m(\mathbf{x}) = F_{m-1}(\mathbf{x}) + \beta_m h_m(\mathbf{x}) \]
通过最小化损失函数确定 \(\beta_m\) 和 \(h_m\):
\[(\beta_m, h_m) = \arg\min_{\beta, h} \sum_{i=1}^N L\left(y_i, F_{m-1}(\mathbf{x}_i) + \beta h(\mathbf{x}_i)\right) \]
3. 梯度下降视角
将损失函数在 \(F_{m-1}\) 处一阶泰勒展开:
\[L(y_i, F_{m-1} + \beta h) \approx L(y_i, F_{m-1}) + \beta h(\mathbf{x}_i) \cdot \left[\frac{\partial L(y_i, F)}{\partial F}\right]_{F=F_{m-1}} \]
定义伪残差(负梯度):
\[r_{im} = -\left[\frac{\partial L(y_i, F)}{\partial F}\right]_{F=F_{m-1}(\mathbf{x}_i)} \]
则最小化问题转化为:
\[h_m = \arg\min_{h} \sum_{i=1}^N \left(r_{im} - h(\mathbf{x}_i)\right)^2 \]
即用弱学习器 \(h_m\) 拟合伪残差 \(\{r_{im}\}_{i=1}^N\)。
4. 权重确定
固定 \(h_m\) 后,通过线性搜索求解最优权重 \(\beta_m\):
\[\beta_m = \arg\min_{\beta} \sum_{i=1}^N L\left(y_i, F_{m-1}(\mathbf{x}_i) + \beta h_m(\mathbf{x}_i)\right) \]
对于平方损失 \(L(y, F) = \frac{1}{2}(y-F)^2\),可直接得 \(\beta_m=1\)。
5. 算法步骤
- 初始化:
\[ F_0(\mathbf{x}) = \arg\min_{\gamma} \sum_{i=1}^N L(y_i, \gamma) \]
例如平方损失时,\(F_0(\mathbf{x}) = \bar{y}\)。
2. 迭代 \(m=1\) 到 \(M\):
- 计算伪残差:
\[ r_{im} = -\left[\frac{\partial L(y_i, F)}{\partial F}\right]_{F=F_{m-1}(\mathbf{x}_i)}, \quad i=1,\dots,N \]
- 用弱学习器 \(h_m\) 拟合数据 \(\{(\mathbf{x}_i, r_{im})\}_{i=1}^N\)。
- 求解权重:
\[ \beta_m = \arg\min_{\beta} \sum_{i=1}^N L\left(y_i, F_{m-1}(\mathbf{x}_i) + \beta h_m(\mathbf{x}_i)\right) \]
- 更新模型:
\[ F_m(\mathbf{x}) = F_{m-1}(\mathbf{x}) + \beta_m h_m(\mathbf{x}) \]
- 输出最终模型 \(F_M(\mathbf{x})\)。
6. 关键点说明
- 梯度方向:伪残差指示损失下降最快方向,每一步沿此方向修正模型。
- 弱学习器:通常为深度受限的决策树(如CART),避免过拟合。
- 正则化:可通过学习率 \(\nu\)(即 \(F_m = F_{m-1} + \nu \beta_m h_m\))控制每一步的更新幅度。
通过逐步优化,梯度提升将多个弱模型集成为高精度预测器,广泛应用于分类、回归及排序任务。