过拟合与欠拟合

问题

训练数据的结果很好,误差不大,但在 测试集上效果不好,这种就可能发生 过拟合 或者 欠拟合

过拟合

训练误差 小,但 测试误差 大

案例

比如学习下面人脸:

当学习特征 过多 时,如下:

  • 有两只眼睛
  • 有一个鼻子
  • 有一张嘴
  • 黑色头发
  • 短头发
  • 棕色皮肤
  • 黑色眉毛

那么 无法识别 欧美人 和 女人

原因

  • 训练数据 数据太少
  • 模型太复杂
  • 训练数据的 特征过多,噪声过多

学习的 特征 过多,学习训练数据的 通性 的时候,也学习了训练数据的 特性,这些 特性 是会 影响 模型在新的数据集上的 泛化能力

解决

  • 使用合适的模型:减少 网络层数、减少 神经元个数 等
  • dropout。随机的丢掉一些神经元
  • 需要更多训练数据
  • 筛选特征
  • 正则化

欠拟合

训练误差 大, 测试误差 大

案例

比如学习下面人脸:

当学习特征 过少 时,如下:

  • 有两只眼睛
  • 有一个鼻子
  • 有一张嘴
  • 椭圆形脸

那么 也会把 猩猩 识别成人脸

原因

训练数据的 特征 复杂、较多,但 学习的特征过少,导致无法正确预测

解决

  • 使用合适的模型:增加 网络层数 、增加 神经元数量

原文出处:/show_1EF44tC6VKQc.html