bootstrap、bagging、boosting和adaboost是机器学习中几种常用的重采样方法。其中bootstrap重采样方法主要用于统计量的估计,bagging、boosting 和 adaboost方法则主要用于多个子分类器的组合。
一、bootstrap:估计统计量的重采样方法
bootstrap方法是从大小为n的原始训练数据集 中随机选择n个样本点组成一个新的训练集,这个选择过程独立重复B次,然后用这B个数据集对模型统计量进行估计(如均值、方差等)。由于原始数据集的大小就是n,所以这B个新的训练集中不可避免的会存在重复的样本。
统计量的估计值定义为独立的B个训练集上的估计值
θb
的平均:
二、bagging:
bagging方法是从大小为n的原始训练数据集 中随机选择 n′(n′<n) 个样本点组成一个新的训练集,这个选择过程独立重复B次。然后,每一个新的训练集都被独立的用于训练一个子分类器,最终分类器的分类结果由这些子分类器投票决定。
三、boosting:
boosting依次训练k个子分类器,最终的分类结果由这些子分类器投票决定。首先从大小为n的原始训练数据集中随机选取 n1 个样本训练出第一个分类器,记为 C1 ,然后构造第二个分类器 C2 的训练集 2 ,要求: 2 中一半样本能被 C1 正确分类,而另一半样本被 C1 错分。接着继续构造第三个分类器 C3 的训练集 3 ,要求: C1 、 C2 对 3 中样本的分类结果不同。剩余的子分类器按照类似的思路进行训练。
boosting构造新训练集的主要原则是使用最富信息的样本。
四、adboost:
adaboost方法是boosting方法的一种改进。adaboost为每个样本赋予一个权值,adaboost希望在下一轮训练时被上一个子分类器正确分类的样本权重减小、被错误分类的样本权重增加,从而使得已经正确分类的样本能继续正确分类,已经错误分类的样本有很大机会被正确分类。