Acquis d'apprentissage visés
- Identifier et choisir la famille d’algorithmes d’apprentissage automatique adaptée à un problème donné (supervisé, non supervisé, deep learning) en justifiant ce choix par des critères objectifs
- Implémenter, entraîner et évaluer des modèles de classification et de régression en appliquant les bonnes pratiques : séparation train/test/validation, validation croisée, réglage des hyperparamètres
- Analyser et interpréter les performances d’un modèle à l’aide de métriques appropriées (précision, recall, F1, AUROC, RMSE, ) et diagnostiquer les problèmes de biais et de variance
- Appliquer des algorithmes d’apprentissage non supervisé pour la réduction de dimensionnalité (PCA, ICA, NMF) et le clustering (k-means, GMM, clustering hiérarchique) sur des jeux de données réels
- Appliquer les méthodes d’analyse des données multimédia (images, signaux) à l’aide de modèles d’apprentissage appropriés
- Concevoir, développer et intégrer des outils et des applications exploitant des modèles d’apprentissage automatique pour la valorisation des données
Prérequis
- Probabilités et variables aléatoires (S5) : distributions de probabilité, espérance, variance, loi des grands nombres — fondements des modèles probabilistes (Naive Bayes, GMM, régression).
- Processus stochastiques (S6) : modélisation de séries temporelles et de signaux aléatoires — utiles pour les modèles séquentiels et le deep learning.
- Fouille de données (S6) : prétraitement des données, règles d’association, introduction au clustering — base directe de ce cours.
- Compétences transversales attendues :
- Programmation Python (numpy, pandas, matplotlib) à un niveau intermédiaire
- Notions d’algèbre linéaire (vecteurs, matrices, valeurs propres) et de calcul différentiel (gradient)
- Compréhension des structures de données et algorithmique de base
- Lecture de documentation technique et d’articles scientifiques en anglais
Programme
- Bases de l’apprentissage automatique :
- Panorama des paradigmes : apprentissage supervisé, non supervisé, par renforcement et apprentissage profond.
- Apprentissage symbolique vs numérique ; approches statistiques vs structurelles/syntaxiques.
- Apprentissage comme problème d’optimisation ; exploration des données par le machine learning.
- Défis transversaux : qualité des données, régularisation, généralisation, malédiction de la dimensionnalité.
- Apprentissage supervisé :
- Tâches de régression et de classification : cas d’usage et critères de choix.
- Compromis biais/variance ; complexité du modèle et capacité de généralisation.
- Protocoles d’évaluation : séparation train/test/validation, validation croisée, réglage des hyperparamètres.
- Métriques de classification : précision, recall, F1, AUROC, matrice de confusion ; métriques de régression : RMSE, MAE, .
- Algorithmes fondamentaux : régression linéaire et logistique, KNN, Naive Bayes, arbres de décision.
- Extensions et méthodes d’ensemble : bagging, boosting, forêts aléatoires, caractéristiques polynomiales.
- Diagnostic d’un modèle : biais élevé vs variance élevée ; stratégies de sélection et d’ingénierie des features.
- Classification multiclasse ; algorithme avancé : SVM (Support Vector Machine).
- Apprentissage non supervisé :
- Tâches principales : clustering et réduction de dimensionnalité.
- Algorithmes de clustering : k-means, clustering hiérarchique (connectivité vs centroïde), DBSCAN, Gaussian Mixture Models (GMM).
- Algorithmes de réduction de dimensionnalité : PCA (analyse en composantes principales), ICA (analyse en composantes indépendantes), NMF (factorisation matricielle non négative).
- Évaluation des résultats en apprentissage non supervisé : indices de silhouette, inertie, interprétation des composantes.
- **Apprentissage profond (Deep Learning) — introduction :**
- Réseaux de neurones artificiels : architecture, fonction d’activation, rétropropagation.
- Réseaux convolutifs (CNN) pour l’analyse d’images ; réseaux récurrents (RNN/LSTM) pour les signaux et séries temporelles.
- Outils et frameworks : TensorFlow, PyTorch, Keras.
- Défis pratiques et mise en œuvre :
- Prétraitement des données : normalisation, gestion des valeurs manquantes, encodage des variables catégorielles.
- Pipelines d’apprentissage automatique avec scikit-learn.
- Interprétabilité des modèles : SHAP, importance des features.
- Déploiement d’un modèle : API de prédiction, bonnes pratiques de MLOps.
Modalités d'évaluation
Contrôles continus et travaux pratiques évalués.
Bibliographie
- Barra, V., Miclet, L. et Cornuéjols, A. - Apprentissage artificiel — Concepts et algorithmes, de Bayes et Hume au Deep Learning - Éditions Eyrolles, 4^(e) éd.
- Aurélien Géron - Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow - O’Reilly, 3^(e) éd., 2022
- Christopher M. Bishop - Pattern Recognition and Machine Learning - Springer, 2006
- Ian Goodfellow, Yoshua Bengio & Aaron Courville - Deep Learning - MIT Press, 2016 : <https://www.deeplearningbook.org>
- Documentation scikit-learn : <https://scikit-learn.org/stable/>
- Documentation TensorFlow / Keras : <https://www.tensorflow.org/api_docs>
- Documentation PyTorch : <https://pytorch.org/docs/stable/>
- Kaggle — Jeux de données et compétitions ML : <https://www.kaggle.com>
- Papers With Code — État de l’art en ML : <https://paperswithcode.com>
Supports
Diaporamas, fiches de travaux dirigés et de travaux pratiques.