Dropout的Bagging思想以及使用要点
一:Dropout的原理及bagging思想 1:Dropout原理 Dropout是深度学习中应对过拟合问题简单且有效的一种正则化方法。原理很简单:在训练阶段,在每一个Epoch中都以一定比例随机的丢弃网络中的一些神经元,如图一所示,使得每次训练的模型包含的神经元都不同。这种方式使得网络权重在更新过程中不依赖隐藏节点之间的固定关系(隐藏层节点的固定关系可能会影响参数更新过程),同时使得网络不会对某一个特定的神经元过分敏感,从而提高了网络的泛化能力。 图一:Dropout原理图 2:Dropout的Bagging思想 从《百面深度学习》这本书中的相关内容介绍领悟到,Dropout这种以一定比例随机丢弃神经元的方式是一种Bagging的思想:神经网络通过Dropout层以一定比例随即的丢弃神经元,使得每次训练的网络模型都不相同,多个Epoch下来相当于训练了多个模型, 同时每一个模型都参与了对最终结果的投票, 从而提高了模型的泛化能力。在此注意,Dropout与Bagging有一点不同是:Bagging的各个模型之间是相互独立的,而Dropout各个模型之间是共享权重的。 bagging是利用相同数据训练多个模型,然后将各个模型的结果投票或者加权取平均等。 二:Dropout使用要点 1:Dropout参数设置介绍 首先说一下Dropout的参数:官方文档中是这样介绍的: p: