机器学习-03(机器学习任务攻略)
对于训练出来的模型不满意:
1.检查训练所使用的数据
训练数据的Loss 过大
model bias(模型过于简单,模型偏差)
所求出的任何,带入函数之后都不能使Loss变得足够低。可以让Loss变低的函数不在求出的函数集合之中。
解决方法:重新设计模型,增加层数,使其更有弹性。比如可以增加输入的特征。
最佳化问题(Optimization Issue)处理的不好
因为目前使用的gradient descent没有给出最佳的函数。
解决方法:
当训练数据的Loss不够低时,如何判断是以上情况的哪种?
通过比较不同的模型,得知目前的模型是否足够大,层数是否够多。
56层的弹性一定比20层大,故一定是最佳化的问题。不是过拟合或者模型偏差的问题。
从小的(层数少的)模型入手,过渡到层数更多的模型。如果层数多的模型比层数小的模型的Loss还要大,那么就是最佳化出现了问题。
训练数据的Loss已经变小
测试数据的Loss小
此结果是我们想要的结果
测试数据的Loss大
overfitting问题(过拟合)
过拟合是指模型在训练数据上表现非常好,但在测试数据上表现较差。这通常是因为模型过于复杂,学习了训练数据中的噪声和细节,而未能提取数据的普遍规律,导致泛化能力差。
只有训练数据Loss小,但是测试数据Loss大才是过拟合问题。
极端的例子:
解决方法:
1.增加训练资料(训练数据)
2.不要让模型具有太大的弹性,给予其一些限制。 比如说给其较少的参数,在深度学习方面可以给其较少的神经元数目(但不能给太多的限制)
mismatch(数据不匹配)问题
训练资料和测试资料分布不同,增加训练资料不能解决此问题。