在纪元时期,准确度下降

时间:2017-02-15 15:16:18

标签: neural-network python-3.5 keras floating-accuracy loss

我试图写一个神经网络,但准确性不会改变每个时代。我正在使用keras,我可以观察准确度的变化,因为每个时期都会被评估,并且它会从低位开始,向上移动一点,然后每次example output时降回到完全相同的值。我已经尝试改变批量大小,学习率,稍微改变数据,但每次它做同样的事情,可能只是具有不同的准确度值。我也尝试了不同的优化器。任何帮助表示赞赏。 (我也能得到一个mnist示例工作)

model = Sequential()
model.add(Dense(1000, input_dim=100, init='uniform', activation='relu'))
model.add(Dense(len(history), init='uniform', activation='relu'))
model.add(Dense(1, init='uniform', activation='sigmoid'))
opt = SGD(lr=1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=opt, metrics=['accuracy'])
model.fit(X, Y, nb_epoch=100, batch_size=50, verbose = 1)
scores = model.evaluate(X, Y)
print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100))

1 个答案:

答案 0 :(得分:0)

由于您的输出图层中只有一个神经元,我假设您正在进行回归而不是分类。

如果是这种情况,那么您应该将损失函数更改为'mse',并且还应该删除输出图层中的激活,因为sigmoid函数会将输出压缩在0和1之间。 / p>