安徽网站推广,重庆网站建设制作设计,修改wordpress登录,黄石网络推广公司本文是将文章《XGBoost算法的原理推导》中的公式单独拿出来做一个详细的解析#xff0c;便于初学者更好的理解。 好的#xff0c;公式(12-2)表示的是 XGBoost 在第 t t t 轮迭代中对样本 i i i 的预测值。它说明了在第 t t t 轮迭代中#xff0c;模型的预测是通过累加之前…本文是将文章《XGBoost算法的原理推导》中的公式单独拿出来做一个详细的解析便于初学者更好的理解。 好的公式(12-2)表示的是 XGBoost 在第 t t t 轮迭代中对样本 i i i 的预测值。它说明了在第 t t t 轮迭代中模型的预测是通过累加之前所有树的输出值再加上当前新树的输出得到的。这是 XGBoost 的梯度提升过程的核心之一。让我们一步步解析这个公式的含义和其背后的思想。
公式的结构 y ^ i ( t ) ∑ k 1 t − 1 f k ( x i ) f t ( x i ) (12-2) \hat{y}_i^{(t)} \sum_{k1}^{t-1} f_k(x_i) f_t(x_i) \tag{12-2} y^i(t)k1∑t−1fk(xi)ft(xi)(12-2)
公式中的符号和含义 y ^ i ( t ) \hat{y}_i^{(t)} y^i(t) 表示第 t t t 轮迭代时模型对第 i i i 个样本的预测值。这是当前模型对样本 i i i 的最新预测经过前 t t t 轮迭代的累加优化。 ∑ k 1 t − 1 f k ( x i ) \sum_{k1}^{t-1} f_k(x_i) ∑k1t−1fk(xi) 这是前 t − 1 t-1 t−1 轮的累加预测结果。每一轮 k k k 中生成的树 f k f_k fk 都是一个弱学习器专注于减少前几轮的预测误差。前 t − 1 t-1 t−1 轮中所有树的预测值的累加就代表了在第 t − 1 t-1 t−1 轮迭代完成后模型对样本 i i i 的总预测值。可以把 ∑ k 1 t − 1 f k ( x i ) \sum_{k1}^{t-1} f_k(x_i) ∑k1t−1fk(xi) 看作是第 t − 1 t-1 t−1 轮的预测结果即 y ^ i ( t − 1 ) \hat{y}_i^{(t-1)} y^i(t−1)。 f t ( x i ) f_t(x_i) ft(xi) 表示第 t t t 轮新生成的树对样本 i i i 的预测值。这一轮生成的新树 f t f_t ft 是基于前 t − 1 t-1 t−1 轮的残差预测误差训练得到的旨在修正当前模型的预测误差使得预测结果更接近真实目标值。
公式的意义
公式 y ^ i ( t ) ∑ k 1 t − 1 f k ( x i ) f t ( x i ) \hat{y}_i^{(t)} \sum_{k1}^{t-1} f_k(x_i) f_t(x_i) y^i(t)∑k1t−1fk(xi)ft(xi) 体现了梯度提升的思想即通过逐步迭代来优化模型的预测能力。在每一轮迭代中XGBoost 会添加一棵新的树 f t f_t ft这棵树的目标是尽量拟合前一轮的残差。换句话说新的树 f t f_t ft 是根据前一轮的误差训练的目的是修正当前模型对样本 i i i 的预测使得模型逐渐逼近真实目标值 y i y_i yi。随着迭代轮数 t t t 的增加累加的预测值会越来越接近真实的 y i y_i yi从而提高模型的整体预测精度。
等价于递推公式
这个公式实际上与递推公式是等价的。我们可以这样写递推公式 y ^ i ( t ) y ^ i ( t − 1 ) f t ( x i ) \hat{y}_i^{(t)} \hat{y}_i^{(t-1)} f_t(x_i) y^i(t)y^i(t−1)ft(xi)
在这里 y ^ i ( t − 1 ) ∑ k 1 t − 1 f k ( x i ) \hat{y}_i^{(t-1)} \sum_{k1}^{t-1} f_k(x_i) y^i(t−1)∑k1t−1fk(xi)表示前 t − 1 t-1 t−1 轮的累加预测结果。因此 y ^ i ( t ) ∑ k 1 t − 1 f k ( x i ) f t ( x i ) \hat{y}_i^{(t)} \sum_{k1}^{t-1} f_k(x_i) f_t(x_i) y^i(t)∑k1t−1fk(xi)ft(xi) 是一种更展开的写法。
为什么这样逐步累加是有效的 残差修正 在每一轮中XGBoost 都会根据之前的残差训练一棵新的树 f t f_t ft这棵树的输出会帮助减少当前的误差使得模型的预测越来越接近真实值。 逐步逼近 每次添加的新树只需处理当前的剩余误差不需要完全重新拟合整个模型。这种逐步修正的方式使得模型能够更精确地捕捉数据的细节而不会因为一次性拟合复杂模式而导致过拟合。 控制复杂度 这种累加结构也方便了对模型复杂度的控制。因为每次只增加一个新树XGBoost 可以通过设置最大树数、树的深度等超参数来控制模型的复杂度从而防止过拟合。
总结
公式(12-2)表示了 XGBoost 在第 t t t 轮迭代中的预测更新。它说明了模型的预测值是所有之前轮次的树的预测结果之和加上当前轮次新树的输出。这种逐步累加的方式使得 XGBoost 能够有效地修正误差逐步逼近真实目标值从而提升模型的预测精度。