划重点——AdaBoost + 决策树 = 提升树
Gradient Boosting + 决策树 = GBDT
GBDT(Gradient Boosting Decision Tree)
1.算法原理:GBDT(梯度提升决策树),是一种基于boosting串行式的集成学习方法,通过采用加法模型(即基函数的线性组合),以及不断减小训练过程产生的残差来达到将数据分类或者回归的算法。图-GBDT的训练过程
GBDT可认为是一个迭代残差树,通过多轮迭代,每轮迭代产生一个弱分类器(CART TREE),核心就是每个分类器在上一轮分类器的残差基础上进行训练,这里的残差就是当前模型的负梯度值。
GBDT的核心就在于:每一棵树学的是之前所有树结论和的残差,这个残差就是一个加预测值后能得真实值的累加量。比如A的真实年龄是18岁,但第一棵树的预测年龄是12岁,差了6岁,即残差为6岁。那么在第二棵树里我们把A的年龄设为6岁去学习,如果第二棵树真的能把A分到6岁的叶子节点,那累加两棵树的结论就是A的真实年龄;如果第二棵树的结论是5岁,则A仍然存在1岁的残差,第三棵树里A的年龄就变成1岁,继续学习。
(传统的boosting与梯度提升的区别:
GB:每个新模型的建立是为了使得之前模型的残差往梯度方向减少;
传统的boosting:对正确、错误的样本进行加权——每一步结束,就增加错误的权重,减少对的权重)