I've seen many similar issues in stackoverflow but none of this refer to my case.
I have a multiclass classification problem and my labels are mutually exclusive.
Training with a binary_crossentropy due to a typo, resulted in lower loss and higher accuracy. What's interesting here is that, unlike other issues in stackoverflow, I am printing the "categorical_accuracy" of Keras. My labels are one-hot encoded.
So, to be exact my code looks like that:
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'])
I also tried to train with "categorical_crossentropy", when I noticed the typo and the results where worse. How can this be explained?