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

错题回顾

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


知识点总结

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

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

过拟合的解决方案

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

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

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

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

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

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

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

  (3)dropout ;

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

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

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

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

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


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

丢弃法:不改变期望值


关系图
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容