卷积神经网络对抗过拟合的主要方法

什么是过拟合?

过拟合不只是出现在卷积神经网络中,但凡是机器学习,都会存在此类问题。他是我们不想看到的一种现象,“拟合”是说,模型能够对训练集进行良好的预测,但是对预测集/测试集预测的效果比较差,这种现象也被称之为“泛化能力差”。引起过拟合的原因有很多种,最重要的一种就是样本不足,或者训练集样本不具备代表性。为缓和过拟合问题,有以下几种方法:

(1)数据集扩充

由于过拟合问题本质上是数据规模无法满足网络模型训练的要求。因此,数据集扩充是从源头解决过拟合问题的方法,也是解决过拟合问题最有效的方法。具体而言,就是通过一定规则的变换方法获取更多的有效数据或者估计出数据集的分布参数来扩充数据。

(2)随机失活(Dropout)方法

如下图所示,就是在训练过程中,随机选取一部分神经元节点使其失活,在网络中使用 Dropout 方式时,会以一定概率 P P P 将某些神经元输出置 0,使之不参与训练过程。对于一个包含 N N N个神经元的网络,使用 Dropout 之后,共有 2 N 2^N 2N种网络结构。在实际操作过程种也可以仅仅对某一层的神经元进行操作。这种做法类似于在网络模型中引入噪声项,打破了网络的固有结构,有效地避免网络对于某些神经元的高度依赖,从而防止陷入过拟合状态的风险。而在测试阶段,所有神经元都将参与预测。
卷积神经网络对抗过拟合的主要方法_第1张图片

图1. Dropout原理图

(3)早停法

及早停止训练,该方法通过对训练次数进行控制来防止过拟合现象的发生。通常的做法是,将所有样本按训练集、验证集和测试集划分,并在每个周期(例如 15 个 epoch)计算模型在验证集上的准确率,若当前的准确率比上一次的结果更差,便停止训练过程,并将上一次结果对应的模型参数作为最终参数。

你可能感兴趣的:(Tensorflow深度学习,cnn,深度学习,机器学习)