+1 vote
par dans Séquence 1
Dans le DNN de MNIST, le dernier layer est un softmax: keras.layers.Dense( 10,      activation='softmax') donc il donne la distrib de proba d'un chiffre (on prend le argmax plus loin) et il me semble qu'on le compare avec un y qui est un chiffre.

Je ne comprend pas très bien ce que fait keras. Quand on écrit:

loss='sparse_categorical_crossentropy', metrics=['accuracy'])

comment Keras calcule l'accuracy? Il prend automatiquement le argmax de la proba? Et la loss, si je comprend bien ce qui est écrit sur wikipedia necessite 2 probas. La proba 'expérimentale' (celle du set de données) et celle prédite par le DNN. Comment trouve t-on la proba expérimentale?

1 Réponse

0 votes
par Vétéran du GPU 🐋 (48.7k points)
sélectionné par
 
Meilleure réponse
En gros Keras reçoit le résultat qui est le chiffre voulu et il transforme ça en un vecteur de probabilité nul partout, et qui vaut 1 à l'indice du chiffre. On peut alors le comparer au vecteur de probabilité donné par ton réseau de neurones. ça permet de calculer l'erreur.

Pour la prédiction, il prend effectivement l'argmax.
...