华电新疆公司 · 集团 AI 竞赛赛前培训 · 第二天 · 模型调优

模型调优(二)· 超参数、曲线诊断与判读练习

下午课配套材料:逐个解释平台上要填的每个超参数,再讲训练曲线的健康形态与四种典型问题,给出对症调参表,最后 8 题判读练习。

素材:样题答案解析四类曲线 + train.csv 重绘示意图对应日程:10/20 下午 15:30-17:30

1每个参数是什么意思:学习率 / 批次 / 轮数 / 占比 / 时间步

平台上要填的就这几个,每个都用一张图说清楚。

学习率learning rate

模型每次「改错」改多大一步。太大→ 跳过头、来回抖(震荡);太小→ 走得慢、可能半路停住(局部最优)。平台范围 0.00001–0.1,第一次填 0.001(LSTM/GRU/RNN/DNN)或 0.05(XGBoost)。

批次大小batch size

一次喂几条数据给模型。小→ 学得细但慢、曲线容易抖;大→ 快但粗。第一次填 32。只有神经网络(DNN/RNN/LSTM/GRU)有这个参数。

训练轮数epoch

全部训练数据从头到尾看几遍。少→ 没学够(欠拟合);多→ 背下来了(过拟合)。平台 10–500,第一次填 50,看曲线再加减。

训练集占比train ratio

把数据切两份:前面一份给模型学(训练集),后面一份考它(验证集)。0.8 = 前 80% 学、后 20% 考。时序数据按时间先后切,不打乱。范围 0.5–0.95,填 0.8 就行。

时间步长度time steps

往前看几个点来猜下一个点。这题最关键的参数,上午课第 5 节已讲。平台范围 5–100。

层数 / 神经元(LSTM 等)layers / units

模型「有多大脑容量」。层多、神经元多 → 能学复杂规律,但慢、容易过拟合。第一次 2 层 × 64;过拟合就减、欠拟合就加。

决策树数量 / 最大深度(XGBoost)n_estimators / max_depth

XGBoost 是很多棵「判断树」投票。树多、树深 → 更准但更慢、易过拟合。第一次 200 棵 × 深 6。

优化器optimizer

题目里提到,但平台界面没有这个选项,不用管。

图 4-1 学习率就是「下山的步子」:太小走不到底,太大跳过谷底
图 4-2 批次、轮数、步 三个词的关系
图 4-3 训练集占比 0.8:前 28 天学,后 7 天考
图 4-4 时间步长度:窗口里有几个点

2曲线怎么看:健康形态 + 四种典型问题

结果页的 Loss 曲线有两条线:蓝 = 训练(学过的数据上的误差),橙 = 验证(没见过的数据上的误差)。看三件事:两条线最后贴不贴、有没有降到底、抖不抖。

图 7-0 健康:一起降、最后贴近、不抖
图 7-1 过拟合:蓝降橙升——「背题」
图 7-2 欠拟合:两条都高、降不下——「没学够」
图 7-3 局部最优:早早停在高位——「卡住了」
图 7-4 震荡:忽上忽下——「步子太大」
图 7-5 四种问题对照
问题曲线长什么样(看得见的)为什么一句话记
过拟合蓝线一直降,橙线先降后升,两条线越来越开模型把训练数据背下来了,没见过的就不会蓝降橙升 = 背题
欠拟合两条线都很高、降得慢,到最后一轮还没降下来,但贴得近模型太简单,或者没学够轮数都高不降 = 没学够
局部最优很早就平了,停在一个明显偏高的位置不动学习率太小走不出去,或优化器不合适早平高位 = 卡住
震荡忽上忽下,大幅抖动,稳不下来学习率太大,每步都跳过最低点上下乱跳 = 步子大
图 7-6 RMSE 是什么:预测线贴着真实线走就小,偏离就大

3看到问题怎么改:对症调参表

答案解析给的方案,加上平台上对应的按钮。一次只改一处,改完重训看曲线。

问题改什么(按优先级)平台上哪个框举例
过拟合① 减训练轮数 ② 减层数 ③ 减每层神经元 ④ 减树的深度 / 数量(XGBoost)训练轮数 ↓;隐藏层层数 ↓;神经元 ↓;决策树最大深度 ↓轮数 100→50;层 3→2;深度 9→6
欠拟合① 加训练轮数 ② 加层数 ③ 加每层神经元 ④ 加树的数量 / 深度训练轮数 ↑;隐藏层层数 ↑;神经元 ↑;决策树数量 ↑轮数 50→150;神经元 32→64;树 100→300
局部最优① 加大学习率 ② 换优化器(平台没有,跳过)学习率 ↑0.0001→0.001
震荡① 降低学习率 ② 加大批次大小学习率 ↓;批次大小 ↑0.01→0.001;批 16→64
健康但 RMSE 还想更低换时间步(24/48/96 之间);换模型对比时间步长度;顶部模型按钮XGBoost 步 24 → LSTM 步 96
两件别做的事:① 一次改三个参数——变好变坏都不知道是谁的功劳;② 看到过拟合就加轮数——方向反了,会更糟。

4判读练习 8 题(附答案)

每张图先自己说:① 是哪种情况 ② 改哪个参数、往哪个方向。说完点开答案对。

练习 1:这是哪种情况?该改什么?
看答案
过拟合。橙线 25 轮后掉头上升。改:训练轮数减到 25 左右;还不行就减层数 / 神经元。
练习 2
看答案
震荡。两条线都忽上忽下。改:学习率降一个量级(如 0.01→0.001);或批次 32→64。
练习 3
看答案
健康。一起降、最后贴近、不抖。不用改;想再压 RMSE 就换时间步或换模型对比。
练习 4
看答案
欠拟合。50 轮了还在 0.6 附近,两条线贴近但都高。改:训练轮数加到 150;或加层数 / 神经元。
练习 5
看答案
局部最优。第 15 轮就平了,停在 0.22–0.29 不动。改:学习率加大(0.0001→0.001)。
练习 6
看答案
过拟合。同练习 1,蓝降橙升。改:减轮数;减模型复杂度。
练习 7
看答案
震荡。改:降学习率;加大批次。
练习 8
看答案
欠拟合。改:加轮数;加层数 / 神经元;XGBoost 则加树数。
区分欠拟合和局部最优:都是「高」。欠拟合是还在慢慢降没降完;局部最优是早就平了不动。前者加轮数,后者加学习率。

5赛场建议流程与自检

  1. 看题 1 分钟:确认是单步预测、预测哪一列。
  2. 看数据 3 分钟:图表分析看周期,算出 288;决定时间步候选 24 / 48 / 96。
  3. v1:XGBoost,学习率 0.05、占比 0.8、时间步 24、树 200、深 6 → 训练 → 看曲线、记 RMSE。
  4. v2:LSTM,学习率 0.001、批 32、轮 50、占比 0.8、时间步 96、2 层 × 64 → 训练 → 对比。
  5. 对症改一处(第 3 节表),每改一次记一行历史版本。
  6. 提交:验证 RMSE 最低的;差不多选快的。

时间步是 24 / 48 / 96 之一,不是随手填的数

至少跑了 XGBoost 和 LSTM 各一版做对比

每个版本只改了一处,历史版本里能说出每版为什么变

提交那版的 Loss 曲线是健康形状(一起降、贴近、不抖)

没有「看到过拟合还加轮数」这种反向操作

口径:本材料基于客户提供的样题与平台截图编写,平台界面为示意,实际以赛场版本为准;无平台实操环境,本日为理论与案例讲解。