GBDT (Gradient Boosting Decision Tree)属于集成学习中的Boosting流派,迭代地训练基学习器 (base learner),当前基学习器依赖于上一轮基学习器的学习结果。 不同于AdaBoost自适应地调整样本的权值分布,GBDT是通过不断地拟合残差 (residual)来“纠错”基学习器的。
1. Gradient Boosting
Gradient Boosting Machine (GBM) 是由大牛Friedman [1,2] 提出来,基本思想非常简单:基学习器存在着分类/回归错误的情况,在下一轮基学习器学习时努力地纠正这个错误。在回归问题中,这个错误被称为残差。比如,在学习样本\((x, y)\)得到一个模型\(f\),预测值为\(\hat{y} = f(x)\);那么残差则为:
\[y - \hat{y} = y- f(x) \]
如果定义损失函数为平方损失\(\frac{1}{2}(y-f(x))^2\),那么其梯度为
\[\frac{\partial \frac{1}{2}(y-f(x))^2}{\partial f(x)} = f(x) - y \]
可以发现:残差为负梯度方向。对于平方损失,每一步优化是很简单的;但是,对于其他损失函数呢
GBDT(Gradient Boosting Decision Tree)是一种基于Boosting的机器学习算法,通过迭代训练决策树来逐步减少预测误差。每个新树主要关注前一棵树的残差,以负梯度方向优化。学习率(learning rate)用于防止过拟合,降低模型复杂度。sklearn提供了实现GBDT的接口,可用于回归和分类任务。
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



