以下是adaboost算法:
它在第 3.1 部分提到了“在训练数据上使用权重 wi”。
我不太清楚如何使用权重。我应该重新采样训练数据吗?
以下是adaboost算法:
它在第 3.1 部分提到了“在训练数据上使用权重 wi”。
我不太清楚如何使用权重。我应该重新采样训练数据吗?
我不太清楚如何使用权重。我应该重新采样训练数据吗?
这取决于您使用的分类器。
如果您的分类器可以考虑实例权重(加权训练示例),那么您不需要重新采样数据。示例分类器可以是累积加权计数的朴素贝叶斯分类器或加权 k 最近邻分类器。
否则,您想使用实例权重对数据进行重新采样,即可以对具有更多权重的实例进行多次采样;而那些权重很小的实例甚至可能不会出现在训练数据中。大多数其他分类器都属于这一类。
实际上在实践中,如果你只依赖一个非常幼稚的分类器池,例如决策树桩、线性判别器,提升性能会更好。在这种情况下,您列出的算法具有易于实现的形式(有关详细信息,请参见此处):
选择 alpha 的位置(epsilon 的定义与您的类似)。
在平面中定义一个二分类问题(例如,正方形内的圆点)并从随机生成的符号类型(ax1 + bx2 + c)的线性判别池中构建一个强分类器。
两个类标签用红叉和蓝点表示。我们在这里使用一堆线性判别式(黄线)来构建朴素/弱分类器池。我们为图中的每个类(无论是否在圆圈内)生成 1000 个数据点,并保留 20% 的数据用于测试。
这是我得到的分类结果(在测试数据集中),其中我使用了 50 个线性判别式。训练误差为 1.45%,测试误差为 2.3%
权重是在步骤 2 中应用于每个示例(样本)的值。然后在步骤 3.3 (wi) 更新这些权重。
所以最初所有的权重都是相等的(第 2 步),对于错误分类的数据,它们会增加,对于正确分类的数据,它们会减少。因此,在步骤 3.1 中,您必须考虑这些值来确定新的分类器,从而更加重视更高的权重值。如果您不更改权重,则每次执行步骤 3.1 时都会生成完全相同的分类器。
这些权重仅用于训练目的,它们不是最终模型的一部分。