我需要增强决策树桩弱分类器。因此,对于每次迭代,我都必须根据某些权重训练弱分类器。然后,我将在每次迭代后更新权重。到目前为止,我已经了解了。但是我不清楚的部分是“基于权重的火车决策树桩弱分类器”。他们到底是怎么做到的?有人可以用外行人的方式解释吗?
假设我有训练数据集{(x1,y1),(x2,y2).....,(xm,ym)}
X是要素(例如10),y是二进制类
最初,权重为w(x)= 1 / m
因此,决策树桩弱学习者应根据权重给出h(x),该值应为二进制。
该算法如何工作?决策树桩将具有哪些功能?
最佳答案
对于增强任务,您需要在算法的每次迭代中选择最佳分类器。为此,您需要相对于权重将数据集上树桩的平均误差最小化,因此在对分类器的误差度量进行计数时,必须考虑对象的权重。因此,分类器对重量较大的物体的错误标签的惩罚将大于对重量较小的物体的错误标签的惩罚。
您可以看到我的implementation在R语言上增强决策树的效果,效果很好,对于决策树桩,只需将第132行的树的深度更改为1,就可以使用更改参数T的不同数量的分类器来测试准确性。
如果您需要更深入的了解:可以按照深度树1的方法来学习树桩。要学习加权数据集上的树,您需要选择特征和值,以根据加权度量将数据集按选定特征按最佳方式分为2部分的最佳方式,对于例如Entropy and Information Gain。您可以使用for循环遍历所有可用功能,在嵌套循环中对所选特征进行排序,然后根据选择的特征和分隔符值尝试将数据集的所有可能的分离分为两个集合S,然后在写入维基百科的每个集合上计算熵,而不是将p(x)计算为
类x中元素数量与集合S中元素数量的比例
您需要对集合中类别为x的对象的所有权重求和,然后将此数字除以该集合中所有对象的权重之和。
其中-集S中对象的所有权重,以及-集S中具有类x的对象的所有权重。
然后,您可以计算信息增益,但是同样,您需要使用加权比例p(t)而不是Wikipedia中的变体(数字比例)。
其中-初始(不除以分隔符)集合的对象权重集。
和-集合t中对象的权重集(通过使用一些分隔符值分隔S可以得到2个集合的t)
选择功能和分隔符值可为您带来最大的收益,仅此而已,您刚刚学习了加权数据上的新树桩分类器,即可开始工作。
我做了一些图片来提供计算示例,在这里我只选择了1个分隔符,您需要检查每个可能的分隔符的增益。
关于boost - 基于分布的弱学习者:决策树桩,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31722939/