Day2 过拟合、欠拟合以及解决方案

错题回顾

测试数据集不可以用来调整模型参数,如果使用测试数据集调整模型参数,可能在测试数据集上发生一定程度的过拟合,此时将不能用测试误差来近似泛化误差。


知识点总结

训练误差:是指模型在训练数据集上表现出来的误差

泛化误差:是指模型在任意一个测试样本上表现出的误差的期望,并通常通过测试数据集的误差来近似

过拟合的解决方案

欠拟合:根本原因是特征维度过少,模型过于简单,导致拟合的函数无法满足训练集,误差较大;

解决方法:增加特征维度,增加训练数据;

过拟合:根本原因是特征维度过多,模型假设过于复杂,参数过多,训练数据过少,噪声过多,导致拟合的函数完美的预测训练集,但对新数据的测试集预测结果差。 过度的拟合了训练数据,而没有考虑到泛化能力。

解决方法:(1)减少特征维度;(2)正则化,降低参数值。

减少过拟合总结:过拟合主要是有两个原因造成的:数据太少+模型太复杂

  (1)获取更多数据 :从数据源头获取更多数据;数据增强(Data Augmentation)

  (2)使用合适的模型:减少网络的层数、神经元个数等均可以限制网络的拟合能力;

  (3)dropout ;

  (4)正则化,在训练的时候限制权值变大;

  (5)限制训练时间;通过评估测试;

  (6)增加噪声 Noise: 输入时+权重上(高斯初始化) ;

  (7)数据清洗(data ckeaning/Pruning):将错误的label 纠正或者删除错误的数据。

  (8)结合多种模型: Bagging用不同的模型拟合不同部分的训练集;Boosting只使用简单的神经网络;


权重衰减:L2范数正则化(增加惩罚项)

丢弃法:不改变期望值


关系图

你可能感兴趣的:(Day2 过拟合、欠拟合以及解决方案)