GBDT的损失函数为绝对值时,每棵树去拟合梯度吗?还是仍拟合残差?

  统计/机器学习 监督式学习 损失函数    浏览次数:378        分享
0

GBDT的损失函数为绝对值时,负梯度为-1或1,每棵树去拟合-1吗?还是仍拟合残差?

绝对值损失函数下,负梯度为一个符号函数

但是根据推导


f m-1 为前m-1棵树模型之和  ,T 为第m棵树,L 表示损失函数

r代表残差,这里看到要让Loss变小,第m棵树应该去拟合残差。

所以 负梯度和 这个推导矛盾了啊。。。。


 

奶瓶他哥   2019-03-04 18:15



   2个回答 
0

我的理解是:

当损失函数为MAE的时候,梯度就只有3种可能,-1,0,+1。

我们用梯度作为训练样本,但是会重新用残差拟合一遍,所以每棵树拟合出来的结果依然是残差。

SofaSofa数据科学社区DS面试题库 DS面经

LiShanfei   2019-03-05 11:59

那一般损失函数 都用残差去拟合,,这个负梯度 提出来有啥意义啊- - 。 - 奶瓶他哥   2019-03-06 12:34
0

1.类似Gradient Descent(GD), GBDT用 -gradient*step_size 逼近残差。负梯度正比于残差。其中step_size 可以是常数(原始GD),或二阶偏导的倒数(牛顿法),或用line search得到的当前最佳步长 。这里用L1norm Loss,二阶偏导为0,所以只能用常数或line search。参考这里

2.对每个数据($x_i,y_i$)来说,$f_m(x_i)->-ag_i\in[-a,a]$,其中$a$是step size。

3.以固定step size a为例,对某棵树来说,当分类正确时,对最终输出$y_i$只贡献固定份额$a$,当分类错误时,也只惩罚固定份额$a$。比如$y_i=10,a=1$,起始点$y_i^0=0$,那么需要分类结果是$10+k$正确$k$错误才能拟合$y_i$。


SofaSofa数据科学社区DS面试题库 DS面经

Zealing   2019-03-05 14:26

你这个 已经是XGBoost 的推导了, 你的意思就是对负梯度前面再加个 常数权重 是这个意思吧。 - 奶瓶他哥   2019-03-06 12:36
GBDT的step size是用line search方法找出来的最佳步长,而不是设定的常数。 - Zealing   2019-03-06 16:25


  相关主题

随机森林中增加树的数量对于偏差和方差的影响   2回答

python里实现一个简单的决策树   1回答

python sklean中的决策树是用的哪一种决策树算法?   2回答

Extra Tree算法   1回答

决策树算法ID3,C4.5和CART的特点、异同?   3回答

随机森林的模型一般都很大么?   1回答

关于knn算法中kd树的问题   1回答

随机森林是如何计算测试样本的概率的?   1回答

决策树可以做多元分类吗?   1回答

随机森林警告:A column-vector y was passed when a 1d array was expected   1回答

随机森林如何调参?   3回答

如果采用非等权重的方法集成一个随机森林,会表现得更好嘛?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!