深度学习之过拟合和欠拟合

1.过拟合和欠拟合的相关概念:在训练模型时可能会出现两个问题:信号不足或噪声过多。

  • 过拟合(Overfitting)是指由于模型学习了太多噪声造成损失没有达到应有的水平。
  • 欠拟合(Underfitting)是指由于模型没有学习到足够的信号导致损失没有达到应有的水平。

2.如何判断欠拟合和过拟合(不考虑训练损失和验证损失一开始就上升的奇葩情况)

2.1对于训练前后训练损失变化不大,也就是常说的训练损失降不下去,那么一定是欠拟合。

2.2对于训练前后训练损失变化大的,定义A1为训练损失一直下降,A2为训练损失先下降后平稳。B1为验证损失一直下降,B2为验证损失先下降后上升,B3为先下降后平稳。下面表示具体情况,可以发现与训练损失基本无关,只看验证损失就能得出

  • A1B1 欠拟合
  • A1B2 过拟合
  • A1B3 刚刚好
  • A2B1欠拟合
  • A2B2过拟合
  • A2B3刚刚好

3.导致过拟合和欠拟合的原因及解决方案

3.1欠拟合

模型过于简单,连信号都学不太全:解决方案是提高算法模型复杂度(即提高模型的容量)

  • 去掉或降低正则化(Regularization):L1和L2
  • 去掉dropout
  • 使用更复杂的模型

由于模型容量不足,所以只能通过改善信号和噪声的比例

  • 增加新特征,可以考虑加入进特征组合、高次特征,来增大假设空间
  • 添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强

其他

  • 集成学习

3.2过拟合

模型过于复杂,连噪声也学全了:解决方案是降低算法模型复杂度(即降低模型的容量)

  • 增加或提高正则化(Regularization):L1和L2
  • 增加dropout
  • 使用更简单的模型

因为模型容量充足,可以通过提高数据模型复杂度,来提高信号量。

  • 数据增广(扩大数据空间)

由于模型容量充足,也能通过改善信号和噪声的比例

  • 增加新特征,可以考虑加入进特征组合、高次特征,来增大假设空间
  • 添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强

其他

  • Early stopping
  • 集成学习
  • 重叠池化层

你可能感兴趣的:(deep learning,机器学习之特征选择,机器学习,算法,人工智能)