自助法

原理及应用

我们希望评估的是用D训练出的模型.但在留出法和交叉验证法中,由于保留了一部分样本用于测试,因此实际评估的模型所使用的训练集比D小,这必然会引入一些因训练样本规模不同而导致的估计偏差.留一法受训练样本规模变化的影响较小,但计算复杂度又太高了.有没有什么办法可以减少训练样本规模不同造成的影响,同时还能比较高效地进行实验估计呢? “自助法”( bootstrapping)是一个比较好的解决方案,它直接以自助采样法( bootstrap sampling)为基础[ Efron and Tibshirani,1993给定包含m个样本的数据集D,我们对它进行采样产生数据集D:每次随机从D中挑选一个样本,将其拷贝放入D,然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到:这个过程重复执行m次后,我们就得到了包含m 个样本的数据集D,这就是自助采样的结果.显然,D中有一部分样本会在D 中多次出现,而另一部分样本不出现.可以做一个简单的估计,样本在m次采样中始终不被采到的概率是(1-),取极限得到

即通过自助采样,初始数据集D中约有36.8%的样本未出现在采样数据集D’ 中.于是我们可将D’用作训练集,D\D1用作测试集;这样,实际评估的模型与期望评估的模型都使用m个训练样本,而我们仍有数据总量约1/3的、没在训练集中出现的样本用于测试.这样的测试结果,亦称”包外估计”(out-of-bag stimate).