Skip to content

留出法与交叉验证

Holdout · Cross-validation · 交叉验证 · 嵌套交叉验证

通过隔离训练、模型选择和最终评价的数据角色估计样本外风险,并识别反复查看测试集造成的选择偏差。

条目类型
原则

形式陈述

三种数据角色

模型开发包含三个不同问题:用什么数据拟合参数,用什么数据选择模型或超参数,以及用什么数据评价最终固定方案。训练集、验证集、测试集不是文件名,而是这三种统计角色。同一条样本可以在不同折中轮换角色,但若一个结果已参与选择,就不能再把它当作对该选择完全独立的最终证据。

最简单的留出法把IID 样本随机分成训练集 Str 与测试集 Ste。学习器只访问训练集,得到 h^=A(Str)。条件于训练集,h^ 对测试样本是固定的,因此

R^Ste(h^)=1|Ste|zSte(h^,z)

可用普通集中不等式控制其经验风险与总体风险之差。独立性来自协议隔离,不来自“这个目录叫 test”。

k 折交叉验证

把样本索引划分为 k 个不交叠折 I1,,Ik。第 j 轮在除 Ij 外的数据上训练 h^(j),在 Ij 上评价。交叉验证估计量为

R^CV=1mj=1kiIj(h^(j),Zi).

每条样本恰好被测试一次,训练数据却在各轮高度重叠。因此各折误差不是独立观测,不能把 k 个折均值直接当成 k 个独立实验来算标准误。

k 控制偏差—计算折中。较大的 k 让每轮训练集更接近全数据,训练目标偏差通常较小,却需要更多次拟合,折间相关结构也更强。leave-one-out 是 k=m 的极端,并不因“用了几乎全部数据训练”就必然给最低方差。

模型选择与嵌套交叉验证

若用交叉验证分数在候选集合 Λ 中选择

λ^argminλΛR^CV(λ),

最小分数对其自身存在乐观选择偏差。候选越多、调参越反复,偶然低估越容易获胜。此分数适合选模型,却不再是最终方案的无偏独立评价。

嵌套交叉验证用外层折估计整个选择流程:每个外层训练部分内部再做一轮交叉验证选择 λ,随后只在未被内部流程看见的外层测试折上评价。外层估计的对象是“在给定样本规模上运行整套调参算法”的性能,而不是某个在全数据上训练出的确定模型的条件风险。这一区别在解释结果时应明确。

直觉

训练、选择和评价之所以必须分角色,是因为每次查看分数都会改变下一次要评估的对象。对一个事先固定的模型,测试误差只是独立样本均值;对许多候选里挑出的最低误差,它还包含“偶然最走运者获胜”的选择效应。文件是否命名为 test 无关紧要,真正决定独立性的是这批数据有没有进入决策回路。

交叉验证用轮换减少一次切分造成的样本浪费,却没有制造 k 份新数据。每条样本虽只在一个折里担当测试点,各轮训练集却大幅重叠,所得误差彼此相关。嵌套设计再增加一层隔离,目的不是让分数更漂亮,而是让外层评价面对一套已经在内层完成选择的流程。

训练、选择与最终测试隔离
例子与边界

从预处理到最终测试的完整协议

假设要在三种特征处理方式和十个正则强度间选择。先保留一次性测试集;在其余数据上进行交叉验证,且每一折内重新拟合标准化、缺失值处理和特征选择,再选出管线。随后用全部非测试数据重新拟合一次,最后只评价一次测试集。

若先在全数据上标准化或筛特征,再切折,测试折的信息已进入训练变换,形成数据泄漏。泄漏不一定表现为直接读取标签;用全体样本估计词表、时间窗口或归一化尺度,也可能让评估对象不再是实际部署时可用的训练流程。

时间、群组与分布边界

随机折分默认样本可交换。时间序列应尊重因果顺序,常用滚动或向前验证;同一用户、病人或设备产生的多条记录应按群组切分,避免近重复实体跨越训练和测试。若部署分布与收集分布不同,即使切分完全独立,估计的仍是旧分布风险,不会自动覆盖分布漂移。

分类不平衡时可做分层切分以稳定各折类别比例,但分层不把条件抽样重新变成原始总体;报告指标时仍需说明目标先验和加权方式。极少数群组或稀有类别下,折数选择受实际可分样本数限制。

置信度与重复使用

一次独立测试集支持固定模型的有限样本置信界。若团队根据测试结果继续改模型,再回来报告同一测试集,模型已经依赖测试反馈。此时要么取得新测试集,要么把旧测试集降格为验证数据,并用自适应数据分析机制明确管理复用。

重复多次随机交叉验证可以描述切分敏感性,但这些重复共享大量样本,不能把重复次数当作独立样本量。最可靠的报告会同时给出切分协议、评价对象、候选搜索范围和不确定性计算方法,而不是只给一个平均分。

推论与应用

留出法适合训练数据充足、候选流程已基本确定的场景:它用最简单的协议换取容易解释的最终评价。k 折交叉验证更适合样本有限且需要比较若干候选的场景;折数应同时考虑训练偏差、计算成本、群组约束和每折能否包含足够的稀有类别。

当同一批数据既要调超参数又要报告选择流程的性能时,嵌套交叉验证把内层模型选择与外层评价分开。若最终还要发布一个在全部开发数据上重训的模型,外层结果估计的是训练流程在相应样本规模下的表现,而不是这个最终模型条件于现有数据的精确风险。

若团队会根据测试反馈长期迭代,普通留出协议的独立性终会耗尽。此时应取得新的独立测试集,或明确转入自适应数据分析,用稳定发布、有限反馈或隐私机制管理复用;简单增加交叉验证重复次数不能修复反馈回路。

参考资料
  • Mervyn Stone, “Cross-Validatory Choice and Assessment of Statistical Predictions,” JRSS B, 1974.
  • Trevor Hastie, Robert Tibshirani, and Jerome Friedman, The Elements of Statistical Learning, 2nd ed., Springer, 2009, model assessment chapter.
  • Sylvain Arlot and Alain Celisse, “A Survey of Cross-Validation Procedures for Model Selection,” Statistics Surveys, 2010.
关系图谱8 个相邻概念 · 1 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组