解决过拟合的方法,前面已经讲了2种,Dropout层Keras防止过拟合(一)Dropout层源码细节,L1L2正则化keras防止过拟合(二) L1正则化与L2正则化源码细节和在自定义层中加入。
除此之外,当损失函数不降反增,或是降低十分缓慢时,提前结束训练也是一个很好的办法。因为,随着模型训练次数的增多,模型会更加复杂,更易出现过拟合。本篇说明一下,keras如何提前终止训练。
使用回调函数callbacks中的EarlyStopping
简单的例子:
callback = keras.callbacks.EarlyStopping(monitor='loss', patience=1)#使用loss作为监测数据,轮数设置为1
model = Sequential()
model.add(Dense(10))
model.compile(loss='categorical_crossentropy', optimizer='sgd', loss='mse')
model.fit(x_train, y_train,epochs=10, batch_size=1, callbacks=[callback])
Keras使用

最低0.47元/天 解锁文章
1049

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



