李宏毅机器学习(深度学习)--overfitting
1.机器学习速通攻略
本节课首先老师是用了一张图来介绍作业出现一些错误时,我们该如何找出错误,这又称为速通攻略。
按照这张图的顺序,我们可以知道,当我们发现loss值降不下去时,我们首先应该查看的是loss on training data,看在训练数据上的loss是不是出现问题。
如果loss在这上面很高,那么可能是有两种原因:model bias和optimization。model bias代表你的模型不够complex,比如使用linear model导致无法很好拟合,这就要用增加layer的方法来使其更加complex。optimization这个问题由于牵扯出其他的东西,放在后面讲解。
如果在训练集上loss很小,我们就去观察在测试集上的loss。这时候如果loss大,有可能是overfitting和mismatch两个错误。overfitting我们将在下面讨论,而mismatch是说训练资料与测试资料分布不一样,那么训练资料增加对测试资料也没有影响了。如果测试集上loss也很小,那么就完美了。
2.overfitting
我们在上面提到了model bias的错误,我们想到的解决方法是让model更加complex。但是当我们让model变得更加complex的同时,我们又发现,当我们让模型增加layer,反而在testing data loss上表现不好了,这就出现了另一个问题–overfitting。
overfitting指的是**在trainning data上loss较小,而在testing data上loss反而变大的情况。**这是由于model过于complex,导致在没有训练资料的地方model变得flexible有“弹性”。我们如何解决这个现象呢?我们需要对模型进行一些限制使其不那么有弹性,增加弹性的方法如下:
另外的方法是做data augmentation,让训练资料更多,实际上也起到了限制的作用。