我需要提高决策支持弱分类器。所以每次迭代,我都要根据一定的权重训练弱分类器。然后,我将在每次迭代之后更新权重。到目前为止我已经明白了。但我不清楚的是“基于权重的训练决策残基弱分类器”。他们是怎么做到的?有人能用外行人的话来解释吗?
假设我有训练数据集{(x1,y1),(x2,y2)……,(xm,ym)} X是特性(例如10),y是一个二进制类。
最初,权重为w(x) = 1/m。
因此,弱学习者的决策结果应该是h(x),而h(X)应该是基于权重的二进制结构。
算法是如何工作的?最后的决定会有哪些特点?
发布于 2015-07-30 20:11:29
对于提升任务,您需要选择最佳的分类器的每一个迭代的算法。要做到这一点,您需要最小化数据集上相对于权重的平均残差,因此在计算分类器的错误度量时必须考虑对象的权重。因此,对于大权重对象的错误标注,分类器的惩罚将大于对小权重对象的错误标记的惩罚。
你可以看到我在R语言上提升决策树的实现,它工作得很好,对于决策树桩,只需在132到1行上改变树的深度,就可以用不同数量的分类器来测试精度,改变参数T。
如果您需要更深入的理解:您可以以与深度1树相同的方式学习树桩。要在加权数据集上学习树,您需要根据加权度量(例如熵与信息增益 ),根据选定的特征选择最佳方式将数据集分离为2部分的特征和值。您只需对所有可用特性进行for循环迭代,在嵌套循环排序中选择特征,并根据选定的特征和分隔符值,尝试将数据集的所有可能的分离成两组S,然后在维基百科上计算每个集合的熵,而不是将p(x)计算为
类x中元素数与集合S中元素数的比例
您需要将对象的所有权重与集合中的x类相加,并将该数字除以该集合中所有对象的权重之和。
哪里
然后,您可以计算信息增益,但同样,您需要使用加权比例p(t),而不是维基百科中的变量(数字比例)。
哪里
挑选特征和分隔符值,这给你最大的增益,这就是所有,你刚刚学习了新的残端分类器的加权数据,它已经准备好工作。
我做了一些图片来提供计算的例子,这里我只选择了一个分隔符,你需要检查每个可能的分隔符的增益。

https://stackoverflow.com/questions/31722939
复制相似问题