梯度增强树(GBM)与Adaboost之间差异的直观解释


48

我试图了解GBM和Adaboost之间的区别。

这些是我到目前为止所了解的:

  • 两种提升算法都可以从先前模型的错误中学习,最后对模型进行加权求和。
  • GBM和Adaboost的损失函数非常相似。

但是,我仍然很难理解它们之间的差异。有人可以给我直观的解释吗?

Answers:


34

我发现此介绍可能会提供一些直观的解释。

  • 在Gradient Boosting中,(现有弱学习者的)“缺点”是通过渐变来识别的。
  • 在Adaboost中,“缺点”由高权重数据点识别。

以我的理解,Adaboost的指数损失为那些拟合得较差的样品提供了更大的权重。无论如何,从损失函数的角度来看,Adaboost被视为梯度增强的特例,如导言中提供的梯度增强的历史所示。

  1. 发明Adaboost,第一个成功的增强算法[Freund等,1996; Freund和Schapire,1997]
  2. 将Adaboost公式化为具有特殊损失函数的梯度下降[Breiman等,1998; Breiman,1999]
  3. 将Adaboost泛化为梯度增强,以处理各种损失函数[Friedman et al。,2000,Friedman,2001]

11

AdaBoost算法的直观解释

让我以@Randel的出色答案为基础,并举例说明以下几点


  • 在Adaboost中,“缺点”由高权重数据点识别

AdaBoost回顾

令为弱分类器的序列,我们的目标是构建以下各项:Gm(x) m=1,2,...,M

G(x)=sign(α1G1(x)+α2G2(x)+...αMGM(x))=sign(m=1MαmGm(x))
  • 最终预测是通过加权多数投票将所有分类器的预测组合在一起的

  • 系数由boosting算法计算,并对每个的贡献。效果是对序列中更准确的分类器产生更高的影响。αmGm(x)

  • 在每个增强步骤,通过将权重应用于每个训练观察值来修改数据。在步骤,先前被错误分类的观测值的权重增加了w1,w2,...,wNm
  • 注意,在第一步,权重被统一初始化m=1wi=1/N

AdaBoost上的玩具示例

考虑我在AdaBoost上应用了以下设置的玩具数据集:迭代次数,弱分类器=深度1和2叶子节点的决策树。红色和蓝色数据点之间的边界显然是非线性的,但是该算法做得很好。M=10

在此处输入图片说明

可视化弱学习者的顺序和样本权重

前6个弱学习者如下所示。散点根据每次迭代时各自的样本权重进行缩放m=1,2...,6

在此处输入图片说明

第一次迭代:

  • 决策边界非常简单(线性),因为它们是学习者
  • 所有点的大小均与预期的相同
  • 6个蓝点位于红色区域中,并且分类错误

第二次迭代:

  • 线性决策边界已更改
  • 以前错误分类的蓝点现在更大(sample_weight更大)并影响了决策边界
  • 9个蓝点现在被错误分类

经过10次迭代的最终结果

所有分类器在不同位置具有线性决策边界。前6个迭代的结果系数为:αm

([1.041,0.875,0.837,0.781,1.04,0.938 ...

不出所料,第一次迭代的系数最大,因为它的分类错误最少。

下一步

梯度提升的直观说明-待完成

资料和进一步阅读:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.