Fiche 09bis : R´eseau de neurones
Master 1 I2L 2014 / 2015
Le but de ce TP est de r´ealiser et d’analyser un r´eseau de neurones.
1 Le r´ eseau
Le but set de r´ealiser un r´eseau de neurone de type perceptron multi-couche avec une seule couche cach´ee et totalement connect´e selon le sch´ema suivant :
Questions :
2.a) D´efinir une classeNeuralNetworkqui repr´esente un r´eseau d´ecrit ci-dessus. Les neurones ont une fonction d’activation sigmo¨ıde. Les poids et seuils des neurones peuvent ˆetre initialis´e al´eatoirement.
Le nombre de neurones dans les diff´erentes couches doivent ˆetre des param`etres du constructeur.
2.b) D´efinir une m´ethodepredict qui calcule le vecteur de sortie du r´eseau de neurone `a partir une liste d’entr´eesX.
2.c) D´efinir une fonction meanSquareError qui calcule la moyenne des carr´e des distance entre les vecteurs de sortie du r´eseau de neurone et les vecteurs attendus sur un jeu de donn´ees de type data frame.
2.d) D´efinir une fonction errorRate qui calcule le taux d’erreur d’un r´eseau de neurones sur un jeu de donn´ees de type data frame.
2 Apprentissage
Il s’agit de d´efinir l’algorithme d’apprentissage par r´etro-propagation de l’erreur.
Questions :
3.a) D´efinir une classe BackPropagation compos´ee des m´ethodes init et train. La m´ethode init initialise un r´eseau de neurone en fixant les seuils et les diff´erents poids al´eatoirement entre 0 et 1. La m´ethodetrainentraine un neurone artificiel sur un jeu de donn´ee de type data frame.
3.b) Tester votre m´ethode sur les jeux de donn´ees ex1.csv,data-lin.csvetdata-nonlin.csv.
1
3 Analyse
Le fichier digits.cvs contient un jeu de donn´ee de l’´ecriture manuelle des 10 chiffres (cf. http://
scikit-learn.org/stable/auto_examples/classification/plot_digits_classification.html#example-classification-plot-digits-classification-py).
Les chiffres sont ´ecrits sur des images de 64 pixels en niveaux de gris.
Questions :
4.a) Diviser le jeu de donn´ee en un ensemble d’apprentissage et un ensemble de test (70% / 30%).
4.b) Mesurer les performances de votre r´eseau de neurones sur les ensembles d’apprentissage et de test. Commenter vos r´esultats.
4.c) Comparer ces performances avec celle d’un neurone de type perceptron.
4.d) Quel est l’impact sur les performances d’apprentissage du nombre de neurones cach´es ?
4.d) Quel est l’impact sur les performances d’apprentissage du param`etre d´efinissant le taux d’ap- prentissage ?
2