Réseaux de neurones avec Keras
TD : Réseaux de neurones avec Keras. Recherche parmi 300 000+ dissertationsPar elkhattabma • 8 Décembre 2018 • TD • 522 Mots (3 Pages) • 644 Vues
TP2 : Réseaux de neurones avec Keras
Question 3 :
On a :
x_train = x_train.reshape(60000, nbr_dimensions_entree)
où nbr_dimensions_entree = 28*28
x_test = x_test.reshape(10000, nbr_dimensions_entree)
Les deux lignes précédentes permettent de préciser comment le jeux de données utilisé va être divisé entre l’apprentissage et le test.
- La première ligne permet de spécifier qu’une partie du jeu de données, 60000 images de dimension 28*28, servira à l’apprentissage.
- Par contre, la deuxième ligne précise que 10000 images de même dimension, 28*28, sont consacrées pour le test. C’est sur cette dernière partie, qu’on va tester notre algorithme après la phase d’apprentissage.
Question 4 :
y_train = np_utils.to_categorical(y_train, nb_classes)
y_test = np_utils.to_categorical(y_test, nb_classes)
La valeur qui doit être affectée à la variable nb_classes dans les deux lignes précédentes est la valeur 10. Le jeu données correspond à un ensemble d’images d ‘écritures manuscrites des chiffres de 0 à 9. donc, on a 10 chiffres, une classe pour chaque chiffre d’où vient nb_classes = 10.
La fonction utilisée permet d’encoder d’appliquer l’encode one-hot qui permet de faire correspondre un chiffre à un vecteur qui contient que des zéros sauf à la position correspondant au chiffre ( par exemple l’encodage one-hot du chiifre 1 est : [0,1,0,….,0,0,0]).
Question 5 :
Quand on compile le MLP avec :
- une fonction de coût de type « cross entropie catégorielle »
- Un optimiseur de type « descente stochastique du gradient (SDG) »,
- Deux couche cachées avec 200 nœuds chacune
- Une fonction d’activation « relu »
- 20 itérations
On obtient le résultat suivant :
[pic 1]
Le résultat de l’exécution montre que le coût du test est de 2.30 qui est généralement élevé, et la précision est de 9,8%. Ce qui veut dire que après apprentissage, le test a montré que sur 100 images juste à peu près 10 images ont été identifiées correctement ce qui n’est pas du tout bon.
Question 6 : Amélioration du système
En agissant sur les différents paramètres de la manière suivante :
- Utilisation de trois couches couchées, chacune avec 150 nœuds par couche.
- En utilisant « tanh » comme fonction d’activation
- La fonction du coût utilisée est « binary_crossentropy »
- L’optimiseur utilisé est « adagrad »
- Le nombre d’itérations a été augmenté jusqu’à 20 itérations.
On a obtenu le résultat ci-dessous à l’exécution du système système décrit auparavant :
...