pr3*_*338 4 python machine-learning neural-network keras
我正在使用Keras构建我的第一个人工多层感知器神经网络.
这是我的输入数据:
这是我用来构建我的初始模型的代码,它基本上遵循Keras示例代码:
model = Sequential()
model.add(Dense(64, input_dim=14, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(2, init='uniform'))
model.add(Activation('softmax'))
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16)
Run Code Online (Sandbox Code Playgroud)
输出:
Epoch 1/20
1213/1213 [==============================] - 0s - loss: 0.1760
Epoch 2/20
1213/1213 [==============================] - 0s - loss: 0.1840
Epoch 3/20
1213/1213 [==============================] - 0s - loss: 0.1816
Epoch 4/20
1213/1213 [==============================] - 0s - loss: 0.1915
Epoch 5/20
1213/1213 [==============================] - 0s - loss: 0.1928
Epoch 6/20
1213/1213 [==============================] - 0s - loss: 0.1964
Epoch 7/20
1213/1213 [==============================] - 0s - loss: 0.1948
Epoch 8/20
1213/1213 [==============================] - 0s - loss: 0.1971
Epoch 9/20
1213/1213 [==============================] - 0s - loss: 0.1899
Epoch 10/20
1213/1213 [==============================] - 0s - loss: 0.1957
Epoch 11/20
1213/1213 [==============================] - 0s - loss: 0.1923
Epoch 12/20
1213/1213 [==============================] - 0s - loss: 0.1910
Epoch 13/20
1213/1213 [==============================] - 0s - loss: 0.2104
Epoch 14/20
1213/1213 [==============================] - 0s - loss: 0.1976
Epoch 15/20
1213/1213 [==============================] - 0s - loss: 0.1979
Epoch 16/20
1213/1213 [==============================] - 0s - loss: 0.2036
Epoch 17/20
1213/1213 [==============================] - 0s - loss: 0.2019
Epoch 18/20
1213/1213 [==============================] - 0s - loss: 0.1978
Epoch 19/20
1213/1213 [==============================] - 0s - loss: 0.1954
Epoch 20/20
1213/1213 [==============================] - 0s - loss: 0.1949
Run Code Online (Sandbox Code Playgroud)
如何训练和调整此模型并获取我的代码以输出我最好的预测模型?我是神经网络的新手,我只是完全混淆了构建模型后的下一步是什么.我知道我想优化它,但我不确定要调整哪些功能,或者我是否应该手动执行或如何编写代码来执行此操作.
ale*_*eju 10
你可以做的一些事情是:
mean_squared_error为binary_crossentropy.mean_squared_error用于回归,但您想要对数据进行分类.show_accuracy=True到您的fit()功能,在每个时期输出您的模型的准确性.这些信息对您来说可能比损失价值更有用.validation_split=0.2到您的fit()功能.目前,您只是在训练集上进行训练并且无需进行验证.这是机器学习中的一个禁忌,因为你不能确定你的模型没有简单地记住你的数据集的正确答案(没有真正理解为什么这些答案是正确的).Republican.Adam而Adagrad不是SGD.有时他们表现更好.(请参阅有关优化器的文档.)Activation('relu'),LeakyReLU,PReLU和ELU代替Activation('tanh').Tanh很少是最好的选择.(请参阅高级激活功能.)64到128.还可以尝试添加/删除图层.BatchNormalization图层(在Activation图层之前).(见文件.)0.5to 0.25).| 归档时间: |
|
| 查看次数: |
2840 次 |
| 最近记录: |