过拟合表现:
训练集上效果很好,测试集上效果差
产生原因的根本原因
模型学习了一些噪音特征
1、模型复杂度高而数据集小,则模型很容易学习到一些非重要的特征
2、数据集噪音多,模型把噪音当成重要特征学习
3、训练集分布和测试集不同,训练集的数据没有涵盖各种情况
解决方法
数据增强:增加数据集
改进模型:
1、early stopping:当训练连续10个epoch时,精度不再有所提升,此时就可以停止迭代了
2、正则化:在损失函数添加l1或l2正则化
稀疏参数、更小参数:参数的稀疏,在一定程度实现了特征的选择,使网络更倾向于使用所有输入特征,而不是严重依赖输入特征中某些小部分特征。 L2惩罚倾向于更小更分散的权重向量,这就会鼓励分类器最终将所有维度上的特征都用起来,而不是强烈依赖其中少数几个维度。
3、dropout:随机丢掉一些神经元,通过修改隐藏层神经元的个数来防止网络的过拟合,因为是随机提出神经元且每次剔除的神经元个数都不同,消除减弱了神经元见的联合适应性,增强了神经网络的泛化能力和鲁棒性,dropout只在训练时使用,作为一个超参数,然而在测试集时,并不能使用