求问xgboost损失函数!

我的理解是xgb用的泰勒展开近似损失函数,对近似函数求导令其为0,来得到当前拟合值,相较于gbdt的直接对损失函数求导令其为0得到当前拟合值,不应该是xgb用到更少的信息刻画损失函数,防止过拟合吗?但是看到面经都是千篇一律gbdt一阶导刻画损失,xgb一阶二阶刻画损失,xgb学到更多信息。明明gbdt的损失一点没变啊……




不知道描述清楚了吗?

全部评论
只不过gbdt和xgb是在函数空间优化,梯度下降和牛顿法在参数空间优化
2 回复
分享
发布于 2019-10-18 01:32
gbdt是一阶泰勒,xgb二阶泰勒,类比于梯度下降(一阶泰勒)和牛顿法(二阶泰勒)
1 回复
分享
发布于 2019-10-18 01:30
滴滴
校招火热招聘中
官网直投
所以xgb收敛速度比gbdt更快(牛顿法收敛速度比梯度下降更快),为什么不用更高阶的泰勒展开,因为会使损失函数为非凸函数,无法令其导为0
1 回复
分享
发布于 2019-10-18 01:42
泰勒展开越多阶越接近原值
点赞 回复
分享
发布于 2019-10-18 00:20
gbdt每次训练的y不就是那个损失函数的一阶梯度嘛,这个和一阶泰勒展开有啥区别嘛
点赞 回复
分享
发布于 2019-10-18 00:41
GBDT:L(yi, y*_[t-1])对y*_[t-1]求导作为目标函数 XGB: L(yi, y*_[t-1]+ft)对y*_[t-1]求导作为目标函数 他们是一样的吗?
点赞 回复
分享
发布于 2019-10-18 01:16

相关推荐

3 5 评论
分享
牛客网
牛客企业服务