基于分布的弱学习者:决策残端

时间:2015-07-30 11:47:02

标签: boost machine-learning classification weak

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

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

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

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

算法如何运作?决策结果将采取哪些特征?

1 个答案:

答案 0 :(得分:4)

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

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

如果您需要更深入的了解:您可以像深度树1一样学习树桩。要在加权数据集上学习树,您需要选择以最佳方式将数据集分类为2个部分的特征和值,根据加权选择的特征指标,例如Entropy and Information Gain。您可以在嵌套循环排序选择特征中迭代所有可用特征的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个集合的权重)

选择功能和分隔符值可以获得最大的收益,就这一切而言,您刚刚在加权数据上学习了新的树桩分类器,并且已准备就绪。

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