dropout及过拟合详解

过拟合的定义:

在训练集上表现效果好,在交叉验证集上表现较差,也就是说在未知的样本上表现一般,泛化能力较差。

常常存在于数据少,数据网络深度长或者复杂(也就是参数多)的情况,导致过拟合问题。

dropout及过拟合详解

出现过拟合的原因:

dropout及过拟合详解

从图中可以看出,最左边是欠拟合的,中间是正好,最右边是过拟合的。

过拟合也就是说网络复杂,数据过于简单导致的。   我们常用的数据集常常分为训练集,验证集和测试集,

验证集的作用就是为了防止过拟合。。 如果只有训练集和测试集,训练好的数据准确率很高,到测试集的时候可能会存在准确率很低的情况。。

如何避免过拟合问题: (这个先留个概念,可以其他期再说。)

1. early stopping  在网络迭代收敛前停止,防止过度学习     。

2. 正则化   L1和L2正则

3.dropout

4.数据增强  

#dropout的定义:

也就是整体的网络结构中“随机”丢弃一些神经元(也就是部分网络权重不更新,不被丢弃的时候再更新)进行训练,这样子可以以比整体网络结构轻量的情况下实现数据的训练。由于每次丢弃神经元是随机的,所以基本多次迭代可以保证大部分的神经元都被训练到,防止参数过多导致的过拟合问题。也就是说,每个神经元都会有个被丢弃的概率问题。

@@需要注意的是,dropout只有在训练的时候才会用到,预测的时候不会用到。

从右图可以看出,浅色的神经元就是被随机丢弃的。

dropout的作用:

1.防止过拟合,