决策树/树桩与Adaboost

时间:2016-08-08 12:18:36

标签: c++ decision-tree adaboost

我刚刚开始使用Adaboost了解决策树,并在OpenCV上试用它并提出一些问题。

提升决策树

据我所知,当我将Adaboost与决策树一起使用时,我会不断地将决策树纳入训练数据的重新加权版本。分类是通过加权多数投票完成的

在使用Adaboost训练决策树时,我可以使用Bootstrapping吗?即我们选择数据集的子集并在将分类器输入Adaboost之前在每个子集上训练一个树。

提升决策难度

我是否对决策树桩使用相同的技术?或者我可以创建等于功能数量的树桩?即如果我有2个具有10个特征的类,我会在将分类器输入Adaboost之前为每个特征创建总共10个决策树桩。

1 个答案:

答案 0 :(得分:2)

AdaBoost不仅训练不同子集上的分类器,还根据达到的组装性能调整数据集元素的权重。可以找到详细说明here

是的,您可以使用相同的技术来训练决策树桩。该算法大致如下:

  1. 在没有权重的初始数据集上训练决策树桩(与权重= 1的每个元素相同)。
  2. 使用AdaBoost算法中的公式更新所有元素的权重。正确分类的元素的权重应该变小,不正确分类的权重 - 更大。
  3. 使用当前权重训练决策树桩。也就是说,不仅要减少这个决策树桩所犯错误的数量,还要减少错误权重的总和。
  4. 如果未达到所需的质量,请转到pt。 2。