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


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

梯度提升机(GBM)的重要性无需多言 , 但传统的 GBM 仍存在一些固有缺点 。 近日 , 南京大学周志华, 创新工场冯霁等人提出了一种新型的软梯度提升机(sGBM) , 并基于此构建了新型的软梯度提升决策树(sGBDT) , 作为XGBoost的替代性模型 。 相比于传统的「硬」GBM , sGBM 在准确度、训练时间和增量学习 , 多维度回归等多方面都有更优的表现 。
机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM
本文插图

论文链接:
https://arxiv.org/pdf/2006.04059.pdf
梯度提升机(GBM)已被证明是一种成功的函数近似器并已在多种不同的领域得到了广泛应用 。 GBM 的基本思想很简单 , 即训练一系列基学习器(base learner)并且这些学习器的目标是按顺序最小化某个预定义的可微分损失函数 。
在构建这些学习系统时 , 通常的做法是用不可微分的决策树充当基学习器 。 梯度提升决策树(GBDT)及 XGBoost、LightGBM 和 CatBoost 等变体 , 是最常见也是最广泛使用的具体模型实现 。
现阶段 , 对于表格式数据而言 , GBDT 模型仍旧是最佳选择 , 其应用领域也很广泛 , 从协同过滤到信息检索再到粒子发现均有其身影 。 但是 , 此类模型较难用于在线学习 , 因为流数据的环境是会变化的 , 而基模型在训练完成后难以随环境而变化 。
另一方面 , 同 GBM 不同 , 可微分编程不仅需要损失函数是可微分的 , 学习模块也需要可微分 。 具体来说 , 通过将多个可微分学习模块构建为任意有向无环图(DAG)形式 , 就可通过随机梯度下降或其变体优化方法来联合优化其整个结构 。 这样的系统有一些出色的特性 , 包括强大的表征学习能力、可扩展性以及可在线使用 。
2018 年 , 周志华和冯霁等人发表的一篇 NeurIPS 论文提出了一种用于表征学习的多层梯度提升决策树(mGBDT) , 这项研究开创性地融合了上述两个研究方向的优势 。 具体来说 , mGBDT 具有和可微分编程模型一样的分层表征能力 , 同时又具备非可微分模型的一些优良特性 , 因此能以更好的方式处理表格式数据 。 这项开创性研究带来了新的挑战和机遇 , 但也存在很大的进一步探索空间 。
今天要介绍的这项研究是周志华 , 冯霁等人在相关问题上的又一种开创性思考 。 这一次 , 他们研究的不是如何构建一个能像可微分程序一样工作的 GBM , 而是探索了如何构建能像不可微分的 GBM 一样工作的可微分系统 。 软梯度提升机(Soft Gradient Boosting Machine)就是他们的探索成果 。 这种「软」版本的 GBM 是将多个可微分的基学习器连接在一起 , 受 GBM 启发 , 同时引入了局部损失与全局损失 , 使其整体结构可以得到联合优化 。 在此基础上 , 他们还提出使用软决策树(soft decision tree)来充当基学习器 , 在硬决策树不是最合适的选择时 , 软决策树对应的软梯度提升决策树就可被视为 XGBoost 的替代选择 。 据介绍 , 这种设计具有如下优势:
首先 , 相比于传统的(硬)梯度提升机 , 软梯度提升机的训练速度更快 。 软 GBM 不是一次一个地训练基学习器 , 而是能同时训练所有基学习器 。 该团队也对该设计进行了实验实测 , 结果表明在使用同样的基学习器时 , 软 GBM 在多个基准数据集上能带来超过 10 倍的速度提升 , 同时还有更胜一筹的准确度 。 此外 , 在拟合传统 GBM 模型时 , 一个基学习器必须在「看」完所有训练数据之后才能转向下一个学习器;这样的系统不适合增量学习或在线学习 。 而软 GBM 天生就具备这样的能力 。
其次 , XGBoost 等当前的 GBDT 实现使用了 CART 作为基学习器 , 因此不能很直接地用于多维回归任务 。 但 sGBDT 可使用软决策树作为基学习器来自然地处理这些任务 。 这样的特性也使得 sGBDT 更适用于知识蒸馏或二次学习 , 因为蒸馏过程会将分类的 one hot 标签转换为一个在训练集上的稠密向量 。


推荐阅读