如题,网上都说xgboost比GBDT有优势,那么相比xgboost,GBDT有什么优势?
谢谢!
3个回答
GBDT的全称是梯度提升决策树,核心思想就在于将损失函数的负梯度在当前模型的值作为回归问题提升树算法中的残差的近似值,而xgboost的思想可以说来源于gbdt等,不光用了一阶导数信息,还有二阶导数,以及在树的复杂度衡量、并行化等各方面做了改进和优化,而且基模型也不再局限于树模型,可以使用线性模型。
所以我个人觉得“相比xgboost,GBDT有什么优势?”并不是一个合理的问题,如果勉强给个答案,相比xgboost,gbdt可能没有什么优势,一己之见。
SofaSofa数据科学社区DS面试题库 DS面经你这个问题要找的就是比较特殊的情况了。首先要理解这两种算法的区别,就可以自然的找到你想要的答案。
xgboost比gbdt要多考虑hessian 矩阵的迭代信息,并且结构上可以实现更多的并行,gbdt的优化。所以如果一定要找个情况gbdt比较好,应该是在一介导对收敛的效果远远大于二介导,可以使得计算二介导带来的增益远远不够支付额外计算hessian的费用的情况吧。
还有一个比较general的优势,可能就是对硬件的要求gbdt应该会低一点。
SofaSofa数据科学社区DS面试题库 DS面经