【发布时间】:2019-09-21 18:25:34
【问题描述】:
我目前正在处理在线签名验证。数据集具有 (x, 7) 的可变形状,其中 x 是一个人用来签署其签名的点数。我有以下型号:
model = Sequential()
#CNN
model.add(Conv1D(filters=64, kernel_size=3, activation='sigmoid', input_shape=(None, 7)))
model.add(MaxPooling1D(pool_size=3))
model.add(Conv1D(filters=64, kernel_size=2, activation='sigmoid'))
#RNN
model.add(Masking(mask_value=0.0))
model.add(LSTM(8))
model.add(Dense(2, activation='softmax'))
opt = Adam(lr=0.0001)
model.compile(optimizer=opt, loss='categorical_crossentropy', metrics=['accuracy'])
model.summary()
print(model.fit(x_train, y_train, epochs=100, verbose=2, batch_size=50))
score, accuracy = model.evaluate(x_test,y_test, verbose=2)
print(score, accuracy)
我知道这可能不是最好的模型,但这是我第一次构建神经网络。我必须使用 CNN 和 RNN,因为这是我的荣誉项目所必需的。目前,我达到了 0.5142 作为最高训练准确率和 0.54 测试准确率。我尝试过增加 epoch 的数量、更改激活函数、添加更多层、移动层、更改学习率和更改优化器。
请分享一些关于更改我的模型或数据集的建议。任何帮助深表感谢。
【问题讨论】:
标签: python keras conv-neural-network recurrent-neural-network