首页>>人工智能->算法中如何防止过拟合现象

算法中如何防止过拟合现象

时间:2023-11-29 本站 点击:1

1、定义

过拟合(overfitting):过拟合表现在训练好的模型在训练集上效果很好,但是在测试集上效果差。也就是说模型的泛化能力弱。

2、解决过拟合的方法

(1)数据集扩增: 解决过拟合最有效的方法,就是尽力补足数据,让模型看见更加全面的样本,不断修正自己。

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

Early stopping方法的具体做法是,在每一个Epoch结束时(一个Epoch集为对所有的训练数据的一轮遍历)计算validation data的accuracy,当accuracy不再提高时,就停止训练。

普遍做法:在训练的过程中,记录到目前为止最好的validation accuracy,当连续10次Epoch(或者更多次)没达到最佳accuracy时,则可以认为accuracy不再提高了。此时便可以停止迭代了(Early Stopping)。这种策略也称为“No-improvement-in-n”,n即Epoch的次数,可以根据实际情况取,如10、20、30……

(3)正则化方法: 正则化方法是指在进行目标函数或代价函数优化时,在目标函数或代价函数后面加上一个正则项,一般有L1正则与L2正则等。

L1正则:L1正则是基于L1范数,即在目标函数后面加上参数的L1范数和项,即参数绝对值和与参数的积项。

L2正则:L2正则是基于L2范数,即在目标函数后面加上参数的L2范数和项,即参数的平方和与参数的积项。

正则项是为了降低模型的复杂度,从而避免模型区过分拟合训练数据,包括噪声与异常(outliers)。从另一个角度上来讲,正则化即是假设模型参数服从先验概率,即为模型参数添加先验,只是不同的正则化方式的先验分布是不一样的。这样就规定了参数的分布,使得模型的复杂度降低(试想一下,限定条件多了,是不是模型的复杂度降低了呢),这样模型对于噪声与异常点的抗干扰性的能力增强,从而提高模型的泛化能力。

还有个解释便是,从贝叶斯学派来看:加了先验,在数据少的时候,先验知识可以防止过拟合;从频率学派来看:正则项限定了参数的取值,从而提高了模型的稳定性,而稳定性强的模型不会过拟合,即控制模型空间。

(4)dropout: Dropout可以作为训练深度神经网络的一种trick供选择。在每个训练批次中,通过忽略一半的特征检测器(让一半的隐层节点值为0),可以明显地减少过拟合现象。这种方式可以减少特征检测器(隐层节点)间的相互作用,检测器相互作用是指某些检测器依赖其他检测器才能发挥作用。

为什么说Dropout可以解决过拟合?

1)取平均的作用: 因为不同的网络可能产生不同的过拟合,取平均则有可能让一些“相反的”拟合互相抵消。dropout掉不同的隐藏神经元就类似在训练不同的网络,随机删掉一半隐藏神经元导致网络结构已经不同,整个dropout过程就相当于对很多个不同的神经网络取平均。而不同的网络产生不同的过拟合,一些互为“反向”的拟合相互抵消就可以达到整体上减少过拟合。

2)减少神经元之间复杂的共适应关系: 因为dropout程序导致两个神经元不一定每次都在一个dropout网络中出现。这样权值的更新不再依赖于有固定关系的隐含节点的共同作用,阻止了某些特征仅仅在其它特定特征下才有效果的情况 。迫使网络去学习更加鲁棒的特征 ,这些特征在其它的神经元的随机子集中也存在。换句话说假如我们的神经网络是在做出某种预测,它不应该对一些特定的线索片段太过敏感,即使丢失特定的线索,它也应该可以从众多其它线索中学习一些共同的特征。从这个角度看dropout就有点像L1,L2正则,减少权重使得网络对丢失特定神经元连接的鲁棒性提高。

(5)Batch Normalization: BN是为了解决CNN中internal covariate shift而提出的归一化方法。归一化带来的好处是,让输出遵从0,1正态分布,从而让输入在激活函数中处于线性部分,帮助网络更快拟合,但带来一个问题,激活函数都处于线性区,那网络非线性表达能力就会大幅削弱。所以为了更好的满足网络对线性与非线性的需求,BN在归一化后,又对结果进行了scale和shift。这两个参数可以通过数据来优化,自己学习判断该神经元对网络的贡献程度,如果他们认为该神经元无用,就会更新scale的值,让其趋于0。这就类似于dropout,随机阻断神经元。但区别在于,BN是主动学习,而dropout是随机。

原文:https://juejin.cn/post/7095557953461157918


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/AI/1161.html