1、过拟合、欠拟合及其解决方案
过拟合、欠拟合
机器学习或者训练深度神经网络的时候经常会出现欠拟合和过拟合这两个问题,但是,一开始我们的模型往往是欠拟合的,也正是因为如此才有了优化的空间,我们需要不断的调整算法来使得模型的表达能拿更强。但是优化到了一定程度就需要解决过拟合的问题了。也就是说欠拟合是模型表达能力不够,达不到很好的表达效果。而过拟合是在训练集的范围内表达能力过强,导致完全拟合了训练集。 解决方案:
1)添加其他特征项,有时候我们模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决。例如,“组合”、“泛化”、“相关性”三类特征是特征添加的重要手段,无论在什么场景,都可以照葫芦画瓢,总会得到意想不到的效果。除上面的特征之外,“上下文特征”、“平台特征”等等,都可以作为特征添加的首选项。
2)添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强。例如上面的图片的例子。
3)减少正则化参数,正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。
2、梯度消失,梯度爆炸
梯度消失与梯度爆炸其实是一种情况。两种情况下梯度消失经常出现,一是在深层网络中,二是采用了不合适的损失函数,比如sigmoid。梯度爆炸一般出现在深层网络和权值初始化值太大的情况下。
3、循环神经网络的进阶
训练神经网络主要是指RNN网络,对于普通的RNN网络会存在难训练和梯度消失爆炸等问题。在为了解决这些问题的基础上,提出了LSTM,GRU等循环网络结构。