过拟合和欠拟合

过拟合是指模型对于训练数据拟合呈过当的情况, 反映到评估指标上, 就是模型在训练集上的表现很好, 但在测试集和新数据上的表现较差。

欠拟合指的是模型在训练和预测时表现都不好的情况。

深度学习中什么叫过拟合和欠拟合 过拟合和欠拟合的原因_数据

降低“过拟合”风险的方法

产生过拟合的原因:

  • 模型的复杂度太高。比如:网络太深
  • 过多的变量(特征)
  • 训练数据非常少

解决方法:

  • 数据集扩增

更多的样本能够让模型学习到更多更有效的特征, 减小噪声的影响。
参考 图像数据不足时处理方法

  • 重新清洗数据

导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。

  • 降低模型复杂度

在数据较少时, 模型过于复杂是产生过拟合的主要因素, 适当降低模型复杂度可以避免模型拟合过多的采样噪声。 例如, 在神经网络模型中减少网络层数、 神经元个数等。

  • 正则化方法

给模型的参数加上一定的正则约束, 比如将权值的大小加入到损失函数中。
参考 L1 和 L2 正则化

  • 采用dropout方法

dropout方法是ImageNet中提出的一种方法,通俗一点讲就是dropout方法在训练的时候让神经元以一定的概率不工作。

  • early stopping
  • 批规范化(batch normalization)

参考 Batch Normalization

降低“欠拟合”风险的方法

产生欠拟合的原因:

因为模型不够复杂而无法捕捉数据基本关系,导致模型错误的表示数据。

解决方法:

  • 添加新特征

当特征不足或者现有特征与样本标签的相关性不强时, 模型容易出现欠拟合。 通过挖掘“上下文特征”“ID类特征”“组合特征”等新的特征, 往往能够取得更好的效果。 在深度学习潮流中, 有很多模型可以帮助完成特征工
程, 如因子分解机、 梯度提升决策树、 Deep-crossing等都可以成为丰富特征的方法。

  • 增加模型复杂度

简单模型的学习能力较差, 通过增加模型的复杂度可以使模型拥有更强的拟合能力。 例如, 在线性模型中添加高次项, 在神经网络模型中增加网络层数或神经元个数等。

  • 减小正则化系数

正则化是用来防止过拟合的, 但当模型出现欠拟合现象时, 则需要有针对性地减小正则化系数。

方差与偏差

Bias(偏差) 反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,即算法本身的拟合能力

Variance(方差)Variance反映的是模型每一次输出结果与模型输出期望之间的误差,即模型的稳定性。反应预测的波动情况。

深度学习中什么叫过拟合和欠拟合 过拟合和欠拟合的原因_过拟合_02

过拟合会出现高方差问题。
欠拟合会出现高偏差问题。

作者:Young