在最近实验的CNN.RNN中老是出现过拟合的问题:
发生过拟合的主要原因可以有以下三点:
(1)数据有噪声
(2)训练数据不足,有限的训练数据
(3)训练模型过度导致模型非常复杂
dropout称之为随机失活,指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。“丢弃学习”通常分为两个阶段:学习阶段和测试阶段。截图网上的图片:
在学习阶段,随机失效或者说是隐藏一些节点,这样做的在于可以简化网络的复杂度,减少一些特征,学习局部特征。
测试阶段,将参与学习的节点和那些被隐藏的节点以一定的概率p加权求和,综合计算得到网络的输出。
dropout在数据量比较小的时候,不建议使用,效果并没有特别好,dropout的值一般来说取值为0.5效果会比较好,经过交叉验证,隐含节点dropout率等于0.5的时候效果最好,原因是0.5的时候dropout随机生成的网络结构最多。dropout也可以被用作一种添加噪声的方法,直接对input进行操作。输入层设为更接近1的数。使得输入变化不会太大(0.8)
先写到这。困了