想象一位高三学生小智。他的妈妈每周做两件事:记录小智的作业正确率,再记录他在模拟考试中的正确率。横轴是累计刷题数,纵轴是得分率。起初,作业正确率高达 95%,因为题目类型都刚教过;模拟考却只有 55%,因为没见过综合题型。随着刷题量增加,作业正确率慢慢降到 85%,因为题目越来越难、越来越偏;模拟考正确率却一路涨到 80%——这才是真正的进步。这两条随时间变化的曲线,就是小智的“学习曲线”。 AI 训练模型和备考如出一辙:模型在“作业”(训练集)上刷题,在“模拟考”(验证集)上检验。每增加一些训练数据,就记录一次两种成绩,连成两条曲线。这条曲线不会直接告诉你答案,却一眼就能照出模型是“欠拟合”(基础没打牢)、“过拟合”(死记硬背作业答案)还是状态健康。文章接下来就用小智的故事,带你从画曲线、读曲线,到用曲线做工程决策。

岗位关联

学会读学习曲线,等于给自己的模型配上了“体检报告”:一眼锁定欠拟合还是过拟合,精准决策“该加数据”还是“该换模型”,避免无效调参浪费算力与时间。

目录
  1. 可视化演示
  2. 曲线基础概念
  3. 绘制方法
  4. 偏差方差诊断
  5. 欠拟合识别
  6. 过拟合识别
  7. 样本量规划
  8. 工程应用
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

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

欠拟合——高偏差 两线收敛但性能低 加数据无用,需加复杂度 Train≈Val≈低 → 增模型能力

曲线基础概念

小智妈妈发现,光看单次成绩没用:作业满分可能是碰巧背到原题,模考高分才说明真本事。她于是每周记录两个数字——作业正确率和模考正确率,横轴是累计刷题数,纵轴是正确率。几周后,两条曲线呈现出一个稳定规律:作业线缓缓下滑,模考线稳稳爬升,两条线越靠越近。这张图,比任何一次考试成绩都更能说明小智的真实学习状态。

机器学习中的“学习曲线”完全照搬这个逻辑。模型就是学生,训练集是作业,验证集是模拟考。我们把训练数据量从 10% 逐步增加到 100%,每换一个数据量就完整地训练一次模型,分别记录它在训练集上的得分和验证集上的得分。横轴是训练样本量,纵轴是性能指标(准确率、误差或损失),画出的两条曲线就是模型的学习曲线。

为什么训练曲线通常随样本量增加而“变差”?数据越多,模型越难把每一条样本都完美记住,作业“正确率”自然下降。为什么验证曲线会“变好”?见过的模式越多,模型对没见过的数据越有把握。两条曲线的距离被称为“泛化差距”:距离越小,说明模型学到的不是死记硬背的答案,而是可迁移的规律。理想的学习曲线,就是训练线略高于验证线(误差语义下略低),最终双双走平并靠在一起。

回到小智的故事:当作业线和模考线几乎重合时,妈妈就知道,小智刷题刷出了真水平,而不是靠记忆撑场面。学习曲线的价值正在于此——它让你看见学习过程的动态演化,而不是一张成绩单的静态截屏。

绘制方法

如果每次考试范围不同、时长不同、阅卷标准随意,小智的成绩单就会忽高忽低,连出来的曲线全是锯齿,根本看不出趋势。妈妈定了规矩:每周日同一时间、同一难度、同一批题量,雷打不动。记录的数据才算数。绘制学习曲线也需要这样一套“标准化考试流程”。

第一步,划分数据集。把所有数据拆成互不重叠的训练集和验证集,验证集在绘制过程中只用来评估、绝不参与训练。第二步,生成一组递增的训练子集大小,比如训练集的 10%、20%、30%……直到 100%。第三步,对每个子集大小做 $K$ 折交叉验证:把子集再切 $K$ 份,轮流拿其中一份当临时验证集,其余训练,最后把 $K$ 次得分取平均,消除数据划分带来的偶然波动。

第四步,在训练集和验证集上分别记录性能指标。分类任务常用准确率或 LogLoss,回归任务常用均方误差或 R²。指标选错,曲线走向可能严重误导诊断:例如类别极度不平衡时,准确率几乎不变,曲线看起来“学不会”,但换了 F1 分数曲线可能是另一番景象。最后,把每个样本量对应的两点连接成线,必要时做平滑处理。

这套流程对应的交叉验证平均值,是学习曲线平滑度的关键:

有了标准化的绘制流程,小智的成绩单才值得分析,模型的学习曲线也才值得相信。

Lˉcv(m)=1K∑k=1KLk(m)\displaystyle \bar{L}_{\text{cv}}(m) = \frac{1}{K} \sum_{k=1}^{K} L_k(m)
单次训练的得分可能靠运气,交叉验证取平均后,曲线才能反映模型的真实水平。就像小智的周考成绩要多次取平均,才不会被偶然生病影响判断。
  1. 单折损失 $L_k(m)$第 $k$ 折的验证误差,表示用 $m$ 个训练样本训练出的模型,在该折验证集上的表现。
    Lk(m)L_k(m)
  2. 平均误差 $\bar{L}_{\text{cv}}(m)$把 $K$ 折的误差相加并除以 $K$,得到样本量为 $m$ 时最具代表性的验证误差。
    Lˉcv(m)=1K∑k=1KLk(m)\bar{L}_{\text{cv}}(m) = \frac{1}{K} \sum_{k=1}^{K} L_k(m)
  3. 折数 $K$交叉验证的折叠次数,$K$ 越大曲线越平稳,但训练开销也成倍增加。
    KK

偏差方差诊断

拿到小智的完整成绩曲线后,妈妈请来经验丰富的班主任做诊断。班主任说,成绩不理想要分两种原因:一种是小智对某些知识点有根本性理解盲区,比如立体几何的辅助线技巧从来没开窍,换多少套卷子都栽在同一类题上——这叫“偏差”高;另一种是小智发挥极不稳定,题目风格稍微一变成绩就大跳水,时好时坏——这叫“方差”高。

机器学习模型在验证集上的泛化误差,同样可以拆成这三笔账:

高偏差对应欠拟合,高方差对应过拟合。偏差和方差像一对跷跷板:模型太简单,偏差高但方差低;模型太复杂,方差高但偏差低。学习曲线的双线位置和间距,正是这对跷跷板的物理投影。

Egen=Bias2(f^)+Var(f^)+σ2\displaystyle E_{\text{gen}} = \mathrm{Bias}^2\left(\hat{f}\right) + \mathrm{Var}\left(\hat{f}\right) + \sigma^2
泛化误差 = 偏差的平方 + 方差 + 噪声。偏差高说明模型“想错了”,方差高说明模型“想得不稳”,噪声则是数据本身自带的“不可教”部分。
  1. 偏差平方项 $\mathrm{Bias}^2(\hat{f})$模型预测的平均值与真实规律之间的系统性偏离。偏差高,就像小智解题思路有盲区,练再多题也突破不了。
    Bias2(f^)=(E[f^(x)]−f(x))2\mathrm{Bias}^2(\hat{f}) = \left( E[\hat{f}(x)] - f(x) \right)^2
  2. 方差项 $\mathrm{Var}(\hat{f})$模型在不同训练集上的预测波动程度。方差高,就像小智换个出题风格成绩就大幅震荡。
    Var(f^)=E[(f^(x)−E[f^(x)])2]\mathrm{Var}(\hat{f}) = E\left[ \left( \hat{f}(x) - E[\hat{f}(x)] \right)^2 \right]
  3. 噪声项 $\sigma^2$数据集中天然存在的随机误差,任何模型都无法消除。
    σ2\sigma^2
  4. 总误差 $E_{\text{gen}}$三项相加就是模型在验证集上的期望误差,也是学习曲线中验证曲线的高度来源。
    Egen=Bias2+Var+σ2E_{\text{gen}} = \mathrm{Bias}^2 + \mathrm{Var} + \sigma^2

欠拟合识别

高三上学期,小智迷上了“题海战术”,认为刷够一万题就能上清华。可月考成绩出来,作业正确率 62%,模考 58%。妈妈翻出学习曲线,发现两条线都压在低位,而且几乎贴在一起——作业都不会,模考自然也不会。这就是典型的“欠拟合”:模型太简单,连训练集里的规律都没学进去,更谈不上泛化。

模型的状态由学习曲线的两个特征决定:训练误差高,验证误差也高;两条曲线距离近,且随样本量增大几乎不再下降。此时最忌讳的想法是“再多买几套练习册”(继续加数据)——曲线已经走平,加数据只会让两条线原地震动,不会带来实质提升。正确的做法是换个更聪明的学习策略。

诊断出欠拟合后,按优先级尝试三板斧:第一,提升模型复杂度,比如把线性模型换成决策树、梯度提升或神经网络,让小智从“死记公式”升级为“理解题型结构”;第二,做特征工程,构造更有区分度的特征,相当于教小智从题目里提取关键线索;第三,适当降低正则化强度、加大训练轮数,给模型更充分的表达空间。

判断口诀写在便签上:双线高且接近 = 欠拟合,先加复杂度,不加数据。小智妈妈把便签贴在书桌前,从此不再盲目买练习册,而是给儿子请了擅长讲思路的数学老师。果然,两条曲线一起往下走,差距依旧很小——因为偏差被降下来了。

过拟合识别

高二暑假,小智仿佛开了窍,作业正确率飙到 98%,妈妈喜出望外。可开学第一次模考,他只考了 62%。妈妈再翻学习曲线,发现作业线贴着天花板,模考线却在中低位徘徊,两条线之间裂开一道巨大的鸿沟。班主任一针见血:小智把作业答案背下来了,题换个数字就不会做。这就是“过拟合”:模型容量太大,把训练集里的噪声和细节都刻进记忆,失去了对未见过数据的应变能力。

过拟合的学习曲线特征与欠拟合截然相反:训练误差极低(近乎完美),验证误差明显偏高;两条曲线分道扬镳,间距大且不随样本量增加而迅速靠拢。这里的病灶不是“学不会”,而是“学过头”——模型把训练数据中的偶然巧合当成了普遍规律。

补救措施像一个“去记忆化”套餐:第一,增加训练数据,让小智见更多的出题变体,稀释死记硬背的权重;第二,降低模型复杂度,比如限制决策树深度、减少神经网络层数;第三,施加正则化约束(L1/L2、Dropout),相当于规定“答题时必须写出解题步骤,不准只写答案”;第四,早停——在验证误差开始回升的那一刻停止训练。这四招可以并行,其中“加数据”对缩小双线鸿沟效果最直接。

判断口诀继续补充:训练低、验证高、鸿沟深 = 过拟合,加数据 + 降复杂度并进。妈妈这次没有责怪小智,反而欣慰地说:“背答案能背出 98%,说明你记忆力没问题;我们要做的是把记忆力换成理解力。”

样本量规划

高三下学期,妈妈开始做一件有趣的事:把每多刷 100 套题对应的模考提升幅度画成一张“进步速率表”。她发现,从 10 套做到 100 套,模考从 55 分涨到 78 分;从 100 套做到 200 套,只从 78 涨到 81 分;再往后,200 套到 300 套只涨了 1 分。曲线变得几乎水平了——刷题的边际收益在急剧递减,小智遇到了学习曲线的“拐点”。

样本量规划是学习曲线最实用的工程价值:判断“更多数据还有没有用”。工程师可以拟合一条经验幂律曲线,预测数据无限多时的极限误差:

实际使用时,用已有数据点拟合出 $c$ 和 $\alpha$,再观察当前样本量在曲线上的位置。如果曲线还在快速下降,说明数据红利巨大,值得投入预算采购或标注新数据;如果曲线已经走平逼近 $E_{\infty}$,继续堆数据只是烧钱,应该掉头去优化模型结构或特征。妈妈同样画了拐点图,果断暂停了疯狂买练习册的计划,把省下的钱换成了一对一思路辅导——这就是数据预算的理性分配。

E(m)=E∞+c×m−α\displaystyle E(m) = E_{\infty} + c \times m^{-\alpha}
这条公式描述学习曲线的“剩余提升空间”:$E_{\infty}$ 是数据取之不尽时的极限误差,$\alpha$ 越大,误差下降越快,曲线越陡。
  1. 极限误差 $E_{\infty}$样本量趋近无穷时模型能达到的最低误差,代表该模型家族的能力上限。
    E∞=lim⁡m→∞E(m)E_{\infty} = \lim_{m \to \infty} E(m)
  2. 比例常数 $c$控制曲线整体高度的系数,$c$ 越大,小样本时的误差越高。
    cc
  3. 衰减指数 $-\alpha$决定误差随样本量下降的快慢,$\alpha$ 越大,曲线越早逼近极限。
    c×m−αc \times m^{-\alpha}
  4. 总误差 $E(m)$样本量为 $m$ 时的期望误差,由极限误差加上尚未被数据消化的部分构成。
    E(m)=E∞+c×m−αE(m) = E_{\infty} + c \times m^{-\alpha}

工程应用

期末家长会上,班主任拿着小智的学习曲线给全家做了总结。三个决策摆在桌上:要不要报补习班(换模型)、要不要再买练习册(加数据)、要不要调整学习策略(改特征)。每条曲线都对应一个明确答案——报班解决偏差高的问题,买练习册只对方差高的阶段有效,改策略则是两者的补充。学习曲线从不出主意,但它让每个决策都有了依据。

在真实 AI 工程里,学习曲线扮演同样的决策仪表盘角色。数据采集决策:当训练数据标注成本高昂(比如医疗影像、自动驾驶场景),先用小部分数据画出学习曲线,若曲线陡峭未收敛,追加标注的 ROI 很高;若已走平,则资金应转向模型优化。算法选型:在相同样本量下对比两个模型的学习曲线,验证曲线位置更低的那个优先;若一个模型曲线还在下降而另一个已走平,说明前者还有数据红利可挖。

训练早停监控:大模型训练耗费大量算力,周期性采样画出精简版学习曲线,一旦验证误差开始回升立即早停,能把算力浪费降到最低。线上表现跟踪:模型上线后用增量数据滚动更新学习曲线,当验证误差曲线出现向上翘头或鸿沟拉大,及时触发重训练或回滚。这四类应用有一个共同点:把“凭感觉调参”变成“看曲线决策”。

家长会的最后,班主任说了句让小智全家都记在心里的话:“曲线是一张体检报告,不是成绩单。它告诉你哪里出了问题,但开药方的永远是你自己。”模型训练也是如此——学习曲线负责诊断,而你负责做那个读懂报告并果断行动的医生。

AI 应用场景

场景一:大模型训练中的早停救火

阶段:模型训练与调优

解决的问题:训练大型深度学习模型时,每多跑一个 epoch 都意味着高昂的算力成本。传统做法是固定训练轮数,容易造成过拟合或算力浪费;用学习曲线在训练过程中绘制训练/验证误差走势,验证误差刚出现回升就立即早停,能在保证性能的前提下节约大量 GPU 资源。

具体案例:某推荐系统团队训练 CTR 预估模型,利用小批量数据每 500 步画一次学习曲线。第 3400 步时验证误差开始上扬,训练误差仍在下降,团队当场触发早停,模型离线指标比原方案提升 0.8%,训练成本下降 37%。

场景二:标注预算分配决策

阶段:数据工程与采集

解决的问题:医疗影像标注成本极高,每张 CT 图需专业医生耗时数分钟。传统做法是“先标注一大批再训练”,风险是钱花完了模型还没收敛,或数据早就不缺了还在买。用学习曲线先做小样本实验,判断当前数据量处于陡峭段还是饱和段,再决定是否追加采购。

具体案例:某 AI 医疗公司只有 2000 张标注肺结节 CT。团队用它画学习曲线,发现曲线仍在快速下降阶段,果断追加 8000 张标注。模型 AUC 从 0.86 升至 0.93,而继续采到 15000 张时曲线已走平,节省了约 40 万标注预算。

场景三:算法选型体检报告

阶段:模型评估与选型

解决的问题:面对同一业务问题,线性模型、树模型、深度模型各有拥趸。传统做法是各训一版对比最终指标,但看不出“哪个模型更值得继续投入数据”的长期潜力。对比多个候选模型的学习曲线,能同时看到当前表现与成长空间。

具体案例:某风控团队在反欺诈场景对比逻辑回归与 XGBoost。学习曲线显示 XGBoost 验证误差更低且曲线尚未走平,而逻辑回归已经触顶。团队选定 XGBoost 并继续扩大样本,最终欺诈召回率提升 22%。

Python 演示

python33 行
import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets import make_classificationfrom sklearn.model_selection import learning_curvefrom sklearn.tree import DecisionTreeClassifier # 生成模拟数据:1000 个样本,20 个特征X, y = make_classification(n_samples=1000, n_features=20,                           n_informative=15, random_state=42) # 训练集大小从 10% 到 100%,取 10 个采样点train_sizes = np.linspace(0.1, 1.0, 10) # 计算学习曲线:5 折交叉验证train_sizes_abs, train_scores, val_scores = learning_curve(    DecisionTreeClassifier(max_depth=3, random_state=42),    X, y, cv=5,    train_sizes=train_sizes,    scoring='accuracy') # 对 5 折结果取平均,消除随机波动train_mean = train_scores.mean(axis=1)val_mean = val_scores.mean(axis=1) # 绘制两条曲线:训练得分与验证得分plt.plot(train_sizes_abs, train_mean, 'o-', label='训练集得分')plt.plot(train_sizes_abs, val_mean, 's-', label='验证集得分')plt.xlabel('训练样本量')plt.ylabel('准确率')plt.legend()plt.title('学习曲线:决策树模型')plt.show()
目的:用 sklearn 一行 API 画出决策树模型的学习曲线,直接观察训练得分与验证得分随样本量的变化,快速判断模型处于欠拟合、过拟合还是健康状态。
  1. make_classification(n_samples=1000, n_features=20)生成 1000 条样本、20 个特征的模拟分类数据,数据充足才看得出曲线趋势。
  2. train_sizes = np.linspace(0.1, 1.0, 10)定义横轴采样点,从 10% 到 100% 数据量取 10 个梯度。
  3. learning_curve(DecisionTreeClassifier(max_depth=3), ...)自动完成增量训练和交叉验证,返回三组数组:实际样本量、训练得分矩阵、验证得分矩阵。
  4. cv=5每个样本量跑 5 折交叉验证,用多轮平均抵消数据划分的运气成分。
  5. max_depth=3限制决策树深度,避免模型过拟合到训练数据细节。
  6. train_scores.mean(axis=1)对 5 折的训练得分按行取平均,得到每个样本量下一条平滑的训练曲线。
  7. plt.plot(train_sizes_abs, train_mean, 'o-', ...)把样本量与得分连线画图,'o-' 表示圆点加实线,双曲线一目了然。

常见误区

误区我以为画学习曲线就是看训练误差下降得多漂亮,模型训练得越“好”,曲线越往下就越成功。

正解只画训练曲线相当于只看小智的作业成绩——他作业 98 分可能是背答案背出来的。真正的诊断必须画训练 + 验证两条曲线,二者的位置和间距才是判断过拟合与欠拟合的依据。单条训练曲线永远在下降,信息量几乎为零。

为何常见:训练过程中本来就在记录训练损失,顺手画出来很自然;而验证曲线需要额外划分数据集、跑交叉验证,初学者容易偷懒省略。

误区模型在训练集上准确率 99%,比 95% 的模型厉害,我要继续调参让训练准确率逼近 100%。

正解训练误差低只能说明“背得好”,验证误差低才说明“学得会”。小智背下全部作业答案,训练成绩冠绝全班,模考却一塌糊涂——这是典型的过拟合。评估模型只看验证集表现,训练曲线只用来与验证曲线对比找差距。

为何常见:人类直觉倾向于“分越高越好”,容易把训练集当成了考试本身,忽略了机器学习的目标是在未见数据上泛化。

误区看到验证误差比训练误差高一大截,我第一反应就是“数据太少,赶紧想办法多搞数据”。

正解加数据只对高方差(过拟合)有效,对高偏差(欠拟合)几乎无效。如果两条线都高且接近,说明模型已经把训练集学歪了,加再多数据只是把错误重复更多遍。先看双线是“都高”还是“一低一高”:都高加复杂度,一低一高才加数据。

为何常见:“数据越多模型越强”是被反复灌输的常识,很少有人先分辨当前瓶颈是偏差还是方差,导致数据预算常被浪费在错误方向。

误区训练时画的 train loss 下降曲线就是学习曲线吧?反正都是在画误差随训练过程的变化。

正解两者横轴完全不同。训练 loss 曲线的横轴是迭代轮数(epoch/step),看的是优化过程是否收敛;学习曲线的横轴是训练样本量,看的是数据规模对泛化能力的影响。小智刷同一套卷子十遍的得分变化是“训练 loss 曲线”,换不同数量新题的得分变化才是“学习曲线”。

为何常见:两者图形相似、纵轴都是误差,初学者只记住了“两条线”的外形,忽略了横轴定义这一根本区别。

面试题

Q1. 学习曲线的横轴通常表示什么?

单选题 · easy

  • A.训练迭代次数
  • B.训练样本数量← 正确答案
  • C.模型参数数量
  • D.验证集的数量

答案:B。学习曲线研究的是“数据量对泛化能力的影响”,横轴是训练样本量;迭代轮数是训练 loss 曲线的横轴,参数数量是模型容量维度,验证集通常固定不动。

Q2. 理想的学习曲线最终应呈现什么形态?

单选题 · easy

  • A.两线都高且平行
  • B.训练低而验证高
  • C.双线靠拢后平稳← 正确答案
  • D.两线不断上下交叉

答案:C。理想状态是训练误差与验证误差逐渐靠拢并双双走平,说明模型既学到了规律又没有死记硬背。双高平行是欠拟合,训练低验证高是过拟合,不断交叉说明训练不稳定。

Q3. 某模型训练误差 0.30、验证误差 0.32,且随样本量增大两条线几乎不再下降,该模型处于什么状态?

单选题 · mid

  • A.轻度过拟合
  • B.典型欠拟合← 正确答案
  • C.完全正常状态
  • D.数据噪声过大

答案:B。训练误差和验证误差都高且接近,说明模型容量不足,连训练集规律都没学好,属于欠拟合。此时加数据无效,应提升模型复杂度或做特征工程。

Q4. 以下哪组特征最能描述过拟合的学习曲线?

单选题 · mid

  • A.训练低验证高差距大← 正确答案
  • B.训练验证都处高位
  • C.训练验证都处低位
  • D.两条曲线几乎重合

答案:A。过拟合时模型把训练集细节背了下来,训练误差极低;但面对未见过数据时泛化失败,验证误差偏高,双线之间形成明显鸿沟。

Q5. 泛化误差分解公式中不包含以下哪一项?

单选题 · mid

  • A.偏差平方项
  • B.方差统计量
  • C.随机噪声项
  • D.学习率数值← 正确答案

答案:D。泛化误差 = 偏差² + 方差 + 噪声。学习率是优化器的超参数,影响训练过程的速度而非泛化误差的构成。

Q6. 学习曲线已走平且验证误差仍处于高位,最合理的下一步是?

单选题 · mid

  • A.继续添加更多数据
  • B.增加模型复杂度← 正确答案
  • C.调大模型的学习率
  • D.减少模型训练轮数

答案:B。走平说明数据红利已耗尽,验证误差仍然高说明模型学不到更多规律,属于高偏差(欠拟合)状态。此时加数据无效,应该换更复杂的模型或改善特征。

Q7. 过拟合模型增加训练数据后,学习曲线最可能出现什么变化?

单选题 · hard

  • A.训练升验证降差距缩小← 正确答案
  • B.两条曲线同向上升
  • C.曲线形状基本无变化
  • D.训练下降验证反上升

答案:A。数据变多后模型不再容易背下每一条样本,训练误差会小幅上升;同时见识更多变体后泛化能力增强,验证误差下降,双线鸿沟收窄——这正是加数据救过拟合的机制。

Q8. 幂律公式 E(m)=E∞+c·m^(−α) 中的 α 反映什么?

单选题 · hard

  • A.数据集固有噪声
  • B.误差随样本量下降速度← 正确答案
  • C.模型参数量的大小
  • D.训练迭代轮数

答案:B。α 是衰减指数,决定学习曲线下降的陡峭程度。α 越大,误差随样本量增加下降越快,说明数据红利越明显;噪声由 σ² 描述,与 α 无关。

Q9. 模型被诊断为过拟合,合理的补救措施有哪些?

多选题 · mid

  • A.增加训练数据← 正确答案
  • B.引入正则化← 正确答案
  • C.降低模型复杂度← 正确答案
  • D.增加特征数量

答案:ABC。加数据稀释记忆、正则化约束复杂度、降低模型容量都能缩小泛化差距;增加特征数量通常会进一步放大模型对噪声的拟合,加重过拟合。

Q10. 关于学习曲线的绘制,下列说法正确的是?

多选题 · hard

  • A.交叉验证取平均以平滑曲线← 正确答案
  • B.验证集与训练集不应重叠← 正确答案
  • C.横轴应使用模型参数量
  • D.训练子集大小应逐级递增← 正确答案

答案:ABD。交叉验证取平均能消除数据划分的偶然波动;验证集与训练集重叠会让验证误差虚低、曲线失真;子集大小从 10% 递增到 100% 是标准做法。横轴是样本量,不是模型参数量。