Многоклассовые классификаторы нейронной сети автоматически делают argmax? - PullRequest
0 голосов
/ 15 апреля 2020

Я новичок в машинном обучении и в настоящее время изучаю основы нейронных сетей. В примере, который я видел, последним слоем нейронной сети является

keras.layers.Dense(10, activation="softmax"), 

Следовательно, выход этого слоя - массив с 10 значениями, соответствующими вероятностям класса для каждого из 10 классов в мультиклассовой задаче . Однако метки классов в исходном наборе данных представляют собой целочисленные значения от 0 до 9. Мой вопрос для этого заключается в том, автоматически ли моя нейронная сеть выполняет argmax на своих выходах, чтобы определить метку для сравнения во время обучения? Есть ли способ для меня, чтобы явно знать, какие операции мои нейронные сети делают «неявно»? Спасибо!

1 Ответ

0 голосов
/ 15 апреля 2020

Вам необходимо преобразовать свои метки, используя приведенный ниже код, чтобы метки стали массивами (One Hot Encoding).

train_labels = to_categorical(train_labels, num_classes = 10)

Пример. Для ярлыка 2->[0,0,1,0,0,0,0,0,0,0], Для 1->[0,1,0,0,0,0,0,0,0,0] и аналогично для других классов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...