梯度的直观理解_[ML] 02直观理解梯度提升 | L1 损失函数

在上一篇文章中,我们用残差向量

训练弱学习器
,导致模型易受到异常点(outlier)的影响,因为回归树的叶子节点输出的是残差的均值,而均值的计算容易受到离群值的影响。

本节考虑使用符号向量

训练弱学习器,仅使用方向信息而不使用尺度信息。这将使我们的训练过程等价于最小化绝对值损失函数(MAE 或
损失函数):

我们继续使用租金预测的例子解释模型的训练过程,这里记所得梯度提升模型为 MAE GBM。

第一步:用中值(median)进行初始化:因为中值能近似最小化

损失;

6b6e603ee842b8af2730b89f2e399547.png

上图中右子图蓝点表示样本点,红色表示符号向量,它给出了真实值的方向,但并未指定尺度。

第二步:我们需要用

训练第一个弱学习器
。易得该回归树模型如下:(使叶节点内方差最小进行节点划分,再求叶节点中
的中值)

895cf6161a9f391efa4b3370565bc4d9.png

如果我们直接使用上述

,将会使提升模型迭代得十分缓慢。那我们能取一个全局的权重吗,例如
,但这又可能让模型发生震荡,使其始终无法准确预测目标值。如取
,从下图中看出虽然促进了第5个点的逼近过程,但却使第3个点的预测大大偏离了目标。

70ba69b8557791479f8623899963bf4f.png

这里我们稍微回想下 MSE GBM 的弱学习器的树模型,它的叶子节点虽然取的是残差的均值,但是从数学上也可以表示为符号值 +1 或 -1 乘以残差的均值后所得的。

回到正题,那我们该怎么做呢?因为我们只利用方向信息训练弱学习器,所以我们可以先用方向向量进行回归树节点的划分,然后叶节点上输出对应残差的中值(相当于取中值为权重)。另外 Friedman 证明了在任意叶子节点

上,最优的权重值最小化下面的目标函数:

我们继续看按上述思路后该如何训练模型(红框为左叶子节点):

6739452c050130c81022d52efec52d39.png

我们再看看这一过程残差(蓝点)的拟合(虚线)情况:

d977d6132c4f29f540822a2db4aaf8f0.png
MAE GBMs 每阶段弱学习器的拟合效果

一般来说,残差(蓝点)应逐渐靠近0水平线(用残差向量进行训练是就是这样,如下图),但是这里(上图)我们并没有看到这种情况,说明我们的模型并没有从一开始就去拟合离群点(第5个样本点)

6992598208a5cdf2425eb67ba59f9e72.png
MSE GBMs 每阶段弱学习器的拟合效果

看看每阶段合成模型

的拟合效果:

787192d0c3da556c1803c54600623be2.png
MAE GBMs 逐阶段合成模型的拟合效果

MSE 和 MAE 在 GBM 上的区别

不同点:

  • MSE GBM 优化
    损失函数,利用残差向量(residual vectors)训练树模型,树模型输出残差的均值;
  • MAE GBM 优化
    损失函数,利用符号向量(sign vectors) 训练树模型,树模型输出残差的中值;

从代价函数上看:

f7c0b0b37adb2a3f85ee04fdfa222eed.png

3c5c96e0055ad21b20298f2c75f7c2ee.png

上面两张表给出了 MSE GBM 和 MAE GBM 在训练过程中两个代价函数值(MSE + MAE)的变化。从中我们可以得出如下结论:

  1. 初始化时,均值能得到更小的 MSE (94576<113620);中值能得到更小的 MAE (218<246);
  2. 以 MSE 为优化目标的 MSE GBM 所得 MSE 代价值小于以 MAE 为优化目标的 MAE GBM。MAE 同理;
  3. 看二者的 MSE 变化:前者在训练中 MSE 得到了快速的下降,因为该模型从训练的第一个弱学习器就开对离群点进行了拟合;相反,后者并没有直接对 outlier 进行拟合从而使得模型在 M=3 时才获得了较小的 MSE。这一点从弱学习器
    对残差的拟合中可以直观对比得出:

5d9f7ec53fa62cd70ad20559a979f72e.png

上图中,左图为 MSE GBM,右图为 MAE GBM。橙色高亮区域为回归树

的右叶子节点。可以看出第一节点划分时离群点(第五个样本)就被单独划分成一个叶节点。

7cba8882ceeebe7cb75ad35db1312280.png

顺带提一下, MSE GBM 和 MAE GBM 在原理上与 k-means 和 k-median 算法有异曲同工之处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值