z由于xgboost的算法和GBDT的算法是相似的,只是在对损失函数的优化上边有不同的地方, 不是指最小化损失函数的过程不同,最小化的过程都是用的随机梯度下降法,不同是在最小化之前,对损失函数的处理上边。GBDT是直接在原来的损失函数上求最小化,在进行随机梯度下降的时候运用了偏微分的一阶导,而xgboost改进的地方是在于将损失函数进行了泰勒展开,运用了泰勒二阶展开式,用到了二阶导。这是两者最大的不同,还有一个是在于,GBDT每一次迭代都是用的全部的维度。而xgboost则在每次迭代时会随机抽取维度,每次的维度组合不一样,这个方法跟随机森林的抽样方法是一样的。

下边图片是转的别人的算法推导过程,懒得折腾写公式了


对xgboost原理的理解对xgboost原理的理解对xgboost原理的理解

相关文章: