为了从单个样本中产生多个样本,bootstrapping作为交叉验证的一个替代方法,在原来的样本中进行替换的随机采样,从而得到新的样本。bootstrap得到的样本比交叉验证的样本重叠更多,因此它们的估计依赖性更强,被认为是小数据集进行重采样的最好方法。在bootstrap中,我们用替换法从大小为N的数据集中采样N个实例,原始数据集被用作验证集。我们选择一个实例的概率是1/N;我们不选择这个实例的概率1-(1 / N)。N次抽样后我们没有选中这个实例的概率是(1-1/N)^{N} \approx e^{-1}=0.368。这意味着训练数据只包含约63.2%的实例,也就是说这个系统不会在另外36.8%的数据上训练,这会为评估带来悲观偏差。解决方法是重复这个过程很多次来观察平均值。
[描述来源:book “Introduction to Machine Learning”; URL:http://cs.du.edu/~mitchell/mario_books/Introduction_to_Machine_Learning_-_2e_-_Ethem_Alpaydin.pdf]
机器学习中,Bootstrapping方法允许模型或算法更好地理解存在于其中的偏差、方差和特征。允许重采样包含不同的偏向,然后将其作为一个整体进行包含。如上图所示,每个样本群有不同的部分,而且各不相同。这会影响到数据集的整体均值、标准差和其他描述性指标。反过来,它可以发展出更多鲁棒的模型。
Bootstrapping同样适用倾向于过拟合的小数据集。利用Bootstrapping的算法可以增强鲁棒性,并根据已选的方法论(Boosting或Bagging)来处理新数据集。
使用Bootstrapping的原因是它可以测试解决方案的稳定性。使用多个样本数据集测试多个模型可以提高鲁棒性。或许一个样本数据集的平均值比其他数据集大,或者标准差不同。这种方式可以识别出过拟合且未使用不同方差数据集进行测试的模型。
Bootstrapping越来越普遍的原因之一是计算能力的提升。出现比之前更多次数的重排列、重采样。Bagging和Boosting都使用Bootstrapping。
[描述来源:机器之心;URL:https://www.jiqizhixin.com/articles/2017-11-25-2]
发展历史
描述
Bootstrap由Bradley Efron于1979年发表在他的论文"Bootstrap methods: another look at the jackknife"中。之后发展出Bayesian bootstrap, smooth bootstrap, parametric bootstrap, wild bootstrap, block bootstrap等多种类型的bootstrap方法,因其通用性和简便性,bootstrapping在各种机器学习算法中具有很强的实用性。
主要事件
年份 | 事件 | 相关论文/Reference |
1979 | Efron在论文中提出了bootstrap | Efron, B. (1979). Bootstrap Methods: Another Look at the Jackknife. The Annals of Statistics, 7(1), 1-26. |
1996 | Raviv和Intrator提出把bootstrap采样和给输入特征加噪相结合进行训练 | Raviv, Y., & Intrator, N. (1996). Bootstrapping with noise: An effective regularization technique. Connection Science, 8(3-4), 355-372. |
1999 | 采用多层次的bootstrapping方法进行信息提取 | Riloff, E., & Jones, R. (1999, July). Learning dictionaries for information extraction by multi-level bootstrapping. In AAAI/IAAI (pp. 474-479). |
2003 | 用bootstrapping算法学习主语名词 | Riloff, E., Wiebe, J., & Wilson, T. (2003, May). Learning subjective nouns using extraction pattern bootstrapping. In Proceedings of the seventh conference on Natural language learning at HLT-NAACL 2003-Volume 4 (pp. 25-32). Association for Computational Linguistics. |
2010 | 在Pn学习中用Bootstrapping提升分类器的性能 | Kalal, Z., Matas, J., & Mikolajczyk, K. (2010, June). Pn learning: Bootstrapping binary classifiers by structural constraints. In Computer Vision and Pattern Recognition (CVPR), 2010 IEEE Conference on (pp. 49-56). IEEE. |
发展分析
瓶颈
Bootstrapping不提供通用的有限样本保证,它的运用基于很多统计学假设,因此假设的成立与否会影响采样的准确性。
未来发展方向
随着计算能力的提升,bootstrapping 的运用会更加普遍,bagging 和 boosting都使用了bootstrapping。
Contributor: Yueqin Li