2、实践方法论(Datawhale X 李宏毅苹果书 AI 夏令营)
在应用机器学习算法时,实践方法论能够帮助我们更好地训练模型。如果在 Kaggle 上的结果不太好,虽然 Kaggle 上呈现的是测试数据的结果,但要先检查训练数据的损失。
2.1 模型偏差
有时候把模型设置的太过简单,使得函数的集合太小了,没有包含任何一个函数,可以让损失变低的函数不在模型可以描述的范围内。可以重新设计一个模型,给模型更大的灵活性。
2.2优化问题
一般只会用到梯度下降进行优化,这种优化的方法很多的问题。比如可能会卡在局部最小值的地方,无法找到一个真的可以让损失很低的参数。1.可以通过比较不同的模型来判断模型现在到底够不够大。2.看到一个从来没有做过的问题,可以先跑一些比较小的、比较浅的网络,或甚至用一些非深度学习的方法。接着用深的模型,如果深的模型跟浅的模型比起来,深的模型明明灵活性比较大,但损失却没有办法比浅的模型压得更低代表说优化有问题,梯度下降不给力。如果训练数据上面的损失小,测试数据上的损失大,可能是真的过拟合。在测试上的结果不好,不一定是过拟合。要把训练数据损失记下来,先确定优化没有问题,模型够大了。接下来才看看是不是测试的问题,如果是训练损失小,测试损失大,这个有可能是过拟合。
2.3过拟合
解决办法:1、增加训练集。2、给模型增加一些限制,但不要给出太多的限制。模型的复杂程度,或这样让模型的灵活性越来越大。但复杂的程度和灵活性都没有给明确的定义。比较复杂的模型包含的函数比较多,参数比较多。所以通过测试得到中庸的模型,使得训练集的损失度最低。
2.4交叉验证
比较合理选择模型的方法是把训练的数据分成两半,一部分称为训练集(training set),一部分是验证集(validation set)。最好的做法,就是用验证损失,最小的直接挑就好了,不要管公开测试集的结果。在实现上,不太可能这么做,因为公开数据集的结果对模型的选择,可能还是会有些影响的。理想上就用验证集挑就好,有过比较好的基线(baseline)算法以后,就不要再去动它了,就可以避免在测试集上面过拟合。
2.5不匹配
不匹配与过拟合不同,过你和可以通过搜集更多的数据来克服,但是不匹配值得是训练集和测试集的分布不同,训练集再增加已经没有帮助。
标签:训练,AI,李宏毅,模型,损失,Datawhale,测试,拟合,比较 From: https://www.cnblogs.com/bxzl/p/18395541