提升模型准确率的正则化方法
1. Dropout 正则化原理
1.1 Dropout 工作机制
Dropout 正则化在训练期间随机移除神经网络中的节点。具体而言,它为每个节点设置一个概率,该概率决定了在学习算法的每次迭代中该节点是否参与训练。例如,若为每个节点分配 0.5 的丢弃概率,那么在每次迭代时,学习算法会像抛硬币一样决定是否将该节点从网络中移除。
这个过程在每次迭代时都会重复,意味着每次迭代都会随机选择一些节点从网络中移除,参数更新过程将在一个不同且更小的网络上进行。需要注意的是,在评估模型在测试集或验证集上的性能时,始终使用原始的完整网络。因为对随机删除节点的网络进行评估会给结果引入噪声,这是不可取的。
1.2 Dropout 减少过拟合的原因
- 使用更小的网络进行训练 :移除网络中的节点后,与原始网络相比,训练是在一个更小的网络上进行的。较小的神经网络灵活性较低,因此过拟合数据的可能性也更低。
- 降低对单个输入的敏感性 :通过在深度神经网络的每一层随机移除输入,整个网络对单个输入的敏感性降低。在训练神经网络时,权重会以最终模型适应训练示例的方式进行更新。随机移除一些权重会迫使其他权重参与学习与该迭代中的训练示例相关的模式,从而使最终的权重值分布更均匀,减少过拟合。
2. 在 Keras 中实现 Dropout 正则化
2.1 生成模拟数据集
# create some
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



