相比xgboost,GBDT有什么优势

  统计/机器学习 监督式学习    浏览次数:5888        分享
0

如题,网上都说xgboost比GBDT有优势,那么相比xgboost,GBDT有什么优势?

谢谢!

 

holmes94   2018-04-21 18:02



   3个回答 
2

GBDT的全称是梯度提升决策树,核心思想就在于将损失函数的负梯度在当前模型的值作为回归问题提升树算法中的残差的近似值,而xgboost的思想可以说来源于gbdt等,不光用了一阶导数信息,还有二阶导数,以及在树的复杂度衡量、并行化等各方面做了改进和优化,而且基模型也不再局限于树模型,可以使用线性模型。

所以我个人觉得“相比xgboost,GBDT有什么优势?”并不是一个合理的问题,如果勉强给个答案,相比xgboost,gbdt可能没有什么优势,一己之见。

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

dzzxjl   2018-04-21 21:23

1

你这个问题要找的就是比较特殊的情况了。首先要理解这两种算法的区别,就可以自然的找到你想要的答案。

xgboost比gbdt要多考虑hessian 矩阵的迭代信息,并且结构上可以实现更多的并行,gbdt的优化。所以如果一定要找个情况gbdt比较好,应该是在一介导对收敛的效果远远大于二介导,可以使得计算二介导带来的增益远远不够支付额外计算hessian的费用的情况吧。

还有一个比较general的优势,可能就是对硬件的要求gbdt应该会低一点。

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

sz080212   2019-04-04 10:51

0

没有免费的午餐嘛,所以没有一个模型能够完全压倒另一个模型的


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

数据痴汉   2018-04-22 20:37



  相关讨论

决策树有哪些缺点?

kNN算法有哪些缺点?

随机森林(random forest)和支持向量机(SVM)各有什么优劣

二阶优化算法比一阶的优化算法比有什么优缺点?

xgboost中的决策树的复杂度是怎么定义的?

tsne被忽视?tsne有什么缺点?

为什么lightgbm比xgb快?

xgboost里的每棵树是不是等权重的?

K Means算法有哪些缺陷、劣势?

xgboost是怎么做到regularization的?

  随便看看

python或者numpy求数值的中位数、四分位数

训练神经网络中经常提到的epoch是什么意思

请问在sklearn怎么在已有的模型的基础上训练新的数据?

推荐系统中的召回(recall)是什么意思?

去掉pandas DataFrame的index的名字