模型评估

过拟合与欠拟合

过拟合欠拟合正则化Dropout泛化
一句话摘要

模型训练中最常见的两类问题:过拟合是"学太多"记住了噪声,欠拟合是"学太少"没抓住规律。

什么是过拟合?

过拟合(Overfitting):模型在训练数据上表现很好,但在新数据上表现很差。

就像一个学生把所有练习题的答案都背下来了,但考试遇到新题就不会做。模型记住了训练数据中的噪声和细节,而没有学到真正的规律。

过拟合的典型表现

  • 训练准确率很高(如97%),测试准确率很低(如48%)
  • 训练集和测试集的表现差距很大

过拟合的原因

  • 模型太复杂(参数太多)
  • 训练数据太少
  • 训练时间太长
  • 特征中包含噪声

解决过拟合的方法

方法原理
Dropout随机丢弃部分神经元,迫使网络学习更鲁棒的特征
正则化(L1/L2)在损失函数中加惩罚项,限制参数大小
增加训练数据让模型见到更多样的数据
数据增强对现有数据做变换(翻转、旋转等)扩充数据集
Early Stopping在验证集表现开始变差时停止训练
减少模型复杂度减少层数或神经元数量

什么是欠拟合?

欠拟合(Underfitting):模型在训练数据和测试数据上表现都不好。

就像用一条直线去拟合弯曲的数据——模型太简单,无法捕捉数据中的规律。

欠拟合的典型表现

  • 训练准确率和测试准确率都很低
  • 模型没有充分学习数据中的规律

欠拟合的原因

  • 模型太简单(如用简单线性回归拟合非线性数据)
  • 特征不足或不合适
  • 训练时间太短
  • 正则化过强

解决欠拟合的方法

  • 使用更复杂的模型
  • 增加有效特征
  • 减弱正则化
  • 增加训练时间

如何判断?

情况训练集表现测试集表现诊断
都很好正常
训练好测试差过拟合
都很差欠拟合

考试要点

  • 训练97%、测试48% → 过拟合
  • 训练和测试都差 → 欠拟合
  • Dropout 能缓解过拟合
  • 增加网络层数、神经元、训练轮次会加剧过拟合
  • 简单线性回归拟合复杂数据容易欠拟合
微信二维码

扫码备注【NOAI】加交流群