简介
Bootstrap Aggregating也叫作bagging,是一种机器学习领域用来做模型合并的一种算法。这种算法可以提高统计分类器和回归器的稳定性和准确度。同时也可以帮助模型避免过拟合。
历史
Bootstrap Aggregating最早在1994年由Leo Breiman提出,当时用来通过随机合并训练数据集,从而提高分类器的性能。
算法描述
Bootstrap Aggregating算法不直接作用于模型本身,而是作用在训练数据上。
设有训练集,记作D,数据集的大小是n。Bootstrap Aggregating的目标就是基于D生成m个新的数据集Di,新数据集的大小记作n’。
新数据集的每个元素是通过在原数据集采样得到的,采样的概率服从平均分布。这样一来,Di中会存在重复的样本。如果n′=n,而且n的值足够大,那么Di中没有出现重复的样本比例大概为(1−1/e)≈63.2% (参考)。其余的样本都是出现了重复的。
随后,使用这m个新产生的数据集分别训练模型。预测时,对这些模型的结果进行平均(对拟合任务)或者投票(对分类任务)。
范例
在维基百科的词条中展示了一个使用Bootstrap Aggregating算法拟合一个统计数据的案例。使用图片形象地展示了Bootstrap Aggregating对拟合模型稳定性的提升。详见