实 验 报 告
0、BaseNet(三层、sigmoid、784-386-10) 1
1、Hidden_Net(784-112-10和784-543-10) 2
8、AutoEncoder_Net(五层;AutoEncoder) 9
摘要:本次试验的数据集为MNIST digits,使用keras构建了各式各样的网络,完成了手写数字识别,实验结果比较理想。除此之外,我们还比较了不同模型之间的差别,定性或定量的分析了各种超参数(结点个数、激活函数、隐含层个数、训练轮数等)、是否采用dropout策略、是否有预训练(使用AutoEncoder)等细节选择对实验结果的影响,通过这种定性或定量的深入分析,让我们对神经网络有了更清晰的认识,对不同情境下神经网络的选择也有了更深入的理解。
0、BaseNet(三层、sigmoid、784-386-10)
三层结构、激活函数为常见的sigmoid,网络结构784-386-10,代码如下:
#*************build your model model=Sequential() model.add( Dense( 386, input_dim=784, init='uniform' ) ) model.add(Activation('sigmoid')) model.add(Dense(10, activation='softmax')) #'softmax' for multi-calss
#*************compile your model sgd=SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='categorical_crossentropy', optimizer=sgd, class_mode=None, sample_weight_mode=None)
#*************train your model #Returns a history object. #Its history attribute is a record of training loss values at successive epochs, #as well as validation loss values (if applicable). model.fit(X=Xtrain, y=ytrain, nb_epoch=10, batch_size=200, verbose=1, callbacks=[], validation_split=0.0, validation_data=(XCV, yCV), shuffle=True, show_accuracy=True, class_weight=None, sample_weight=None)
#********* |