一、梯度提升回归树 (GBRT)
GBRT(Gradient Boosting Regression Tree)是GBDT在回归问题上的应用,后端同样基于 LightGBM 实现。
该算法原理为:通过多轮迭代,每轮训练一棵新的回归树来拟合前一轮模型的残差(即真实值与当前预测值的差)。最终的预测结果是所有树预测值的加权和。
LightGBM 通过直方图算法将连续的浮点特征值离散化为k个整数,构造直方图,从而大幅减少了计算分割点的时间复杂度。
二、公共入参
| 入参 | 类型 | 默认值 | 说明 |
| num_leaves | INT | 31 | 基学习器(树)的最大叶子数,为正整数。 |
| max_depth | INT | -1 | 基学习器最大深度:不设限:设置为 <= 0 时,不对树深度进行硬性限制。正值限制:若设定大于 0 的具体深度,建议配合调整 num_leaves,使其满足 num_leaves <= 2^max_depth,以防生长失衡。 |
| learning_rate | FLOAT | 0.1 | 收敛步长:控制每棵基学习器对最终模型的贡献权重。 |
| n_estimators | INT | 100 | 基学习器数量:指定模型中包含的弱学习器的总数,为正整数。 |
| subsample_for_bin | INT | 200000 | 构建直方图分箱(bins)时用于采样的样本数,为正整数。 |
| min_split_gain | FLOAT | 0.0 | 叶节点继续分裂所需的最小损失下降(增益)阈值。 |
| min_child_weight | FLOAT | 1.0e-3 | 子节点(叶子)所需的最小样本权重和(Hessian)。 |
| min_child_samples | INT | 20 | 子节点(叶子)所需的最小样本数,为正整数。 |
| subsample | FLOAT | 1.0 | 训练样本的采样比例(行采样)。 |
| subsample_freq | INT | 0 | 行采样频率;<=0 表示不启用。 |
| colsample_bytree | FLOAT | 1.0 | 构建每棵树时的特征采样比例(列采样)。 |
| reg_alpha | FLOAT | 0.0 | L1 正则项系数。 |
| reg_lambda | FLOAT | 0.0 | L2 正则项系数。 |
| random_state | INT | 42 | 随机种子,为非负整数。 |
三、GBDT 入参
| 入参 | 类型 | 默认值 | 说明 |
| objective | STRING | multiclass | 目标函数/学习任务,LightGBM 在训练中要优化的损失。GBDT 下可选:['binary','multiclass']。 |
| num_class | INT | 10 | 类别数,为正整数。若 objective='binary',无需设置该参数。 |
四、GBRT 入参
| 入参 | 类型 | 默认值 | 说明 |
| objective | STRING | regression | 目标函数/学习任务,LightGBM 在训练中要优化的损失。GBRT 下可选:['regression','regression_l1','huber','quantile','mape']。 |
| alpha | FLOAT | 0.9 | 控制某些回归目标的损失不对称/鲁棒性:对 quantile 回归表示目标分位数(如 0.5 为中位数,0.9 更关注上尾);对 huber 表示从二次(L2)到线性(L1)区域的过渡点,用于提升对离群点的鲁棒性。取值 (0,1);仅当 objective ∈ ['quantile','huber'] 时生效。 |