驾校网站模版,免费域名注册网站有哪些,wordpress 搜索栏js,添加建设银行的网站在 CatBoost 中#xff0c;预测偏移#xff08;Prediction Shift#xff09; 和 排序提升#xff08;Ordered Boosting#xff09; 是其关键概念和创新点。CatBoost 通过引入 排序提升 解决了梯度提升决策树#xff08;GBDT#xff09;算法中常见的 预测偏移问题#x…在 CatBoost 中预测偏移Prediction Shift 和 排序提升Ordered Boosting 是其关键概念和创新点。CatBoost 通过引入 排序提升 解决了梯度提升决策树GBDT算法中常见的 预测偏移问题从而提高了模型的稳定性和性能。以下是对这两个概念的详细解释 1. 预测偏移Prediction Shift
概念
预测偏移是指在梯度提升决策树GBDT训练过程中由于在模型训练阶段同时使用特征和目标变量可能会导致未来信息泄漏从而影响模型性能和稳定性。 原因 在标准 GBDT 算法中训练样本的目标变量会被用来更新模型而同时目标变量也会被用于特征变换如目标统计编码。这种特征变换过程中可能会使用目标变量的全局信息从而导致未来样本的信息被泄漏到当前训练样本中。 结果 训练误差较低但在测试集上表现较差过拟合。对目标变量统计不准确尤其是分类特征的目标统计编码可能引入偏差。 示例
假设有一个分类特征 x x x 和目标变量 y y y
样本 i i i分类特征 x i x_i xi目标变量 y i y_i yi1A12A03A1
如果在第 3 个样本训练过程中使用整个数据集的目标统计均值包括第 3 个样本本身的 y 3 1 y_3 1 y31则会导致信息泄漏。例如
目标统计编码 编码值 总目标值 总样本数 1 0 1 3 0.67 \text{编码值} \frac{\text{总目标值}}{\text{总样本数}} \frac{1 0 1}{3} 0.67 编码值总样本数总目标值31010.67
这会将第 3 个样本的目标变量泄漏到其特征变换中。 2. 排序提升Ordered Boosting
概念
排序提升是 CatBoost 提出的用于解决 预测偏移问题 的方法。其核心思想是在每一轮训练中严格按照样本的时间或排列顺序只使用当前样本之前的数据计算特征变换如目标统计编码避免了未来信息泄漏。 Ordered Boosting 的实现原理
CatBoost 的 排序提升 使用了一种特殊的数据划分和特征计算方式 样本顺序化 假设样本被排列为 ( x σ 1 , y σ 1 ) , ( x σ 2 , y σ 2 ) , … , ( x σ n , y σ n ) (x_{\sigma_1}, y_{\sigma_1}), (x_{\sigma_2}, y_{\sigma_2}), \dots, (x_{\sigma_n}, y_{\sigma_n}) (xσ1,yσ1),(xσ2,yσ2),…,(xσn,yσn)其中 σ \sigma σ 表示样本的排列顺序。在训练第 i i i 个样本时仅使用前 i − 1 i-1 i−1 个样本的数据来计算特征值。 目标统计的顺序计算 对于分类特征目标统计值的计算严格遵循样本顺序。例如计算第 i i i 个样本的目标统计值 T S ( x i ) TS(x_i) TS(xi) 时仅基于样本 ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x i − 1 , y i − 1 ) (x_1, y_1), (x_2, y_2), \dots, (x_{i-1}, y_{i-1}) (x1,y1),(x2,y2),…,(xi−1,yi−1) 的目标变量 y j y_j yj。避免了将当前样本 y i y_i yi 或未来样本的目标值泄漏到统计值中。 模型更新的顺序化 CatBoost 使用排序提升算法训练决策树时每棵树的分裂决策仅基于当前模型状态和之前的数据更新。 排序提升算法的伪代码
如下图 14-2 中描述的伪代码
对训练样本 ( x , y ) (x, y) (x,y) 按顺序排列为 ( x σ 1 , y σ 1 ) , ( x σ 2 , y σ 2 ) , … , ( x σ n , y σ n ) (x_{\sigma_1}, y_{\sigma_1}), (x_{\sigma_2}, y_{\sigma_2}), \dots, (x_{\sigma_n}, y_{\sigma_n}) (xσ1,yσ1),(xσ2,yσ2),…,(xσn,yσn)。初始化模型 M 0 M_0 M0。对于每个样本 i i i 根据模型状态 M i − 1 M_{i-1} Mi−1 和前 i − 1 i-1 i−1 个样本的目标变量 y σ j y_{\sigma_j} yσj 计算目标统计值。更新模型状态 M i M i − 1 Δ M M_i M_{i-1} \Delta M MiMi−1ΔM其中 Δ M \Delta M ΔM 是模型的增量更新如一棵树的增量效果。 输出最终模型 M n M_n Mn。 排序提升的优点 避免信息泄漏 通过按顺序计算特征值和模型更新确保每个样本的特征计算只依赖于之前的样本信息。解决了传统梯度提升算法中的预测偏移问题。 提高模型鲁棒性 排序提升能够更好地适应分类特征中高基数、稀疏类别的情况。即使样本数量有限也能生成稳定的特征统计值。 改进模型性能 避免了模型过拟合提升了测试集上的性能。 排序提升的一个例子
假设训练样本如下
样本 i i i分类特征 x i x_i xi目标变量 y i y_i yi1A12B03A14B1
目标统计值的计算
对于分类特征 x x x计算目标统计值 T S ( x i ) TS(x_i) TS(xi) 时 第 1 行 T S ( x 1 ) TS(x_1) TS(x1)没有之前的样本所以使用全局均值 p p p。 第 2 行 T S ( x 2 ) TS(x_2) TS(x2)类别 B B B 的目标统计值基于之前样本 T S ( x 2 ) p TS(x_2) p TS(x2)p 第 3 行 T S ( x 3 ) TS(x_3) TS(x3)类别 A A A 的目标统计值基于第 1 行 T S ( x 3 ) y 1 1 1 TS(x_3) \frac{y_1}{1} 1 TS(x3)1y11 第 4 行 T S ( x 4 ) TS(x_4) TS(x4)类别 B B B 的目标统计值基于第 2 行 T S ( x 4 ) y 2 1 0 TS(x_4) \frac{y_2}{1} 0 TS(x4)1y20 总结 预测偏移Prediction Shift 是由于目标变量泄漏到特征变换中引起的模型训练问题导致过拟合和不稳定性。 排序提升Ordered Boosting 是 CatBoost 的核心创新通过严格按照时间或排列顺序训练模型避免了预测偏移问题。在分类特征处理、目标统计值计算和模型更新中都有应用。