请问各位GBDT相对于直接的Boosting Tree的优势主要在哪里?个人理解是GBDT把对模型预测的损失函数最优化这一步转化为了对损失函数负梯度的平方损失最优化,保证了计算的简单与方向的正确,不知道我的理解是否错误?
如果我的理解大方向基本正确的话,假如在一般问题中我们的损失函数本身就是平方损失,为什么还要用GBDT呢?这样不是多此一举了?
才疏学浅,希望各位不吝赐教!
1个回答
那要你说的“直接的Boosting Tree”的定义了。GBDT前的boosting版本是Adaboost,Adaboost用的指数损失函数,然后会根据上一轮的迭代结果去更改每个样本的权重,上一轮错误的分类权重变大,正确的分类样本权重变小。权重的调整也有具体的公式。每个弱分类器自身的权重也是不等的。
GBDT的损失函数是可以是任何(可导)函数。在迭代过程中,GBDT不会去更改样本的权重,而是去直接优化目标函数,以一定的速率(学习率、步长)去拟合一轮又一轮的残差。
SofaSofa数据科学社区DS面试题库 DS面经