Retour au sommaire du cours
Cours data science & ML · Annexe
Ressources pour aller plus loin
Ce cours condense et réorganise ; il ne remplace pas les sources. Cette annexe indique, pour chaque partie, où aller quand un module a donné envie d'approfondir — avec une recommandation unique par sujet plutôt qu'une bibliographie exhaustive, parce qu'une liste de trente livres ne se lit jamais.
Comment lire cette liste
- Les titres marqués (libre) sont légalement disponibles en ligne, gratuitement, par leurs auteurs ou leurs éditeurs.
- « Si un seul » signale le point d'entrée à privilégier quand on n'a le temps que d'une chose.
- Les articles cités sont ceux qui ont réellement changé la pratique, pas les plus récents. Un article de 2001 encore utilisé aujourd'hui vaut mieux qu'un article de l'an dernier dont on ignore s'il survivra.
📋 Au programme
1. Les quatre livres qui couvrent le plus de terrain
- Hastie, Tibshirani, Friedman — The Elements of Statistical Learning (libre). La référence du ML statistique, exigeante mais précise. C'est le livre vers lequel on revient dix ans plus tard. Sa version d'introduction, An Introduction to Statistical Learning (libre, avec une édition Python), couvre les mêmes idées sans la charge mathématique.
- Murphy — Probabilistic Machine Learning, deux volumes (brouillons libres). Le traitement le plus complet et le plus à jour, du point de vue probabiliste. Sert autant de manuel que d'encyclopédie.
- Géron — Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow. L'exact complément des deux précédents : tout y est code, et les chapitres sur le pipeline de données et le déploiement sont excellents.
- Huyen — Designing Machine Learning Systems. Le livre qui manque à la plupart des cursus : comment un système de ML vit en production. À lire avant, pas après, un premier projet en entreprise.
2. Par partie du cours
Partie I — Outillage (modules 1 à 7)
- Si un seul : Ramalho — Fluent Python. Le livre qui fait passer de « je sais écrire du Python » à « je comprends pourquoi Python se comporte ainsi ». Les chapitres sur les itérateurs, les décorateurs et la concurrence recouvrent exactement les modules 1 et 2.
- Beazley — Python Concurrency (conférences en ligne) : les exposés les plus clairs sur le GIL et asyncio.
- Kleppmann — Designing Data-Intensive Applications. Le meilleur livre sur les systèmes de données : réplication, partitionnement, transactions, flux. Dense et remarquablement pédagogique.
- Reis & Housley — Fundamentals of Data Engineering, pour le panorama des architectures, et Kimball — The Data Warehouse Toolkit, qui reste la référence sur la modélisation dimensionnelle (module 7).
- Documentations officielles : Docker (le guide « get started » est bien fait), Kubernetes concepts, FastAPI (l'un des meilleurs tutoriels toutes technologies confondues), polars user guide, dbt developer hub.
Partie II — Socle mathématique et statistique (modules 8 à 11)
- Si un seul : Strang — Linear Algebra and Learning from Data. Écrit pour ce cas d'usage précis : l'algèbre linéaire dont le ML a besoin, SVD en tête. Le cours vidéo MIT 18.06 du même auteur est libre.
- Boyd & Vandenberghe — Convex Optimization (libre), pour l'optimisation ; Nocedal & Wright — Numerical Optimization pour les méthodes de second ordre.
- Wasserman — All of Statistics, pour la statistique inférentielle en un volume compact ; Efron & Hastie — Computer Age Statistical Inference (libre) pour la perspective historique, bootstrap compris.
- McElreath — Statistical Rethinking (cours vidéo libre). Le meilleur livre pour comprendre l'inférence bayésienne et la pensée causale, sans prérequis excessifs. Gelman et al. — Bayesian Data Analysis (libre) pour la référence complète.
- Causalité : Cunningham — Causal Inference: The Mixtape (libre) est l'entrée la plus accessible ; Hernán & Robins — Causal Inference: What If (libre) est la référence rigoureuse ; Pearl — The Book of Why pour l'intuition des graphes causaux.
- Angelopoulos & Bates — A Gentle Introduction to Conformal Prediction (libre), quarante pages qui suffisent au module 10.
Partie III — Méthode et données (modules 12 et 13)
- Si un seul : Kaggle Learn et les notebooks des compétitions terminées. Rien ne remplace la lecture d'une solution gagnante commentée pour comprendre ce que « travailler ses variables » veut dire.
- Wickham — R for Data Science (libre) : même si le langage diffère, les chapitres sur la structure d'une analyse et sur les données rangées sont transposables tels quels.
- Tufte — The Visual Display of Quantitative Information, pour la visualisation ; la documentation de seaborn pour la pratique immédiate.
- Documentation de scikit-learn, section « User Guide » : l'un des meilleurs cours de ML gratuits, à lire comme un livre plutôt que comme une référence.
Partie IV — Familles de modèles (modules 14 à 19)
- Si un seul : Prince — Understanding Deep Learning (libre). Récent, très bien illustré, avec les exercices et les diapositives. Il a remplacé Goodfellow comme premier livre de deep learning, même si Deep Learning (libre) reste la référence théorique.
- Karpathy — Neural Networks: Zero to Hero (vidéos libres) : construire la rétropropagation puis un Transformer à partir de zéro. Sans doute la meilleure heure investie du module 16.
- Shalev-Shwartz & Ben-David — Understanding Machine Learning (libre), pour la théorie du module 15.
- Rasmussen & Williams — Gaussian Processes for Machine Learning (libre), pour le module 19 ; la documentation de BoTorch pour l'optimisation bayésienne appliquée.
- Sutton & Barto — Reinforcement Learning: An Introduction (libre) pour le module 20, complété par le cours Deep RL de Hugging Face, plus pratique.
Partie V — Domaines et applications (modules 20 à 23)
- Hyndman & Athanasopoulos — Forecasting: Principles and Practice (libre). La référence sur les séries temporelles, claire et directement applicable (module 17).
- Jurafsky & Martin — Speech and Language Processing (brouillon libre) pour le NLP ; Manning, Raghavan & Schütze — Introduction to Information Retrieval (libre) pour la recherche, dont les chapitres sur l'indexation et l'évaluation n'ont pas vieilli (modules 18 et 23).
- Hugging Face — cours NLP et documentation transformers, pour la pratique du module 22.
- Hamilton — Graph Representation Learning (libre), pour les GNN du module 18.
- Smith — Uncertainty Quantification et la documentation de SALib et OpenTURNS, pour le module 21.
Partie VI — Décision, production, responsabilité (modules 24 à 27)
- Si un seul : Huyen — Designing Machine Learning Systems, déjà cité, qui couvre à lui seul une bonne part des modules 24 à 26.
- Kohavi, Tang & Xu — Trustworthy Online Controlled Experiments. Tout ce qu'on apprend en cassant des A/B tests, écrit par ceux qui les ont cassés à grande échelle.
- Molnar — Interpretable Machine Learning (libre), pour l'interprétabilité ; Barocas, Hardt & Narayanan — Fairness and Machine Learning (libre), pour le module 27.
- Documentation de MLflow, DVC, Evidently et fairlearn ; le NIST AI Risk Management Framework et le texte du règlement européen sur l'IA pour le cadre réglementaire.
- Pour le GPU et la performance (module 25) : la documentation PyTorch Performance Tuning et les guides NVIDIA Deep Learning Performance, plus utiles que n'importe quel livre sur ce sujet qui bouge vite.
3. Cours en ligne et vidéos
- 3Blue1Brown — Essence of Linear Algebra, Essence of Calculus, Neural Networks. L'intuition géométrique derrière ce que la prépa a enseigné algébriquement. À regarder avant le module 8.
- Karpathy — Neural Networks: Zero to Hero. Construire, ligne par ligne, un moteur de différentiation automatique puis un modèle de langage.
- fast.ai — Practical Deep Learning for Coders. Approche descendante : on entraîne un modèle utile dès la première leçon, la théorie vient après.
- Stanford CS231n (vision), CS224n (NLP), CS229 (ML) — notes et vidéos libres, d'un niveau supérieur aux cours grand public.
- StatQuest (Josh Starmer) — quand une notion statistique résiste, il en existe presque toujours une explication de dix minutes ici.
- DataTalks.Club — Data Engineering Zoomcamp et MLOps Zoomcamp, gratuits, entièrement pratiques : ils recouvrent les modules 7 et 26.
- MIT 18.06 (Strang) pour l'algèbre linéaire, MIT 6.006 pour les algorithmes.
4. Articles qui ont changé la pratique
Une trentaine de textes suffit à couvrir l'essentiel de ce qui est utilisé aujourd'hui. Ils sont tous librement accessibles.
par thème, avec l'année
MÉTHODE ET ÉPISTÉMOLOGIE
Breiman 2001 Statistical Modeling: The Two Cultures
Wolpert 1996 No Free Lunch Theorems
Halevy+ 2009 The Unreasonable Effectiveness of Data
Sculley+ 2015 Hidden Technical Debt in ML Systems ← module 26
ML CLASSIQUE
Tibshirani 1996 Regression Shrinkage and Selection (Lasso)
Cortes-Vapnik 95 Support-Vector Networks
Breiman 2001 Random Forests
Chen-Guestrin 16 XGBoost: A Scalable Tree Boosting System
Bergstra-Bengio Random Search for Hyper-Parameter Optimization (2012)
THÉORIE ET GÉNÉRALISATION
Zhang+ 2017 Understanding Deep Learning Requires Rethinking
Generalization
Belkin+ 2019 Reconciling Modern ML Practice (double descente)
DEEP LEARNING
Kingma-Ba 2014 Adam
Ioffe-Szegedy 15 Batch Normalization
He+ 2016 Deep Residual Learning (ResNet)
Vaswani+ 2017 Attention Is All You Need
Devlin+ 2018 BERT
Brown+ 2020 Language Models are Few-Shot Learners (GPT-3)
Hu+ 2021 LoRA
Lewis+ 2020 Retrieval-Augmented Generation
Hoffmann+ 2022 Training Compute-Optimal LLMs (Chinchilla)
CAUSALITÉ ET INCERTITUDE
Rosenbaum-Rubin The Central Role of the Propensity Score (1983)
Chernozhukov+ 18 Double/Debiased Machine Learning
Athey-Wager 2019 Generalized Random Forests
Gneiting-Raftery Strictly Proper Scoring Rules (2007)
Guo+ 2017 On Calibration of Modern Neural Networks
APPLICATIONS
Koren+ 2009 Matrix Factorization for Recommender Systems
Covington+ 2016 Deep Neural Networks for YouTube Recommendations
Kipf-Welling 17 Semi-Supervised Classification with GCN
Raissi+ 2019 Physics-Informed Neural Networks
Mnih+ 2015 Human-Level Control through Deep RL (DQN)
Schulman+ 2017 Proximal Policy Optimization
RESPONSABILITÉ
Dwork+ 2006 Calibrating Noise to Sensitivity (confid. différentielle)
Goodfellow+ 2015 Explaining and Harnessing Adversarial Examples
Buolamwini-Gebru Gender Shades (2018)
Mitchell+ 2019 Model Cards for Model Reporting
Gebru+ 2018 Datasheets for Datasets5. Jeux de données et terrains d'entraînement
- data.gouv.fr — données publiques françaises. En particulier les demandes de valeurs foncières (DVF), qui recensent toutes les transactions immobilières réelles : c'est la source à privilégier pour refaire le projet du module 28 sans scraper quoi que ce soit.
- INSEE et Eurostat — données démographiques et économiques, propres, documentées, avec des identifiants géographiques stables.
- Kaggle — concours et jeux de données. L'intérêt principal n'est pas la compétition mais les notebooks publics et les discussions post-mortem.
- OpenML et UCI Machine Learning Repository — jeux de données standardisés, utiles pour comparer des méthodes sur un terrain connu.
- Hugging Face Datasets — texte, image, audio, avec un chargement uniforme.
- Papers with Code — le lien entre un article, son code et ses résultats de référence.
Un conseil qui vaut plus que la liste. Un projet mené sur des données qu'on a soi-même collectées et nettoyées enseigne davantage que dix jeux de données propres. C'est précisément le pari du module 28 : la moitié de la difficulté réelle disparaît quand on télécharge un CSV déjà prêt.
6. Lire un article, se tenir à jour
Lire un article en trois passes
La méthode de Keshav, qui économise énormément de temps :
- Cinq minutes — titre, résumé, introduction, titres de sections, conclusion. Objectif : décider si l'article mérite la suite. Quatre-vingts pour cent s'arrêtent ici, et c'est normal.
- Une heure — lecture complète en ignorant les démonstrations, mais en regardant attentivement figures et tableaux. Objectif : pouvoir résumer l'idée et les preuves apportées à quelqu'un d'autre.
- Plusieurs heures — reconstituer l'article : refaire les calculs, réimplémenter la méthode. Réservé aux articles dont on a réellement besoin.
Une quatrième étape, souvent la plus instructive : chercher qui a cité l'article depuis, et ce qui n'a pas tenu.
Une veille qui tient dans une heure par semaine
- arXiv, catégories
cs.LGetstat.ML— lire les titres, pas les articles. - Papers with Code et les classements par tâche, pour savoir ce qui est réellement l'état de l'art.
- Une ou deux infolettres — The Batch (Andrew Ng), Ahead of AI (Sebastian Raschka), Import AI.
- Les proceedings de NeurIPS, ICML, ICLR et KDD : parcourir les titres des articles primés donne une carte du domaine en une heure par an.
- Les notes de version des bibliothèques que vous utilisez. Moins glamour, bien plus rentable : c'est là qu'on apprend qu'une fonction qu'on écrivait à la main existe désormais.
Le piège de la veille. Le domaine produit plus d'articles qu'aucun humain ne peut en lire, et la nouveauté n'est presque jamais ce dont un projet a besoin. Un gradient boosting bien réglé sur des variables bien construites bat, dans la grande majorité des cas tabulaires, l'architecture publiée la semaine dernière. Consacrez l'essentiel du temps disponible à approfondir les fondations — elles ne se périment pas.