为什么在Keras中,binary_crossentropy的性能优于categorical_crossentropy?

时间:2019-01-11 10:01:05

标签: python tensorflow keras metrics cross-entropy

我在stackoverflow中看到了许多类似的问题,但这都与我的情况无关。

我遇到了多类分类问题,我的标签是互斥的。

由于拼写错误,使用binary_crossentropy进行训练,可降低损失并提高准确性。有趣的是,与stackoverflow中的其他问题不同,我正在打印Keras的“ categorical_accuracy”。我的标签是一键编码的。

因此,确切地说,我的代码如下:

net = Sequential() 
net.add(TimeDistributed(model_A, input_shape=(timesteps,960, 75, 1))) 
net.add(LSTM(100))
net.add(Dropout(0.5))
net.add(Dense(100, activation='relu'))
net.add(Dense(len(labels), activation='softmax'))

net.compile(loss='binary_crossentropy', optimizer=adam_opt, metrics=['binary_accuracy', 'categorical_accuracy'])

当我注意到错别字和更糟糕的结果时,我也尝试使用“ categorical_crossentropy”进行训练。怎么解释?

0 个答案:

没有答案