我刚刚开始使用Adaboost学习决策树,并在OpenCV上进行尝试,并遇到了一些问题。

增强决策树

我知道当我将Adaboost与决策树配合使用时,我会不断使决策树适应训练数据的加权版本。分类以加权多数票进行

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

增强决策树桩

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

最佳答案

AdaBoost不仅在不同的子集中训练分类器,而且还根据达到的组装性能来调整数据集元素的权重。详细描述可以在here中找到。

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

  • 在无权重的初始数据集上训练决策树桩(与权重= 1的每个元素相同)。
  • 使用AdaBoost算法中的公式更新所有元素的权重。正确分类的元素的权重应该变小,而错误分类的元素的权重应该变大。
  • 使用当前权重训练决策树桩。也就是说,不仅要最小化此决策树桩所犯的错误数量,还应最小化错误权重的总和。
  • 如果没有达到所需的质量,请转到pt。 2.
  • 关于c++ - 决策树/树桩与Adaboost,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38829052/

    10-14 12:29