Master Ingénierie et Innovation en Images et Réseaux (M3IR)
Module Apprentissage et Fouille de Données Visuelles
2019-2020
2019-2020
Supports de cours
- Introduction, base de machine learning
- Introduction to linear regression models
- Introduction to linear classifiers
- Introduction to Unsupervised Learning: clustering and k-means
- Introduction à l'apprentissage profond (deep learning), partie 1
- Introduction à l'apprentissage profond (deep learning), partie 2
Notebooks Jupyter pour le cours 1
Pour ouvrir un notebook:
jupyter notebook
- Illustration simple de l'overfitting: 00-overfitting.ipynb
- Génération de données en 2D: 00-gen2Ddata.ipynb
- Régression linéaire: 01-RegressionLineaire.ipynb
- kNN (k plus proches voisins): 02-kNN-exo.ipynb
- k-moyennes (kmeans): 03-kmeans.ipynb et le jeu de données de test kms-dataset2d-X.csv
- kmeans pour quantifier les couleurs d'une image: 04-kmeans-couleurs.ipynb et l'image de test china.jpg
- Analyse en Composantes Principales (PCA ou ACP) en 2 dimensions 05-PCA-2D.ipynb
- ACP sur des images de chiffres (base MNIST): 06-PCA-digits.ipynb
- t-SNE (tSNE) sur des chiffres 07-tSNE-digits.ipynb
Notebooks Jupyter pour le cours 2
- Descente de gradient modèle linéaire manuel: 01-exemple-1d.ipynb
- même chose avec pytorch: 02-pytorch-exemple-1d.ipynb
Notebooks Jupyter pour le cours 3
- Reconnaissance de chiffres avec un réseau type LeNet exemple_nn_classif_lenet_MNIST.ipynb
- Images de chiffres MNIST à télécharger: mnist-original.mat
Sujet de Travaux Pratiques
- Séance 1
- Exercice 1: Prise en main TP1-exo1.ipynb
- Exercice 2: Plus proches voisins TP1-exo2.ipynb
- Exercice 3: Reconnaissance de visages (régression logistique) TP1-exo2.ipynb
- Séance 2
- Réseau de neurones pour la classification en 2d TP2-exo1-nn-2d.ipynb
- Script de génération du fichier de données pour le notebook précédent: 00-gen2Ddata-withclass.ipynb
- Séance 3
- Exercice 1: Classification d'images de chiffres manuscrits (MNIST) avec un MLP complètement connecté:
TP3-classif-MNIST-fullconnect.ipynb
Récupérer les données sur https://www.kaggle.com/avnishnish/mnist-original - Exercice 2: utilisation d'un CNN (LeNet 5): TP3-classif-MNIST-CNN.ipynb
Tutoriels utiles pour suivre ce cours:
- Cours d'introduction à Python: http://egallic.fr/Enseignement/Python
- Python et la science des données: http://calcul.math.cnrs.fr/IMG/html/irmar.slides.html
- Python for Scientific Programming
- Matplotlib: tutoriel en français
- Un bon livre (gratuit en ligne): Think Python 2nd Edition
- PyTorch (installer dans anaconda pytorch et torchvision)
Autres cours en ligne
Quelques ouvrages
- T. Hastie, R. Tibshirani, J. Friedman (2009) The Elements of Statistical Learning
- I. Goodfellow, Y. Bengio et Aaron Courville (2016), Deep Learning
- François Chollet (2018), Deep Learning with Python
- Grus (2015), Data Science from Scratch
- S. Kevin Zhou et al. (2017), Deep Learning for Medical Image Analysis
- A. Géron (2017), Hands-On Machine Learning with Scikit-Learn & TensorFlow