抑制过拟合的方法之Dropout(随机删除神经元)
在抑制过拟合的方法中,我们前面有讲到一个方法:抑制过拟合的方法之权值衰减 ,在某种程度上能够很好的抑制过拟合,如果神经网络的模型很复杂,只用权值衰减就难以应对了,这样的情况下,我们一般选择Dropout方法,也就是在训练的过程中,随机选出隐藏层的神经元,然后将其删除,被删除的神经元不再进行信号的传递。代码在权值衰减中有出现,layers.py里面,摘录出来
class Dropout:
'''
随机删除神经元
self.mask:保存的是False和True的数组,False的值为0是删除的数据
'''
def __init__(self,dropout_ratio=0.5):
self.dropout_ratio=dropout_ratio
self.mask=None
def forward(self,x,train_flg=True):
if train_flg:
self.mask=np.random.r
共有 0 条评论