基于Keras的神经网络优化与实践
1. 使用Dropout进一步改进简单网络
在初始实验中,我们得到了训练集准确率为94.50%,验证集准确率为94.63%,测试集准确率为94.41%的基准结果。为了进一步提升性能,我们采用了Dropout技术,它是一种常见的正则化方法,通过随机丢弃隐藏层内部传播的部分值,来防止模型过拟合。
以下是具体的代码实现:
from __future__ import print_function
import numpy as np
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD
from keras.utils import np_utils
np.random.seed(1671) # for reproducibility
# network and training
NB_EPOCH = 250
BATCH_SIZE = 128
VERBOSE = 1
NB_CLASSES = 10 # number of outputs = number of digits
OPTIMIZER = SGD() # optimizer, explained later in this chapter
N_HIDDEN = 128
VALIDATION_SPLIT = 0.2 # how much TRAIN is res
超级会员免费看
订阅专栏 解锁全文
3344

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



