Exercice de découverte : Le Perceptron Mullti Couche
Description du sujet
Dans cet exercice, vous allez entraîner un perceptron multi-couche sur un data set réaliste, pour répondre à une des deux tâches suivantes, au choix:
-
Une tâche de régression avec le dataset bike sharing que vous pouvez charger directement à cette adresse. Il décrit le nombre de location à l'heure ou la journée de vélos de ville : votre tâche va consister à prédire cette variable. La description complète du data set est disponible sur sa page UCI Machine Learning .
Vous tenterez de minimiser la Mean Absolute Error (MAE) en tant que métrique d'évaluation pour cette tâche. -
Une tâche de classification binaire avec le dataset Diabetes Health Indicators (balanced) que vous pouvez charger directement à cette adresse visant à prédire la présence de diabète/prédiabète chez des patients Américains.
La description complète du data set est disponible sur sa page kaggle.
Vous tenterez de minimiser la binary crossentropy en tant que métrique d'évaluation pour cette tâche
Votre défi consistera à concevoir, tester et optimiser différentes architectures de perceptron afin de tenter d'obtenir le meilleur score possible suivant la métrique d'évaluation donnée. Vous veillerez à utiliser des procédures pour prévenir et/ou limiter le sur apprentissage possible de votre perceptron et tenter de produire un modèle capable de généraliser ses performances à de nouvelles données !
Autres sources de dataset
Plus généralement, vous pouvez choisir n'importe quel data set à partir du set UCI Machine Learning pour la classification ou la régression qui contiennent plus de 10 features et au moins 5000 observations.
Rendu & évaluations
Livrables : un unique notebook
Afin de pouvoir afficher facilement certaines fonctionnalités interactives (par exemple comme Tensorboard), il est recommandé de rendre un notebook en ligne pré-executé (comme deepnote ou google colab). Sinon un notebook statique au format .ipynb
suffira.
dans lequel vous expliquez votre démarche et exposez vos résultats et interprétations.
Critères de notation
Dans votre notebook de rendu vous exposerez à minima :
- une courte description et exploration de votre data set
- différentes itérations d'entraînement de différents modèles
- des interprétations de vos résultats
- une conclusion dans laquelle vous argumenterez sur le modèle à retenir selon vous
Vous serez évalué par une note individuelle sur 20 points qui évaluera l'ensemble de ces critères.
Quelques conseils
Dans votre chaîne de traitement, vous aurez un léger travail de pré-traitement des données avant l'entraînement de votre modèle. La qualité de ce pré-traitement peu impacter vos résultats, en particulier avec certaines loss fonctions
.
Conseils d'analyses
Voici quelques questions qui peuvent vous guider dans éléments importants à inclure dans votre notebook :
- Quelles architecture avez vous testé pour votre perceptron (nombre de couches, nombre de neurones par couches) ?
-
Quels fonction de coût avez vous testé ? Quels ont été leur impact ?
-
Avez vous réussi à savoir dans quelle situation d'apprentissage vous vous trouvez ? (sous apprentissage, compromis satisfaisant, sur apprentissage)
-
Quelles procédures avez vous employées pour pallier aux potentielles situations d'apprentissage non optimal ?
-
Avez vous essayé une méthode de GridSearch pour et fait varier différents types d'hyper-paramètres ? Je vous conseille d'utiliser le Keras Tuner avec la méthode
HyperBand
-
Parmi vos itérations, quel modèle vous semble le plus parcimonieux ?