When loss on training data is large

Model Bias

问题:

模型太过于简单,以至于怎么都无法找到一个减少 loss 的 func。

解决方案:

  1. 使用更多的 features。
  2. 使用 deep learning:更多的 neurons,更多的 layers。

Optimization Issue

问题:

local minima

如果发现更多的 layers 在 Testing Data 上和 Training Data 上表现是一致的,那么不是 Overfitting,这应该是 Optimization Issue。

实际上更高层的 network 一定可以做到低层 network 可以做到的事。

解决方案:

如何区分 ModelBias 和 Optimization Issue

When loss on training data is small

When loss on testing data is large

Overfitting

为何?

比较有弹性的模型会出现这种情况。这里的弹性可以理解为对复杂的数据有比较好的拟合效果,而对少量的数据,拟合的效果会比较差,看上去没那么“平滑”。

解决:

  1. 增加训练资料(往往最有效),也可以使用数据增强(例如图像左右颠倒)。
  2. 降低模型的弹性,给它一些限制。选定一个 func。(例如二次曲线)
  3. Fully-connected → CNN。
  4. 使用比较少的 feature。
  5. Early stopping
  6. Regularization
  7. Dropout

当 model 变得愈加复杂时,在 Testing data 上的 loss 就会增加,所以我需要找到一个合适的模型,似的它在 Training data 和 Testing data 上的 loss 都相对较低。

Mismatch

为何?

训练资料和测试资料不是一样的。(不能预测股票)

要理解资料本身的含义,是否是可预测的?

关于 Cross Validation

将 Training Set 分为两部分,从而方便调试,而不是根据测试集的结果来调试。