过拟合一些解决方案

 

过拟合原因:

 

1. 训练集的数量级和模型的复杂度不匹配。训练集的数量级要小于模型的复杂度;(模型太复杂,参数就会太大,然而你的数据量又很小)

2. 训练集和测试集特征分布不一致;(用分类猫的训练集,去拟合分类狗的)

3. 样本里的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系;(数据量太小,或许只学到了噪音,而没有学到希望学到的特征)

4. 权值学习迭代次数足够多(Overtraining),拟合了训练数据中的噪声和训练样例中没有代表性的特征。

解决方案:

1、简化模型结构:比如减小网络深度。

2、多来一些数据增广,比如flip、rotate,镜像,高斯噪音,随机裁剪,缩放。

3、正则化:比如添加L1和L2正则。(L2正则也称为权重衰减 weight decay )

L2范数是指向量各元素的平方和然后求平方根。我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0,但与L1范数不同,它不会让它等于0,而是接近于0。因为一般认为参数值小的模型比较简单,能适应不同的数据集,也在一定程度上避免了过拟合现象。可以设想一下对于一个线性回归方程,若参数很大,那么只要数据偏移一点点,就会对结果造成很大的影响;但如果参数足够小,数据偏移得多一点也不会对结果造成什么影响,专业一点的说法是『抗扰动能力强』

4、Dropout:丢弃网络中的一些神经元。(或许有用,别丢太多,好不容易训练出来的参数)

5、早停(early stopping):这就需要有验证集,当验证集的Dice值达到最优的时候,就停止训练,减少训练时间。(通常在找到最优epoch之后,在跑10-50epoch,确定是最优,再停止)。

6、ensemble、集成多个模型结果,减少过拟合造成的影响。但是这种方法太花费时间了。集成类型:贝叶斯最优分类器、Bootstrap聚合(Bagging)、Boosting、贝叶斯参数平均、贝叶斯模型组合、桶模型、Stacking。

7、重新对数据进行清洗。但是对于深度学习视觉任务来说,这个过程一般在数据预处理阶段完成。

posted @ 2022-05-22 16:41  九叶草  阅读(125)  评论(0编辑  收藏  举报