什么是过拟合?出现原因?怎么解决?

什么是过拟合?

为了得到一致假设而使假设变得过度复杂称为过拟合(overfitting),过拟合表现在训练好的模型在训练集上效果很好,但是在测试集上效果差。

出现原因?

  1. 训练集的数量级和模型的复杂度不匹配。训练集的数量要小于模型的复杂度;
  2. 训练集和测试集特征分布不一致;
  3. 样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系;
  4. 权值学习迭代次数足够多(overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。

怎么解决?

1.数据集扩增(Data Augmentation)

增加训练数据样本。训练集越多,过拟合的概率越小。

2.数据处理-清洗数据

丢弃一些不能帮助正确预测的特性。纠正错误的label,或者删除错误数据。

3.dropout方法

通过修改隐藏层神经元的个数来防止过拟合。

4.early stepping

是一种迭代次数截断的方法来防止过拟合。即在模型对训练数据集迭代收敛之前停止迭代来防止过拟合。

5.正则化(Regularization) :L1和L2

保留所有特性,但是减少参数的大小。

L1和L2是正则化项,又叫做罚项,是为了限制模型的参数,防止模型过拟合而加载损失函数后面的一项。

你可能感兴趣的:(什么是过拟合?出现原因?怎么解决?)