Université Alioune Diop
Master 2 SI/SR, Département TIC
Série d’exercices
Réseaux de Neurones Multicouches (MLP)
Exercice 1 : Rainy Day
Dans cet exercice, nous allons utiliser un réseau de neurones pour une tâche classique
de prédiction : prédire si demain sera un jour de pluie.
1. Chargez et explorez le dataset weatherAUS.csv. La colonne cible est ’RainTomorrow’.
2. Préparez les données : nettoyage, encodage des colonnes catégoriques, normalisa-
tion, etc.
3. Construisez un modèle MLP de votre choix.
4. Compilez et entraı̂nez votre modèle sur les données d’entraı̂nement.
5. Évaluez la précision sur les données de test.
6. Comparez les performances avec une méthode classique de classification de votre
choix.
Exercice 2 : Classification d’images Fashion MNIST
Dans cet exercice, nous allons classifier des images de vêtements en 10 classes.
1. Téléchargez les données avec from tensorflow.keras.datasets import fashion mnist.
2. Explorez les données : affichez quelques images avec leur étiquette.
3. Préparez les données : mise à l’échelle, encodage des étiquettes avec to categorical.
4. Construisez un modèle MLP avec une architecture simple : au moins 4 couches
cachées .
5. Compilez et entraı̂nez le modèle avec la perte categorical crossentropy.
6. Évaluez les performances sur les données de test.
7. Comparez les résultats avec une méthode traditionnelle combinant ACP et un
classifieur classique.
Exercice 3 : Prédiction des ventes
Utilisez un MLP pour prédire les ventes à partir des caractéristiques disponibles dans
un dataset (par exemple, les données de la compétition Kaggle Demand Forecasting).
1. Préparez les données : gestion des valeurs manquantes, normalisation, etc.
2. Construisez et entraı̂nez un modèle MLP pour cette tâche de régression.
3. Évaluez les performances en utilisant des métriques adaptées telles que la MAE ou
la RMSE.
Cours : Deep Learning 1
Enseignant :Dr. Seydou Nourou SYLLA
Université Alioune Diop
Master 2 SI/SR, Département TIC
Exercice 4 : Classification avec MNIST
Dans cet exercice, nous travaillerons sur le dataset MNIST, contenant des images de
chiffres manuscrits.
1. Téléchargez les données avec from tensorflow.keras.datasets import mnist.
2. Explorez les données et affichez quelques exemples.
3. Préparez les données : mise à l’échelle et encodage des labels.
4. Construisez un MLP avec 2 à 3 couches cachées et un nombre raisonnable d’unités
par couche (20 à 50 unités).
5. Compilez et entraı̂nez votre modèle avec une fonction de perte categorical crossentropy.
6. Évaluez les performances du modèle sur les données de test.
7. Comparez avec un modèle de classification SVM sur les mêmes données.
Exercice 5 : Données de grande dimension
Dans cet exercice, vous utiliserez un dataset de haute dimension (par exemple, le
dataset 20 Newsgroups).
1. Chargez et explorez le dataset (utilisez scikit-learn.datasets.fetch 20newsgroups).
2. Effectuez une réduction de dimension avec une ACP ou une méthode similaire.
3. Construisez un MLP pour classifier les données dans les différentes catégories.
4. Évaluez les performances et comparez-les à celles d’un modèle traditionnel comme
la régression logistique.
Exercice 6 : Réseau de Neurones Profond Adaptable
Dans cet exercice, vous construirez une fonction capable de créer un réseau de neurones
profond (au moins 8 couches cachées) adaptable selon le type de tâche (classification ou
régression) et selon le nombre de variables en entrée.
1. Écrivez une fonction build deep mlp() qui prend les paramètres suivants :
— input shape : la forme des données d’entrée.
— task : soit ’classification’ ou ’regression’.
— hidden layers : une liste contenant le nombre de neurones pour chaque couche
cachée.
— activation : la fonction d’activation pour les couches cachées.
La fonction doit retourner un modèle Keras avec :
— Une couche d’entrée correspondant à input shape.
— Au moins 8 couches cachées avec un nombre de neurones défini par hidden layers.
— Une dernière couche adaptée à la tâche :
— Si task=’classification’, utilisez une activation softmax et une perte
categorical crossentropy.
— Si task=’regression’, utilisez une activation linéaire et une perte mean squared error.
2. Testez votre fonction sur deux datasets :
— Un dataset de classification (par exemple, MNIST ou Fashion MNIST).
Cours : Deep Learning 2
Enseignant :Dr. Seydou Nourou SYLLA
Université Alioune Diop
Master 2 SI/SR, Département TIC
— Un dataset de régression (par exemple, le dataset Boston Housing ou un autre
dataset de votre choix).
3. Ajoutez des régularisations (dropout, L2) pour limiter le sur-apprentissage.
4. Entraı̂nez les modèles avec des architectures différentes (par exemple, des nombres
de neurones différents par couche) et analysez leurs performances.
5. Expliquez comment le nombre de couches et de neurones impacte les performances
pour chaque tâche.
Cours : Deep Learning 3
Enseignant :Dr. Seydou Nourou SYLLA