gpt4 book ai didi

boost - 基于分布的弱学习器 : Decision stump

转载 作者:行者123 更新时间:2023-11-30 08:52:27 26 4
gpt4 key购买 nike

我需要 boost 决策树桩弱分类器。因此,对于每次迭代,我都必须根据某些权重来训练弱分类器。然后我将在每次迭代后更新权重。到目前为止我已经明白了。但对我来说不清楚的部分是“基于权重训练决策树桩弱分类器”。他们到底是怎么做到的?谁能用通俗的语言解释一下?

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

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

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

该算法是如何工作的?决策树桩将采用哪些特征?

最佳答案

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

你可以看到我的implementation R语言上决策树的boosting,效果很好,对于决策树桩,只需将第132行的树深度更改为1,就可以通过改变参数T来测试不同数量的分类器的准确性。

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

The proportion of the number of elements in class x to the number of elements in set S

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

p(x)

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

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

p(t)

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

选择能给您带来最大 yield 的特征和分隔符值,仅此而已,您刚刚学习了基于加权数据的新树桩分类器,并且已准备好工作。

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

关于boost - 基于分布的弱学习器 : Decision stump,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31722939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com