机器学习

交叉验证

交叉验证K折模型评估数据划分
一句话摘要

数据量有限时最充分利用数据的模型评估方法,通过多次划分训练集和验证集,获得更可靠的评估结果。

为什么需要交叉验证?

训练模型时,我们需要把数据分为训练集和测试集。但如果数据量有限,简单地一次划分(留出法)可能导致:

  • 训练数据不够,模型学不好
  • 评估结果不稳定,换一种划分就不同

交叉验证就是为了解决这个问题。

K折交叉验证

最常用的是K折交叉验证(K-Fold Cross Validation)

  1. 将数据随机分成K份(通常K=5或10)
  2. 每次用其中K-1份训练,剩下1份验证
  3. 重复K次,每份数据都当过一次验证集
  4. 取K次验证结果的平均值作为最终评估

示例(5折)

轮次训练数据验证数据
第1轮2,3,4,51
第2轮1,3,4,52
第3轮1,2,4,53
第4轮1,2,3,54
第5轮1,2,3,45

交叉验证的优势

  • 最大化数据利用率:每个样本都参与了训练和验证
  • 评估更稳定:多次评估取平均,减少随机性
  • 适合小数据集:数据量有限时的最佳选择

数据划分的三种方法对比

方法数据利用率评估稳定性适用场景
留出法较低较低数据量充足时
交叉验证数据量有限时
随机划分较低较低快速评估

训练集、验证集、测试集

数据集用途使用时机
训练集训练模型参数训练过程中
验证集调整超参数、选择模型训练过程中
测试集最终评估模型表现训练结束后

考试要点

  • 数据量有限时,交叉验证最充分利用数据
  • K折交叉验证中,每个样本都会被用作验证
  • 测试集用于训练结束后的最终评估
  • 验证集用于训练过程中的超参数调优
微信二维码

扫码备注【NOAI】加交流群