评估方法(交叉验证法、自助法、留出法)

文章目录

  • 留出法 hold-out
  • 交叉验证法 cross validation
    • k折交叉验证
    • 留一法 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)。
评估方法(交叉验证法、自助法、留出法)_第1张图片

留一法 leave-one-out cross validation

留一法是k折交叉验证k=m(m为样本数)时候的特殊情况。即每次只留下一个样本做测试集,其它样本做训练集,需要训练k次,测试k次。留一法计算最繁琐,但样本利用率最高。因为计算开销较大,所以适合于小样本的情况。

  • 优点:样本利用率高。
  • 缺点:计算繁琐。

自助法 bootstrapping

自助法以自助采样为基础(有放回采样)。每次随机从D(样本数为m)中挑选一个样本,放入D′中,然后将样本放回D中,重复m次之后,得到了包含m个样本的数据集。
样本在m次采样中始终不被采到的概率是 ( 1 − 1 m ) m (1-\frac{1}{m})^{m} (1m1)m,取极限得到 l i m m → ∞ = ( 1 − 1 m ) m = 1 e = 0.368 lim_{m\rightarrow \infty }=(1-\frac{1}{m})^{m}=\frac{1}{e}=0.368 limm=(1m1)m=e1=0.368。即D约有36.8%的样本未出现在D′中。于是将D′用作训练集,D\D′用作测试集。这样,仍然使用m个训练样本,但约有1/3未出现在训练集中的样本被用作测试集。

  • 优点:自助法在数据集较小、难以有效划分训练/测试集时很有用。
  • 缺点:自助法改变了初始数据集的分布,这会引入估计偏差。

参考:
https://blog.csdn.net/pxhdky/article/details/85206705

你可能感兴趣的:(机器学习)