老陈的私房菜馆里来了位新主厨小林。老陈想知道小林真正的手艺,于是想出了一个“全员熟客轮流主考”的考核办法:店里有 N 位 VIP 熟客,第一次考核让阿婆当主考官,小林参考其余 N-1 位熟客的口味档案,专门为阿婆做一道菜;阿婆吃完给出“满意/不满意”。接着换大刘当主考官,小林再参考其余 N-1 位熟客的口味记录,为大刘做一道菜……如此一轮一轮地考下去,每位熟客都有且仅有一次当主考官的机会。最后把 N 次考核的“满意率”汇总,就是小林真实水平的体检报告。 这个故事,就是机器学习里“留一法交叉验证(LOO,Leave-One-Out)”的化身。它把一个数据集里的每个样本轮流当作“唯一考官”,其余全部当作“大厨备菜参考”,跑 N 轮,取平均成绩。它特别适合数据总量不大、每一份数据都极为珍贵的场景,能为你提供一份最诚实、最可靠的模型评估报告。

岗位关联

对 AI 从业者而言,留一法是你评估小样本模型的“黄金标尺”:它能帮你摆脱随机划分带来的偶然误差,在模型选型和效果评估中,用最少的样本量获得最可信的泛化能力判断。掌握它,你的模型体检报告会更有说服力。

目录
  1. 可视化演示
  2. 原理与流程
  3. K折对比
  4. 偏差与方差
  5. 计算成本
  6. 小数据优势
  7. 并行加速
  8. 应用与选型
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示LOO留一法交叉验证原理与实的核心机制,通过概览/流程/对比/趋势四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

LOO留一法交叉验证原理与实:LOO留 LOO留一法的基本原理 LOO与K折交叉验证的关系 核心机制可视化 LOO留一法交叉验证原理与实整体架构与关键组件

原理与流程

老陈的考核规则听起来很“笨拙”:每位熟客都要当一次主考官,小林每次都要根据其余熟客的口味档案重新备菜。店里只有 N 位熟客,就考核 N 轮,一轮都不能少。但这个笨办法有一个巨大的好处——每轮考核使用的信息量都是最大的,只撇开一个人不参考。

在机器学习里,这种“每轮只留一个样本当测试集,其余全部当训练集”的做法,就叫留一法交叉验证。更正式地说,假设我们有 N 个样本,第一轮把第 1 个样本当作测试集,用第 2 到第 N 个样本训练模型;第二轮把第 2 个样本当作测试集,其余训练;一直重复到第 N 轮。最后把所有 N 轮在测试集上的误差加起来取平均,就得到了模型的泛化误差估计:

这个流程完全对应老陈的考核:每一轮只“留出”一位主考官,用其余熟客的口味预测这位主考官的满意度,最后统计平均满意度。N 轮循环,全程没有随机抽样,结果确定且可复现。

Err^LOO=1N∑i=1NL(yi, f^(−i)(xi))\widehat{\text{Err}}_{\text{LOO}}=\frac{1}{N}\sum_{i=1}^{N}L\left(y_i,\ \hat{f}_{(-i)}(x_i)\right)
这个公式是 LOO 的“总账本”:把每一轮单次考核的误差累加,再除以考核次数,得到平均误差,就是模型的真实水平评分。
  1. N代表数据集中样本的总数,也就是故事里熟客的人数。
    NN
  2. i 从 1 到 N表示我们要依次轮流让每一位样本当测试对象。
    ∑i=1N\sum_{i=1}^{N}
  3. (-i)下标里的负号表示“去掉第 i 个”,即用除第 i 个以外的所有样本来训练模型。
    f^(−i)\hat{f}_{(-i)}
  4. L(y_i, \hat{f}_{(-i)}(x_i))计算第 i 轮里模型对第 i 个样本的预测值与真实值之间的误差。
    L(yi, f^(−i)(xi))L\left(y_i,\ \hat{f}_{(-i)}(x_i)\right)
  5. 1/N 求平均把所有单轮误差加起来再除以 N,得到 LOO 的平均泛化误差。
    1N∑i=1N\frac{1}{N}\sum_{i=1}^{N}

K折对比

K 折交叉验证是 LOO 最常见的“同桌兄弟”。如果老陈觉得一人一考太隆重,也可以把熟客们分成五桌,每桌轮流当主考官团队,一桌考完换下一桌,这就是五折交叉验证。而 LOO 相当于是“一人一桌”,每位熟客单独组成一桌。

两者最直观的差异体现在留出样本的规模上。K 折每轮留出约 N/K 个样本,而 LOO 每轮只留出 1 个样本。这意味着 LOO 每轮训练时能看到 N-1 个样本,几乎等于看到全部数据;而十折交叉验证每轮只能看到九成数据。从这个角度看,LOO 的训练信息利用度是所有交叉验证中最高的。

从偏差角度看,LOO 因为训练集最接近全量数据,所以评估偏差最小。但另一方面,K 折每轮之间训练集的重叠度较低,评估结果相互独立一些;LOO 的 N 轮训练集彼此只差一个样本,高度相似,因此单轮结果之间的相关性很强。K 折与 LOO 在数学上有一个漂亮的联系:

老陈听完这个等价关系恍然大悟:原来他不是发明了新考核法,只是把“分桌考核”的桌数调成了和熟客人数一样多。既然一样,那就看实际需求决定用哪种方式执行。

LOO ≡ K-Fold  with  K=N\text{LOO}\ \equiv\ \text{K-Fold}\ \ \text{with}\ \ K=N
这句话的意思是:如果你把 K 折的“折数”设置为样本总数 N,那么每一折就恰好只剩一个测试样本,K 折就自动退化成 LOO。
  1. KK 表示把数据集切成几份,故事里就是分成几桌熟客。
    KK
  2. K=N当折数等于样本总数时,每一折的大小变成 N/N=1。
    K=NK=N
  3. 等价关系每一折只留一个样本做测试,且不留重复,循环 N 轮,这与 LOO 的定义完全一致。
    LOO≡K-Fold(K=N)\text{LOO} \equiv \text{K-Fold}(K=N)

偏差与方差

小林每天考核后都会给老陈留下一份成绩单。老陈发现一个有趣的现象:小林每次都是参考“除主考官外的全部熟客”来备菜,这几乎等于掌握整个店的口味全貌,所以他的判断不会出现系统性偏差;但下一轮考核换个主考官,小林的应对又变了。成绩单上的分数来回波动,不够平稳。

这正是 LOO 的经典统计学特性——低偏差、高方差。低偏差来自训练集几乎等于全量数据,模型看到的“知识面”非常完整;高方差则来自每轮训练集之间高度重叠。N 轮训练的本质就是在极度相似的数据上反复训练,得到的 N 个模型预测结果高度相关,这种相关性会让整体评估方差变大:

老陈通过方差公式想明白了一件事:LOO 比较适合那些本身稳定的小林式模型——换一个训练样本,模型的行为变化不大;如果模型对单个样本极其敏感,LOO 的成绩单就会像坐过山车一样忽高忽低。

Var(Err^LOO)=1N2∑i=1NVar(Li)+2N2∑i<jCov(Li,Lj)\mathrm{Var}\left(\widehat{\text{Err}}_{\text{LOO}}\right)=\frac{1}{N^2}\sum_{i=1}^{N}\mathrm{Var}\left(L_i\right)+\frac{2}{N^2}\sum_{i<j}\mathrm{Cov}\left(L_i,L_j\right)
方差的公式告诉我们:误差波动不仅来自每一轮自身的随机性,还来自两轮之间的“共振”。当两项协方差为正且数值较大时,整体方差就会被抬高,这正是 LOO 训练集重叠的代价。
  1. Var(L_i)第 i 轮单次预测误差自身的波动程度。
    Var(Li)\mathrm{Var}\left(L_i\right)
  2. 1/N^2 系数对所有单轮方差进行平均压缩,样本越多,平均效应越明显。
    1N2∑i=1N\frac{1}{N^2}\sum_{i=1}^{N}
  3. Cov(L_i, L_j)第 i 轮与第 j 轮误差之间的协方差,衡量两轮评估的同向波动程度。
    Cov(Li,Lj)\mathrm{Cov}\left(L_i,L_j\right)
  4. 协方差累加项因为 LOO 有 N 轮、C(N,2) 对组合,协方差项数量很多,两两正相关会显著推高总方差。
    2N2∑i<jCov(Li,Lj)\frac{2}{N^2}\sum_{i<j}\mathrm{Cov}\left(L_i,L_j\right)

计算成本

老陈起初很兴奋,想把 LOO 天天用。可他转念一想:如果店里有 1000 位熟客,就要考核 1000 轮,每轮小林都要从头到尾准备一整套菜。哪怕每轮只要半天,全年也考不完。这个朴素的生活常识,对应的是 LOO 最致命的短板——计算成本。

LOO 需要完整地训练 N 次模型,而五折交叉验证只需要训练 5 次。假设单次训练耗时是 T,那么 LOO 的总耗时就是:

如果模型是轻量的线性回归或 KNN,T 很小,跑几百轮还吃得消;如果模型是深度神经网络,单次训练就要几小时,再乘上 N 次,几乎等于天文数字。所以实际工作中,LOO 更多出现在小数据集、轻量模型的世界里,大数据场景往往让位于 K 折。

Ttotal=N×TT_{\mathrm{total}}=N\times T
总耗时等于样本数乘以单次训练时间。样本越多、模型越昂贵,LOO 的耗时就越让人难以承受。
  1. N需要循环训练的轮数,等于样本总数。
    NN
  2. T单次训练模型所需的时间成本。
    TT
  3. 相乘关系训练次数与单次耗时呈线性相乘,N 翻倍,总耗时就翻倍,没有任何折扣。
    N×TN\times T

小数据优势

老陈的私房菜馆有个特点:熟客总共就二十来人,每位熟客的喜好记录都极其珍贵。如果用五折交叉验证,每轮要撇开四位熟客不参考,小林就会错过很多重要口味线索;而 LOO 每轮只撇开一位,信息损失最小。对小样本场景,这正是 LOO 最无可替代的价值。

从训练信息量的角度对比一下。LOO 每轮使用 N-1 个样本训练;而 K 折每轮只使用 (K-1)N/K 个样本训练。当 N 很小时,两者的差距更加明显:

所以老陈的考核哲学很精明:人少的时候,每个人都有资格当一次主考官;人手充足时,随机抽几个代表就可以了。小数据用 LOO,不是矫情,而是每一份样本都值得被认真对待。

NtrainLOO=N−1vsNtrainK-Fold=K−1K×NN_{\text{train}}^{\text{LOO}}=N-1\qquad \text{vs}\qquad N_{\text{train}}^{\text{K-Fold}}=\frac{K-1}{K}\times N
这个公式说明,当 N=60、K=5 时,LOO 每轮能看到 59 个样本,而五折只能看到 48 个,信息差距超过 18%。对小数据集来说,这 18% 可能就决定了一个模型选型的成败。
  1. N-1LOO 每轮训练时看到的样本数,只排除了一个测试样本。
    N−1N-1
  2. (K-1)/K × NK 折每轮训练时看到的样本数,每一折排除 N/K 个样本。
    K−1K×N\frac{K-1}{K}\times N
  3. N 很小的时候差距放大如果 N 只有 60,K=5 时训练集会少 12 个样本;如果 N 上万,少 12 个样本几乎无感。样本越少,越是“一个都不能少”。
    差距=(N−1)−K−1KN\text{差距}=(N-1)-\frac{K-1}{K}N

并行加速

老陈忽然想到,既然每轮考核之间互不干扰——小林给阿婆备菜的同时,也可以给大刘备菜——那何不把 20 轮考核同时开工?他雇了四位帮厨,一人负责五位熟客的考核,原来要 20 天完成的考核,现在大约 5 天就能搞定。

这个思路在计算上是完全可行的,因为 LOO 的每轮训练都是独立的:第 i 轮和第 j 轮互不依赖,谁先谁后都不影响结果。这正是 LOO 天然的并行优势。在理想情况下,使用 P 个计算核心并行训练,总加速比约等于 P:

实际工作中,可以用 sklearn 的 cross_val_score(n_jobs=-1) 或者分布式计算框架,把 20 轮、100 轮 LOO 同时分发给多核处理器。老陈的多帮厨方案告诉我们:LOO 虽然天然贵,但并行能让它贵得有性价比。

Speedup理想≈P\text{Speedup}_{\text{理想}}\approx P
理想的并行加速比近似等于计算核心的数量。用 8 核机器跑 LOO,理论上能把 N 轮训练的耗时压到原来的八分之一。
  1. P参与并行计算的 CPU 核心数或机器数,对应故事里的帮厨人数。
    PP
  2. 加速比总耗时减少的倍数,等于核心数 P。
    Speedup=T串行T并行\text{Speedup}=\frac{T_{\text{串行}}}{T_{\text{并行}}}
  3. 近似关系实际工程中受数据通信、任务调度和内存带宽影响,加速比会略低于 P,但量级相当可观。
    Speedup≲P\text{Speedup}\lesssim P

应用与选型

老陈最终给小林写了一份考核结论:二十人的小店,一人一考最公平;但如果将来开连锁店,每天面对成千上万的客人,就不可能逐一考核了,必须改用“分桌抽样”的策略。这个决策逻辑,就是 LOO 在真实项目中的选型智慧。

一个通用的决策经验是:把样本量 N 和单次训练时间 T 放在一起看。如果总成本能接受,就用 LOO;如果总成本超预算,就退回 K 折:

在实际项目中,数据量不超过几百条、模型训练时间在秒级以内,LOO 是非常理想的评估方式;数据达到十万级,模型又是深度网络,则应毫不犹豫地选择 5 或 10 折交叉验证。老陈的结论和你我的结论一样:没有绝对最好的评估法,只有算力配得上和数据量合适的评估法。

N×T≤BN \times T \le B
其中 B 是你的算力预算。这个不等式成立,则 LOO 可行;不成立,则建议改用 K 折或重复 K 折。
  1. N样本量,决定训练轮数。
    NN
  2. T单次训练耗时,决定每一轮要等多久。
    TT
  3. B可接受的算力预算,可以是时间上限,也可以是金钱成本上限。
    BB
  4. 决策规则当两者的乘积不超过预算时,放心选用 LOO。
    N×T≤BN\times T \le B

AI 应用场景

医疗小样本诊断模型评估

阶段:模型评估与选择

解决的问题:某三甲医院积累了 80 例罕见病确诊数据,样本极珍贵。传统划分训练/测试集会损失 20% 的病例;医生希望用上全部数据来评估模型,同时不浪费任何一例确诊信息。LOO 让每一条病例都有机会当一次“主考官”,模型的准确率估计更贴近真实临床表现。

具体案例:团队用 LOO 评估一个 XGBoost 诊断模型,跑 80 轮训练+测试,得到 87.5% 的平均准确率。模型在 10 例最困难的边界病例上全部命中,医生团队最终采纳该模型作为辅助筛查工具。

金融风控冷启动策略验证

阶段:模型上线前的效果评估

解决的问题:某消费金融公司新上线一款小额信贷产品,初期仅有 300 个完整信贷样本。为了验证逻辑回归风控模型的区分能力,风控团队用 LOO 逐一测试每个用户的违约预测,避免因随机划分导致好模型被误杀。

具体案例:团队利用 LOO 得到 AUC 为 0.82,比随机划分的 0.76 更稳定;后续两个月上线坏账率与评估结果基本吻合,证明 LOO 在小样本风控场景下的可靠性。

个性化推荐的冷启动效果预估

阶段:AI系统上线前的离线评估

解决的问题:某内容社区想在 200 名种子用户上测试个性化排序算法,判断值不值得全量上线。LOO 让每个种子用户都被轮流留出,模型依据其余用户的偏好学习,再预测该用户是否点击,最终得到准确的点击率预估值。

具体案例:推荐算法在 LOO 评估下点击率比随机排序提升 23%,团队据此决定全量上线;若用普通划分可能因偶然性高估或低估,导致上线决策失误。

Python 演示

python30 行
from sklearn.datasets import load_irisfrom sklearn.model_selection import LeaveOneOut, KFold, cross_val_scorefrom sklearn.neighbors import KNeighborsClassifier def main():    # 加载经典小数据集    X, y = load_iris(return_X_y=True)    knn = KNeighborsClassifier(n_neighbors=3)    print("Total samples:", len(X), "-> LOO will train", len(X), "times")     # LOO 评估    loo = LeaveOneOut()    scores = cross_val_score(knn, X, y, cv=loo)    print("LOO acc: {:.3f} (std={:.3f})".format(scores.mean(), scores.std()))     # 5折交叉验证作为对比    kfold = KFold(n_splits=5, shuffle=True, random_state=42)    avg = cross_val_score(knn, X, y, cv=kfold).mean()    print("5-fold acc: {:.3f}".format(avg))     # 手动展示第 1 轮留一训练法    i = 0    train_idx = list(range(len(X)))    train_idx.remove(i)    knn.fit(X[train_idx], y[train_idx])    pred = knn.predict(X[i:i+1])[0]    print("Round 1: hold out sample", i, "-> predict", pred, "truth", y[i]) if __name__ == "__main__":    main()
目的:用鸢尾花数据集跑一遍 LOO 和 5 折交叉验证,直观对比两种评估方式的准确率与波动,并手动演示“留出第 1 个样本、用其余样本训练”的完整流程。
  1. scores = cross_val_score(knn, X, y, cv=loo)这是核心:sklearn 自动按 LOO 划分方式循环训练 N 次,返回每个样本被留出时的预测结果。
  2. kfold = KFold(n_splits=5, shuffle=True, random_state=42)构造五折交叉验证用于对比,shuffle 打乱样本顺序,random_state 固定随机种子保证可复现。
  3. train_idx.remove(i)手动实现留一操作:从全部样本索引里删掉第 i 个样本,剩下的恰好就是 N-1 个训练样本。
  4. knn.predict(X[i:i+1])[0]用训练好的模型预测被留出样本的类别标签。

常见误区

误区很多初学者认为 LOO 每个样本都能当测试集,比 K 折“更高级”,所以不管数据量多大,都该优先选择 LOO,这样评估结果最准。

正解LOO 的计算成本与样本量 N 线性相关,数据达到百万级时,训练 N 次模型是天文数字。好比老陈的考核,二十位熟客可以一人一考;如果有二十万客人,还一人一考,考核十年都考不完。大数据场景应选 5 折或 10 折。

为何常见:人们容易只看到 LOO 信息利用率高的一面,却忽略了成本随样本量线性爆炸的现实,把“理论上更准”误当成“实践中更好”。

误区既然 LOO 的训练集几乎等于全部数据,那它的评估结果应该比其他交叉验证方差更小,更稳定可靠。

正解恰恰相反——LOO 的 N 轮训练集彼此只差一个样本,高度重叠,导致各轮模型预测结果强相关,协方差项会显著抬高整体方差。K 折各折训练集重叠度较低,评估结果更独立,方差往往更小。

为何常见:初学者容易把“训练集更大”与“结果更稳定”画等号,忽略了方差与训练集独立性之间的关系。老陈的比喻:同一套菜谱反复微调做很多次,结果高度相似,平均分波动并不小。

误区有人觉得少了一个样本,模型就“饿”了一点,会不会欠拟合?尤其是小数据集,丢掉一个样本都心疼。

正解LOO 每轮使用 N-1 个样本训练,比 K 折每轮使用的样本量都大,几乎是全量数据。丢掉的 1 个样本换来的是对该样本最公平的测试,训练信息损失极小,不会导致欠拟合。

为何常见:人们直觉上把“测试集只有一个”和“训练少了一个”联系起来,却忘了训练集还有 N-1 个,相对全量只少了 1/N 的信息量。

误区有人看到 LOO 每轮训练集几乎相同,认为每轮模型差别可忽略,N 轮评估只是在重复做同一件事,不如 K 折有意义。

正解虽然每轮模型很相似,但每一轮的测试对象不同,验证的是模型在不同样本上的泛化表现。每一次留出都是在回答“如果这个样本从没见过,模型能不能猜对它”这样的独立问题,N 轮加在一起才构成完整的泛化画像。

为何常见:人们误解了交叉验证的意义——它不是为了评估多个不同模型,而是在多个不同测试视角下评估同一个模型;视角不同,价值就不同。

面试题

Q1. LOO中每轮用于训练模型的样本量是多少?

单选题 · easy

  • A.使用除一个之外的全部样本← 正确答案
  • B.使用所有样本一起参与训练
  • C.只使用样本总量的一半左右
  • D.每轮随机挑固定个数个样本

答案:A。LOO 每轮从 N 个样本中留出 1 个作为测试集,其余 N-1 个全部用于训练。B 选项把测试样本也用于训练,会造成数据泄漏;C、D 都不是留一法的定义。

Q2. LOO等价于K折交叉验证中K取哪个值?

单选题 · easy

  • A.令K等于样本总数N的情形← 正确答案
  • B.令K等于N的一半时的情形
  • C.令K固定为数字二的情形
  • D.令K固定为数字一的情形

答案:A。K 折交叉验证的折数 K 表示把数据集切成 K 份;当 K=N 时,每份只有 1 个样本,每一轮恰好留出 1 个测试样本,循环 N 轮后就是 LOO。

Q3. 关于LOO偏差特性的正确说法是?

单选题 · easy

  • A.偏差接近零因为训练集几乎完整← 正确答案
  • B.偏差高于十折交叉验证的方式
  • C.偏差无法通过任何理论解释明确
  • D.偏差与样本的分布没有关系可言

答案:A。LOO 每轮用 N-1 个样本训练,几乎等于全量数据,所以模型与真实全量模型非常接近,评估偏差趋近于零。B、C、D 都是错误描述。

Q4. LOO相比5折交叉验证的主要优势?

单选题 · mid

  • A.每轮训练样本更多信息用得更足← 正确答案
  • B.每轮训练样本较少所以计算更快
  • C.训练轮数比较少且方差也更低
  • D.不需要任何训练就能完成评估打分

答案:A。LOO 每轮使用 N-1 个样本训练,比 5 折每轮使用约 80% 的样本多得多,信息利用更充分。B 与事实相反;C 中 LOO 轮数更多且方差通常更高;D 完全错误。

Q5. 造成LOO计算量显著变大的根源?

单选题 · mid

  • A.需要把完整训练流程重复N次完成← 正确答案
  • B.需要额外做特征归一化重复N次完成
  • C.需要把数据集划分成更多折来完成
  • D.需要对损失函数做多次求导来完成

答案:A。LOO 的循环轮数与样本数相等,每轮都要完整训练一次模型,所以总训练次数是 N 次。B、C、D 都不是 LOO 特有计算开销的本质来源。

Q6. 小数据集上优先使用LOO的主要原因?

单选题 · mid

  • A.每个样本都能轮流测试不浪费信息← 正确答案
  • B.训练集与测试集完全没有任何重叠
  • C.训练时间比其他交叉验证一定更短
  • D.模型在验证过程中完全不会过拟合

答案:A。小数据每一份样本都宝贵,LOO 让每个样本都恰好当一次测试样本,同时其他样本全部参与训练,信息利用率最高。B 中训练集与测试集确实没有重叠,但这不是“优先选 LOO”的核心原因;C、D 都是错误断言。

Q7. 哪些场景下不应该使用LOO交叉验证?

多选题 · mid

  • A.训练集包含百万级样本的大数据场景← 正确答案
  • B.训练深度神经网络需要单次数小时的场景← 正确答案
  • C.样本只有几十条且模型很轻量的场景
  • D.单次训练需要耗时数十分钟的场景← 正确答案

答案:ABD。LOO 需要训练 N 轮,当 N 很大或单次训练很慢时,总耗时不可接受,所以 A、B、D 都应避免 LOO。C 是小样本+轻模型场景,恰恰是 LOO 最适合发挥优势的地方。

Q8. 关于LOO方差特性的准确描述是什么?

单选题 · hard

  • A.各轮训练集重叠导致模型高度相关← 正确答案
  • B.各轮训练集完全独立方差必然很小
  • C.各轮模型完全不相关所以方差为零
  • D.各轮测试集没有任何重叠导致方差大

答案:A。LOO 每轮训练集仅差一个样本,训练数据高度重叠,N 个模型预测结果强相关,协方差为正且数量多,推动整体方差偏高。B、C 否定了重叠与相关性,D 因果颠倒。

Q9. 哪些手段能有效缓解LOO的计算开销?

多选题 · hard

  • A.借助多核并行尽量把各轮任务同时跑← 正确答案
  • B.对样本进行复制扩充再重新做交叉验证
  • C.换用更快更轻量的模型做交叉验证计算← 正确答案
  • D.减少分组数并用数据子集代替全量数据

答案:AC。LOO 每轮互相独立,多核并行能大幅压缩总耗时;换用更轻量的模型能降低单次训练时间 T,从而降低 N×T 总成本。B 复制样本不会减少训练轮数,反而改变数据分布;D 减少分组就不再是 LOO 了。

Q10. LOO评估无偏性的理论前提是什么?

单选题 · extreme

  • A.样本独立同分布且测试标准固定一致← 正确答案
  • B.模型容量与样本数量恰好完全相等
  • C.特征向量的每一维都服从高斯分布
  • D.损失函数必须是严格对称的凸函数

答案:A。交叉验证无偏性的成立依赖于样本独立同分布假设,即每个样本都是从同一真实分布中独立抽取的,同时各轮评估使用相同的损失函数。B、C、D 都不是无偏性所需的前提条件。