机器之心|速度提升、准确率更胜一筹,周志华等人提出可微XGBoost算法sGBM( 二 )
最后 , 由于局部和全局的损失注入 , 软 GBM 会让基学习器之间的交互呈指数增长 , 使得该系统能比对多个基学习器使用软平均 (soft averaging, 可微加权平均集成) 的方法更有效和更高效 。
先从 GBM 讲起
在详细介绍新提出的方法之前 , 先来看看梯度提升机(GBM)的工作方式 。 具体来说 , 对于给定的数据集
, GBM 的目标是获得函数 F*(x) 的一个优良近似 , 而评估标准是看其能否在实验中最小化损失
本文插图
。
GBM 假设 F*(x) 有这样的加法展开形式:
本文插图
,
其中
本文插图
由 θ_m 参数化 , 而 β_m 是第 m 个基学习器的系数 。
GBM 的训练过程是基于训练数据学习参数
本文插图
。 GBM 首先假设
本文插图
, 然后就能按顺序决定
本文插图
和 β_m 。 首先 , 给定 y^i 和 GBM 前一轮获得的预测结果 ,
本文插图
GBM 可为每个训练样本计算出所谓的残差:
本文插图
其次 , 下一个基学习器 h_m 会与该残差进行拟合 。 系数 β_m 则通过最小二乘法确定或设定为常数 。 最后 , 完成对学习器 h_m 和系数 β_m 的参数更新之后 , 就可以将其用作条件来更新 GBM 的预测结果:
本文插图
图 1:GBM 和 sGBM 示意图
然后进入下一轮训练流程 。 算法 1 总结了这个训练过程 , 图 1 左图也给出了其示意图 。
本文插图
算法 1:常规(硬)GBM 的训练过程
sGBM 有何不同?
可以看出 , GBM 的训练过程难以并行化 , 因为只有在一个基学习器拟合之后才能转向下一个基学习器 。 也因为这个原因 , 这类算法也难以在线应用 。
软梯度提升机(sGBM)就是针对这些问题而提出的 。 该研究团队首先假设所有基学习器都是可微分的 。 然后 , 他们没有选择为相连的基学习器执行软平均 , 而是提出使用两种类型的损失函数——全局损失和局部损失;将这两种损失函数注入训练过程之后 , 可使得基学习器之间的交互成指数增长 , 进而实现梯度提升效果(而非所有基学习器的直接加权平均) 。
具体来说 , 令 M 为可微分基学习器的数量 , 其中每个基学习器的参数为 θ_m 。 这里 M 是预先确定的 , 指定了训练之前所使用的基学习器的数量 。 和硬 GBM 一样 , sGBM 的输出为所有基学习器的输出之和:
本文插图
。 训练中整个结构的最终损失定义为
推荐阅读
- 技术编程|机器学习又一重要医学应用!培植人造器官
- 智能机器人|【好莱坞首次用AI机器人主演】
- 楚天都市报|机器替换人工上班获奖励三千万元!企业智能化改造增了效率还拿补贴
- 机器|令人惊叹的伐木机器,5米高的树直接从树顶“劈下”,看着是真爽
- 数据速度|原创 新型有机LED突破数据速度
- 无人科技|智能检测机器人亮相北京动车段
- 人工智能|哈工大将在重庆建研究院,聚集汽车、机器人、人工智能等领域
- 手机|手机充电发展现状:速度狂飙,中国品牌再次实现突破!
- 智能机器人|智能检测机器人亮相北京动车段
- 智能机器人|陈根:全球首个AI发球机器人,不一样的智能陪练
