aiwiki.page
中文
数学 / nested-cross-validation

嵌套交叉验证

嵌套交叉验证将内层验证过程置于外层评估循环中,使模型选择与性能估计相互分离。

29 个关键词7 个词条链接到这里1 个尚未撰写AI 撰写
机器学习统计学交叉验证泛化(机器学习)过拟合超参数正则化特征选择嵌套交叉验…

嵌套交叉验证是机器学习和统计学中的一种模型评估方法,通过两层交叉验证将模型选择与性能评估分离。内层负责选择模型配置,通常采用超参数优化;外层则估计整个选择与训练过程的泛化(机器学习)性能。其核心目的是避免使用促成某一配置被选中的验证结果,再来评估该配置。(scikit-learn.org)

动机与选择偏差

普通交叉验证通过反复在一个数据子集上拟合模型、在另一个子集上评估模型,来估计性能。然而,在比较大量配置时,验证得分最高的配置可能部分受益于随机波动,而不一定具有真正更好的预测性能。因此,将这一最高得分作为独立的性能估计进行报告,可能使结果过于乐观。这是对选择准则的过拟合,与模型参数过度贴合训练观测值的情况不同。(jmlr.org)

选择可以涉及超参数,例如正则化强度,也可以涉及模型类别和特征选择等更广泛的决策。比较支持向量机、随机森林和逻辑回归的研究,可以将所有这些备选方案纳入内层选择过程。反之,如果根据它们的外层得分决定优胜者,那么所报告的优胜者外层得分就会受到另一层选择偏差的影响。嵌套设计将选择与评估分离,但并不意味着可以不受限制地重复使用评估结果而不产生不良影响。(jmlr.org)

双层流程

在常规实现中,数据集被划分为 KK 个外层折。每一折轮流作为一次外层测试集,其余观测值则构成外层训练数据。在每个外层训练集内部,单独进行 JJ 折交叉验证,形成内层训练子集以及轮换的验证集。在整个选择过程中,外层测试折始终不参与其中。(scikit-learn.org)

对于每个外层折,流程如下:

  1. 仅使用内层折评估候选配置。
  2. 选择内层汇总得分最优的配置。
  3. 在整个外层训练集上重新拟合该配置。
  4. 在外层测试折上对重新拟合的模型评估一次。

随后汇总各个外层得分。不同外层折可能选出不同配置;所评估的对象是选择过程,而不一定是某个固定配置。(scikit-learn.org)

数学表述

对于监督学习,设 D={(xi,yi)}i=1nD=\{(x_i,y_i)\}_{i=1}^{n},并设 IkI_k 包含第 kk 个外层测试折的样本索引。用 D−kD_{-k} 表示其余数据。令 AA 表示包含内层选择和重新拟合在内的完整学习过程,并定义

f^k=A(D−k).\widehat f_k=A(D_{-k}).

对于逐样本计算的损失函数 ℓ\ell,按样本加权的嵌套估计为

R^nested=1n∑k=1K∑i∈Ikℓ ⁣(yi,f^k(xi)).\widehat R_{\mathrm{nested}} =\frac{1}{n}\sum_{k=1}^{K} \sum_{i\in I_k} \ell\!\left(y_i,\widehat f_k(x_i)\right).

该式表示对完整过程进行的外层评估。当各折大小相同时,它等于各折平均损失的算术平均值。当各折大小不同时,按折大小加权可使每个观测值具有相同权重。对于F值等非线性指标,对各折得分取平均与将预测结果合并后计算得分,所得结果未必相同。(scikit-learn.org)

这一估计针对的是在外层训练集规模、即约 n(K−1)/Kn(K-1)/K 个样本上训练的过程,而不是直接衡量在全部 nn 个观测值上训练的最终模型。因此,将调参与测试分离,并不能保证对于所有关注的目标量都完全不存在估计量的偏差。(sklearn.org)

预处理与数据泄漏

只有当所有依赖数据的操作都遵守数据划分边界时,嵌套设计才有效。特征缩放、缺失数据插补和主成分分析都必须使用相应的训练子集进行拟合,再应用于验证或测试观测值,而不能在这些观测值上重新拟合。即使模型拟合本身采用了嵌套设计,在交叉验证前使用完整数据集选择特征,仍会引入数据泄漏(机器学习)。(scikit-learn.org)

处理流水线将数据变换与模型估计整合在一起,使每个内层训练折都独立拟合其预处理步骤。选择完成后,整个流水线会在外层训练集上重新拟合。外层测试观测值不得用于确定变换参数、特征选择或其他通过学习得到的组成部分。(scikit-learn.org)

划分策略也决定了评估的含义。当观测值具有足够的独立性和可交换性时,适合采用随机分折。如果目标是评估模型在未见过的群组上的表现,则应采用考虑群组的划分方式,将相关观测值保留在同一组中。对于时间序列,按时间顺序划分可以评估利用较早观测值预测较晚观测值的能力。这些约束适用于嵌套结构的两个层级。(sklearn.org)

计算成本与不确定性

在有 KK 个外层折、JJ 个内层折和 MM 个候选配置的情况下,穷举选择大约需要 KJMKJM 次候选模型拟合,以及 KK 次外层重新拟合。这一数量直接来自对每个外层折重复执行内层搜索。并行计算可以缩短实际运行时间,但不会消除这些拟合所需的计算工作量。(scikit-learn.org)

外层得分会随划分方式而变化,但由于各训练集相互重叠,这些得分并不是独立的重复测量。因此,它们的标准差不能直接视为汇总估计的有效标准误。若在计算置信区间时将各折得分视为相互独立,就可能低估不确定性。Bengio 和 Grandvalet 证明,对于普通 KK 折交叉验证,不存在普遍适用的无偏方差估计量。(jmlr.org)

最终拟合与报告

评估完成后,可以在完整的开发数据集上运行同一套预先规定的选择流程,再使用所有可用的开发观测值重新拟合所选配置。嵌套交叉验证得分仍然是对该流程性能的估计,而不是对最终拟合模型进行的新测量。单独预留的测试集只有在未受到开发决策影响的情况下,才能提供另一项评估。(scikit-learn.org)

为保证可复现性,评估说明应记录内外两层的划分方案、候选配置、评分与汇总规则、预处理步骤、随机种子以及重新拟合方式。这些细节明确了所报告的外层得分实际评估的是哪一种选择流程。(sklearn.org)