文章目录
留出法 hold-out交叉验证法 cross validationk折交叉验证留一法 leave-one-out cross validation自助法 bootstrapping留出法 hold-out
留出法直接将数据集D划分为两个互斥的部分,其中一部分作为训练集S,另一部分用作测试集T。通常训练集和测试集的比例为70%:30%。同时,训练集测试集的划分有两个注意事项:
尽可能保持数据分布的一致性。避免因数据划分过程引入的额外偏差而对最终结果产生影响。在分类任务中,保留类别比例的采样方法称为“分层采样”(stratified sampling)。采用若干次随机划分避免单次使用留出法的不稳定性。
交叉验证法 cross validation
k折交叉验证
交叉验证法先将数据集D划分为k个大小相似的互斥子集,每次采用k−1个子集的并集作为训练集,剩下的那个子集作为测试集。进行k次训练和测试,最终返回k个测试结果的均值。又称为“k折交叉验证”(k-fold cross validation)。
留一法 leave-one-out cross validation
留一法是k折交叉验证k=m(m为样本数)时候的特殊情况。即每次只留下一个样本做测试集,其它样本做训练集,需要训练k次,测试k次。留一法计算最繁琐,但样本利用率最高。因为计算开销较大,所以适合于小样本的情况。
优点:样本利用率高。缺点:计算繁琐。
自助法 bootstrapping
自助法以自助采样为基础(有放回采样)。每次随机从D(样本数为m)中挑选一个样本,放入D′中,然后将样本放回D中,重复m次之后,得到了包含m个样本的数据集。
样本在m次采样中始终不被采到的概率是(1−1m)m(1-\frac{1}{m})^{m}(1−m1)m,取极限得到limm→∞=(1−1m)m=1e=0.368lim_{m\rightarrow \infty }=(1-\frac{1}{m})^{m}=\frac{1}{e}=0.368limm→∞=(1−m1)m=e1=0.368。即D约有36.8%的样本未出现在D′中。于是将D′用作训练集,D\D′用作测试集。这样,仍然使用m个训练样本,但约有1/3未出现在训练集中的样本被用作测试集。
优点:自助法在数据集较小、难以有效划分训练/测试集时很有用。缺点:自助法改变了初始数据集的分布,这会引入估计偏差。
参考:
/pxhdky/article/details/85206705