机器学习02 常见问题

当学习结果不够好的时候,通常是按照如下步骤进行 的:

image-20220414194117158

首先检查训练数据上的 LOSS,如果 LOSS 已经很大,那么基本上是两种情况:一种是模型偏差,一种是最优解没有找到

模型偏差 Model Bias

模型过于简单,无论何种参数都无法获得较好的 LOSS,这是通常要改变模型设计,通过增加 Feature 、增加更多 Layer 等方法使模型更加复杂多变。

最优解问题 Optimization Issue

image-20220414194526695

仅仅获得了局部最优解,没有找到真正的最优解,可以先尝试使用简单模型(易于求解最优解的方法),或使用更深层次(如果更深层次表现反而不好,多数情况下是最优解问题)

在训练数据上已经获得了较好的 LOSS 之后,再查看测试数据上的 LOSS,如果测试数据上的 LOSS 已经够小,则问题已经基本解决,如果测试数据上的 LOSS 仍然较大,则可能是出现了 Overfitting 过拟合 问题

过拟合 Overfitting

image-20220414200050052

训练得到的函数在训练数据上表现得好,但在没有训练数据的部分上“自由发挥”了,导致 LOSS 较大

如何解决呢?

  1. 增加训练数据或创造更多数据(从已有数据生成,如图像识别问题,可以左右翻转图片)
  2. 限制模型,降低模型弹性(降低参数数量、神经元数量、共享参数等)
  3. 减少 Feature
  4. Early stopping
  5. Regularization
  6. Dropout

也可以将训练数据分为训练集和确认集,用确认集来模拟测试的过程,分解方式可以选择如下的方式:

image-20220414204910006

将数据等分为多份,之后将不同的部分轮流作为确认集进行测试。

Mismatch 误配

除了 Overfitting 问题外,实际情况上的模型表现不好,也有可能是出现了 Mismatch 问题,由于一些其他原因导致,而非模型本身的问题。

Saddle Point 鞍点

image-20220425121948271

除了 Local Minima 局部最优的情况之外,还有另一种情况,loss也很难下降,这种情况下某一方向上是极小值,某一方向上又是极大值,使得其微分为0,也就是 Saddle Point 鞍点,与 Local Minima 统称为 Critical point 临界点。


机器学习02 常见问题
https://username.github.io/2022/07/30/机器学习02-常见问题/
作者
ZhuoRan-Takuzen
发布于
2022年7月30日
许可协议