在Keras中使用交叉熵损失功能训练我的网络时,我的准确度得分非常低。
例如。对于这个模型:
model = Sequential()
model.add(GRU(input_dim, input_shape=(params['seqLength'],input_dim), return_sequences=True))
model.add(Dropout(0.2))
model.add(GRU(input_dim*2))
model.add(Dropout(0.2))
model.add(Dense(input_dim))
model.add(Activation('sigmoid'))
print("Compiling model...")
model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy'])
print("Training...")
(params["resultsDir"], int(time.time())), verbose=1, save_best_only=False)
history = model.fit(X, Y, validation_split=0.2, nb_epoch=20)
我的损失值约为0.012,但精度值仅为0.021。如果将此准确度转换为百分比,那么它仅为2.1%左右。
如果损失是对数丢失,那么0.012
非常好,为什么精度如此之低?