交叉验证

交叉验证的核心

  • 用测试集的测试误差来近似泛化误差, 测试集与训练集要互斥

交叉验证的本质

  • 解决方差估计问题

1. 留出法

  • 人为划分,留出训练集/测试集
  • 注意保持数据分布一致性,可采用分层抽样
  • 测试集大小1/5 ~ 1/3
  • 缺点:最后评估表现与分组有很大关系

2. k-fold交叉验证法

  • 步骤
    • 把原始数据分成大小相同的k折
    • 遍历k折:轮番地用当前1折做测试,剩下k-1折做训练
    • 进行k次训练和测试,把k个测试结果求平均
  • K常用值是5/10
  • 特征情况LOOCV留一法:K=N,即每次使用一个样本做测试,其它样本做训练

3. Bootstrapping自助法

  • 对于总数为n的样本集合,进行n次有放回的随机抽样,得到大小为n的训练集,没有被抽到的样本作为验证集
  • 有极限:训练(63.2%), 没有出现的样本做测试(36.8%)
  • 关键:训练集与原样本集同规模
  • 会改变数据分布
  • 数据集较小,难以有效划分训练集/测试集时使用

适用场景

  • 大数据量:留出法
  • 中等数据量:K折
  • 小数据量:留一或自助

© 2020. All rights reserved.