使用 Adaboost 的决策树/树桩
Posted
技术标签:
【中文标题】使用 Adaboost 的决策树/树桩【英文标题】:Decision trees / stumps with Adaboost 【发布时间】:2016-12-14 05:16:13 【问题描述】:我刚开始使用 Adaboost 学习决策树,并正在 OpenCV 上进行尝试,并有一些问题。
增强型决策树
我了解,当我将 Adaboost 与决策树一起使用时,我会不断地将决策树拟合到训练数据的重新加权版本。通过加权多数票进行分类
在使用 Adaboost 训练决策树时,我可以改用 Bootstrapping 吗?即,我们选择数据集的子集并在每个子集上训练一棵树,然后将分类器输入 Adaboost。
增强决策树桩
我是否对决策树桩使用相同的技术?或者我可以创建等于特征数量的树桩吗? IE。如果我有 2 个具有 10 个特征的类,我会在将分类器输入 Adaboost 之前为每个特征创建总共 10 个决策树桩。
【问题讨论】:
为什么这个问题不在 datascience.SE 中? 【参考方案1】:AdaBoost 不仅在不同子集上训练分类器,还根据达到的组装性能调整数据集元素的权重。详细说明可参见here。
是的,您可以使用相同的技术来训练决策树桩。算法大致如下:
-
在没有权重的初始数据集上训练决策树桩(与权重 = 1 的每个元素相同)。
使用 AdaBoost 算法中的公式更新所有元素的权重。正确分类的元素的权重应该变小,错误分类的权重应该变大。
使用当前权重训练决策树桩。也就是说,不仅要尽量减少此决策树桩所犯的错误数量,还要尽量减少错误权重的总和。
如果未达到预期的质量,请转到 pt。 2.
【讨论】:
以上是关于使用 Adaboost 的决策树/树桩的主要内容,如果未能解决你的问题,请参考以下文章