Почему двоичная_кросентропия работает лучше, чем категориальная_кросцентропия для мультиклассовой классификации в Keras? - PullRequest
0 голосов
/ 11 января 2019

Я видел много подобных проблем в stackoverflow, но ни одно из этого не относится к моему случаю.

У меня проблема мультиклассовой классификации, и мои метки являются взаимоисключающими.

Тренировка с двоичной_кросентропией вследствие опечатки привела к снижению потерь и повышению точности. Интересно, что, в отличие от других проблем, связанных со стековым потоком, я печатаю «категорическую точность» Keras. Мои ярлыки закодированы в горячем виде.

Итак, если быть точным, мой код выглядит так:

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'])

Я также пытался тренироваться с «categoryor_crossentropy», когда заметил опечатку и результаты куда хуже. Как это можно объяснить?

...