机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM( 三 )


本文插图

。 其中 , l_m 是基学习器的损失:
机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM
本文插图

, 而 o_m 则是当前学习器 h_m 的输出 , r_m 是对应的残差
【机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM】
机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM
本文插图

图 1 右图为新提出的 sGBM 的示意图 。 可以看到 , 输入数据的流动过程是一个有向无环图(DAG) , 因此其整个结果都可通过 SGD 或其变体进行训练 , 即最小化局部和全局损失目标 。 算法 2 阐释了这一过程 。
机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM
本文插图

算法 2:训练 sGBM
软梯度提升决策树
下面来看看适合 sGBM 的基学习器 。 研究者在论文中探讨了基学习器是决策树的具体情况 。
梯度提升决策树(GBDT)是 GBM 应用最广的实例之一 , 其使用了硬(而且通常较浅)的二叉决策树作为基学习器 。 具体来说 , 这个硬决策树内每个无叶的节点会形成一个轴平行的决策平面 , 每个输入样本都会根据对应的决策平面被引导至左侧或右侧的子节点 。 这样的流程是按递归方式定义的 , 直到输入数据抵达叶节点 。 最终的预测结果是输入样本所在的叶节点内的类分布 。
XGboost、LightGBM 和 CatBoost 等 GBDT 的成功实现已经证明 GBDT 是一种绝佳的数据建模工具 , 尤其是对于表格式数据而言 。
另一方面 , 软决策树使用了 logistic 单元作为内部非叶节点的路由门 , 而输入样本的最终预测结果是所有叶节点之间的类别分布的加权和 , 其中权重是由在内部节点上沿决策路径的 logit 积确定 。 这样的结构可通过随机梯度下降进行训练 , 图 2 给出了示意图 。
机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM
本文插图

图 2:单个软决策树的示意图
当使用软决策树作为基学习器时 , 对应的软 GBDT 相较于硬 GBDT 有多项优势 。 第一 , 硬 GBDT 并非处理流数据的最佳选择;而 sGBDT 是参数化的 , 因此整个系统可以根据环境更快地进行调整 。 第二 , 在面对多输出回归任务时 , 硬 GBDT 必须为每个树设置一个维度 , 这会导致训练效率低下;相较而言 , 由于 sGBDT 会同时训练所有树 , 因此速度会快得多 。
实验
sGBM 的有效性也在实验之中得到了验证 。 具体来说 , 研究者基于同样的基学习器比较了传统硬 GBM 和新提出的软 GBM 在准确度、训练时间、多输出回归、增量学习任务和知识蒸馏能力上的表现 。
准确度方面的表现比较如表 2 所示 。 可以看到 , sGBM_CNN 在图像分类任务上的表现优于 GBM_CNN , 而 sGBM_MLP 在除 Letter 数据集之外的几乎所有数据集上都有优于 GBM_MLP 的表现 。 在使用树方法时 , 相较于经典的 XGBoost 模型 , sGBDT 仅在 Letter 和 USPS 数据集上得到了较差的结果 。
机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM
本文插图

表 2:分类准确度(均值 ± 标准差)比较 。
图 3 和图 4 则展示了 sGBM 相较于传统 GBM 的速度提升效果 。 可以看出 , 效果极其显著 , 这主要得益于 sGBM 能自然地同时训练所有基学习器 。
机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM
本文插图

图 3:sGBM 对训练的加速效果 。 很显然 , 基学习器越多 , 加速效果越显著 。
机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM


推荐阅读