← 全部章节详细版这一节

P16 · 基础与训练

机器学习任务攻略

2021 版 · 视频 51:24

1这节解决什么问题

模型跑完了:训练时就很差,或者训练很好一换数据就差——到底该改哪里?这一节给一张诊断地图,不是新模型。

2一句话讲清

训练表现和新数据表现是两个独立读数,两两组合指向四种毛病;四种毛病的药方方向相反,先诊断再动手。

3通俗解释

  1. 训练时就很差,先分两种:模型太简单,能挑的公式里根本没有合适的(偏差);或者公式里有合适的,但训练没找到(优化问题)。
  2. 这两种光看数字分不开。办法是拿一个更简单的模型做对照:如果更复杂的模型在训练数据上反而更差,那就是没训好——因为复杂模型的候选里包含简单模型能做的,不该更差。
  3. 训练很好、新数据很差,是过拟合:模型把训练点连了起来,点与点之间乱抖。药方是加数据、做数据增强、给模型加限制(少用特征、正则、早停)。
  4. 还有一种表现一样、病因不同的:训练数据和新数据的来源不一样(不匹配)。判据是「加数据有没有用」——没用,因为新加的还是来自同一个不对的来源。

4一个例子

讲义例子

讲义有一张图:同样数据,层数一层层加上去,训练损失一路下降,可到第五层反而比第四层差。既然加深只是让可选的公式更多,最好的情况不该变差,所以这里只能是「没训好」,不是「容量不够」。另一处用三折交叉验证选模型:把数据分三份轮流做验证,三个候选各得一个平均分,选平均最好的那个,而不是看它在某一份上的表现。

5常见误区

  • 一训练差就加正则,方向反了。正则、丢弃、早停都是「收紧」的手段,只会让训练更差。训练差要扩容量或换优化方法。
  • 不能拿公开排行榜反复挑模型。那等于把公开测试集当训练集,公开分数会虚高,换私榜就回落。要用自己的验证集。
  • 新数据差不一定就是过拟合,也可能是不匹配;用「加数据是否有效」来区分。

6和相邻几节的关系

P1、P2 立起三步框架,这一节是它的故障排查版;P24、P25 的优化器对付「没训好」那一格;P29 的卷积是「给模型加限制」的具体例子。

730 秒回顾

两个读数、四种毛病;训练差要看是太简单还是没训好,用更简单的模型对照;训练好新数据差要看是过拟合还是不匹配,用加数据是否有效区分;药方方向相反;选模型只用没参与训练的数据。

8小自测

先自己答,再点开对答案。

1. 训练损失很低、验证损失很高,先做什么、不该做什么?

先确认验证数据和新数据来源一致。若一致,就往过拟合方向治:加数据、做数据增强、加限制。不该再加层加参数,那会加重。

2. 验证很差,加了一倍训练数据完全没改善,最可能是什么问题?

不匹配——训练和新数据的来源不同。过拟合时加数据通常有帮助;不匹配时新数据还是来自那个不对的来源,所以白加。要先查数据是怎么来的。

9来源

来源与说明(点开可查)

基于对应官方讲义整理并做复习补充,不是视频逐字稿;本页不标注视频时间点。

对应讲义页码:overfit-v6.pdf 第 2–28 页

回到顶部