Skip to content

原则Principle

留出法与交叉验证

Holdout · Cross-validation · 交叉验证

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

形式陈述 ​

三种数据角色 ​

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

最简单的留出法把IID 样本用与数据独立的索引切分分成训练集 Str 与非空测试集 Ste。学习器只访问训练集,得到 h^=A(Str)。条件于训练集,h^ 对测试样本是固定的,因此

R^Ste(h^)=1|Ste|∑z∈Steℓ(h^,z)

是测试损失的样本均值。若 ℓ∈[0,1],Hoeffding 不等式给出 0<δ<1 时的条件保证:

Pr(|R^Ste(h^)−RD(h^)|>log⁡(2/δ)2|Ste||Str)≤δ.

它控制同一固定模型的经验风险与总体风险之差。随机学习器还应固定独立的训练随机种子;无界损失需要另给尾部或矩条件。独立性来自协议隔离,不来自“这个目录叫 test”。

k 折交叉验证 ​

取 2≤k≤m,用与数据独立的索引划分形成 k 个非空、不交叠折 I1,…,Ik。第 j 轮在除 Ij 外的数据上训练 h^(−j),在 Ij 上评价。交叉验证估计量为

R^CV=1m∑j=1k∑i∈Ijℓ(h^(−j),Zi).

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

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

模型选择与嵌套交叉验证 ​

若用交叉验证分数在事先固定的非空有限候选集合 Λ 中选择

λ^∈arg⁡minλ∈ΛR^CV(λ),

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

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

直觉

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

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

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

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

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

若管线还包含保序概率校准或温度缩放,校准映射也是拟合步骤:先固定基础模型,再用它未参与拟合的数据学习映射,最终测试必须隔离整个流程。

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

时间、群组与分布边界 ​

这里的风险与集中结论以 IID 抽样为基准;仅有可交换性不保证测试损失独立。时间序列应尊重因果顺序,常用滚动或向前验证;同一用户、病人或设备产生的多条记录应按群组切分,避免近重复实体跨越训练和测试。若部署分布与收集分布不同,即使切分完全独立,估计的仍是旧分布风险,不会自动覆盖分布漂移。

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

置信度与重复使用 ​

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

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

推论与应用

留出法适合训练数据充足、候选流程已基本确定的场景:它用最简单的协议换取容易解释的最终评价。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.
关系图谱13 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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