我在尝试实现AdaBoost算法时,有两个问题需要解答。
1) 在每次迭代中,训练数据需要根据一个概率分布重新抽样。重新抽样的数据集大小是否需要与原始数据集大小相同?2) 如果我根据一个概率分布重新抽样训练数据集,很可能会得到某个数据点的多个副本。在每次迭代中训练弱分类器时,我是否应该保留所有这些冗余的副本?
回答:
1) 你不需要实际重新抽样数据集,只需在训练分类器时对数据点进行加权处理即可,即弱分类器的目标函数应是有权重的。
如果数据集的规模足够大,你也可以使用抽样方法,且抽样数据集的大小本身并不重要。
2) 如果你使用抽样方法并得到了冗余的副本,你绝对应该保留它们,否则弱分类器的目标函数将不会正确。