1

我需要提升决策树桩弱分类器。因此,对于每次迭代,我都必须根据某些权重训练弱分类器。然后,我将在每次迭代后更新权重。到目前为止,我已经明白了。但对我来说不清楚的部分是“基于权重的训练决策树桩弱分类器”。他们究竟是怎么做到的?任何人都可以用外行的方式解释吗?

假设我有训练数据集 {(x1,y1),(x2,y2).....,(xm,ym)} X 是特征(比如 10),y 是二元类

最初的权重是 w(x) = 1/m

所以决策树桩弱学习器应该给出 h(x),它应该是基于权重的二进制。

算法是如何工作的?决策树桩将具有哪些特征?

4

1 回答 1

4

对于提升任务,您需要在算法的每次迭代中选择最佳分类器。为此,您需要最小化数据集上树桩相对于权重的平均误差,因此在计算分类器的误差度量时必须考虑对象的权重。因此,分类器对大权重对象的错误标记的惩罚将大于对小权重对象的错误标记的惩罚。

您可以看到我在 R 语言上对决策树进行提升的实现,它运行良好,对于决策树桩,只需将第 132 行的树深度更改为 1,您可以使用不同数量的分类器更改参数 T 来测试准确性。

如果您需要更深入的理解:您可以使用与深度树 1 相同的方式来学习树桩。要在加权数据集上学习树,您需要根据加权指标选择将数据集以最佳方式分离为 2 部分的特征和值,例如例如熵和信息增益。您可以使用 for 循环遍历所有可用特征,在嵌套循环中对选取的特征进行排序,并根据所选特征和分隔值尝试将数据集所有可能的分离为两组 S,然后计算每个集合的熵,因为它是写在维基百科上的, 但不是将 p(x) 计算为

类 x 的元素个数与集合 S 的元素个数的比例

您需要将集合中具有 x 类的所有对象的权重相加,然后将此数字除以该集合中所有对象权重的总和。

p(x)

其中W- 集合 S 中的所有对象的权重,以及W_x- 集合 S中具有类 x的所有对象的权重。

然后您可以计算信息增益,但同样,您需要使用加权比例 p(t) 而不是维基百科中的变体(数字的比例)。

p(t)

其中W_S- 初始(不除以分隔符)集合中的对象权重集。和W_t- 来自集合 t 的一组对象的权重(通过用一些分隔符值分隔 S,您将获得 2 个集合 t)

选择能给你带来最大收益的特征和分隔符值,仅此而已,你刚刚学习了关于加权数据的新树桩分类器,它已经准备好工作了。

我制作了一些图片来提供计算示例,这里我只选择了 1 个分隔符,您需要检查每个可能的分隔符的增益。 例子

于 2015-07-30T20:11:29.983 回答