【问题标题】:Accuracy goes down during epoch keras在 keras 时代,精度下降
【发布时间】:2017-07-04 08:13:49
【问题描述】:

我尝试编写一个神经网络,但每个时期的准确性都不会改变。我正在使用 keras,我可以观察到每个 epoch 本身评估时的精度变化,它会从低开始,上升一点,然后每次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))

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-02-16
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 2019-06-02
      • 2019-05-15
      • 2019-04-22
      • 1970-01-01
      • 2019-04-14
      相关资源
      最近更新 更多