机器学习之GBDT
2.3 GBDT
GBDT (Gradient Boosting Decision Tree) 梯度提升迭代决策树,是Boosting算法的一种。
GBDT使用的弱学习器必须是CART,且必须是回归树。GBDT用来做回归预测,当然,通过设置阈值也能用于分类任务。在模型训练时,模型预测样本损失尽可能小。
2.3.1 GBDT相关问题
GBDT的直观理解是:模型的每一轮预测都和真实值有gap,这个gap称为残差。下一轮对残差进行预测,最后将所有预测结果想加,得到最终结果。GBDT每一棵树学习的是前面所有树结论和的残差。
残差和负梯度什么关系?
我们每次计算都是为了减少上次的残差,那我们在残差减少的梯度上建立新模型是不是就可以了呢?GBDT就是这么来做的。
shrinkage是啥?
同时,GBDT认为每棵残差树只学到了真实情况的一小部分,希望通过每次走一小步的方式逐渐逼近真实结果,认为这样比每次迈一大步的方式更容易避免过拟合,这就是shrinkage的思想。
2.3.2 GBDT思想
GBDT树的学习过程为:计算伪残差-> 生成基学习器 -> 目标函数优化 -> 更新模型
2.3.3 GBDT缺点
- 基于残差的gbdt在解决回归问题上不算好的选择,对异常值过于敏感
- 不适合高纬稀疏特征
- 不好并行计算