Introduction à l'apprentissage automatique
Tronc commun scientifique Mines Nancy FICM2A
|
|
Notes importante aux étudiants: consultez
préférentiellement la page Arche du cours
(en particulier pour les corrections)
Support de cours:
poly_apprauto_FSur.pdf
Pourquoi enseigne-t-on l'apprentissage automatique à Mines Nancy?:
Un texte écrit à l'occasion de la journée IA et Génie Civil 2023
Références bibliographiques (disponibles à la médiathèque du campus et en ligne):
- C. Bishop,
Pattern recognition and machine learning, Springer, 2006.
- B. Efron and T. Hastie,
Computer age statistical inference, Cambridge University Press, 2016.
- T. Hastie, R. Tibshirani, J. Friedman,
The elements of statistical learning, 2nd edition, Springer 2008.
- I. Goodfellow, Y. Bengio, A. Courville,
Deep learning, MIT Press, 2016.
- G. Thomas,
Mathematics for machine learning, University of California at Berkeley, 2018.
Link
- F. Fleuret,
The little book of deep learning, Université de Genève, 2023.
Link
Pour utiliser vos machines personnelles (facultatif)
Installez Python, Numpy, Scikit-learn, Jupyter par l'intermédiaire de la
distribution Anaconda. Si Anaconda est déjà installé sur
votre machine, réinstallez la dernière version svp.
Suivez les
instructions de la documentation pour l'installation selon votre OS.
Attention, sous Windows: il ne doit pas y avoir d'espace ou de caractère exotique dans le chemin d'installation. Le plus simple est d'installer dans c:\anaconda (en mode administrateur).
Pour vérifier que votre installation est correcte, exécutez le tutoriel ci-dessous.
Révision programmation Python (fortement recommandé).
Faites ce
tutoriel (adapté de
celui-ci) pour vous rafraîchir les idées en programmation Python, Numpy, Scipy, Matplotlib.
Vous pouvez utiliser la
version interactive de ce tutoriel (comptez quelques dizaines de secondes de démarrage; cliquez sur exécuter après avoir sélectionné une cellule de code).
Un tutoriel Python complet est disponible sur
python.org.
TP et Jupyter notebook (à lire avant les TP)
Les TP prendront la forme de carnets (notebooks) Jupyter. Je vous déconseille d'utiliser JupyterLab.
Créez un répertoire par TP dans lequel vous sauvegarderez vos documents.
Documentation officielle de Jupyter notebook.
Binder
A titre expérimental, vous trouverez sur le Gitlab du cours un lien web permettant de faire tourner les TP sur mybinder.org. Cela devrait vous permettre d'utiliser votre machine personnelle sans aucune installation. Attention: n'oubliez pas de sauvegarder votre travail régulièrement et surtout avant de quitter mybinder (onglet download).
Quelques bases de données
pour s'entraîner en autonomie: OpenML, UCI machine learning repository, challenge data à l'ENS,
DGML de l'Etalab, liste sur wikipedia...
Calendrier et matériel
Les sujets des travaux pratiques sont
téléchargeables à chaque
séance sur Arche ou sur le Gitlab de l'Université de Lorraine
Séance 1:
21 novembre
2023. Introduction, vocabulaire, malédiction de la dimension.
Transparents.
Séance 2:
28 novembre
2023. Apprentissage non-supervisé (partitionnement), dilemme biais-fluctuation et sélection de modèle .
Transparents.
Séance
3:
5 décembre
2023. Théorie statistique de la décision et applications.
Transparents.
Séance
4:
12 décembre
2023. Machines à vecteurs supports et astuce du noyau.
Transparents.
Séance
5:
19 décembre
2023. Réseaux de neurones artificiels.
Transparents.
Séance
6:
9 janvier 2024. Introduction aux réseaux de neurones convolutifs et à l'apprentissage profond.
Transparents.
Séance
7:
16janvier
2024.
Examen.
Séance bonus: Un exemple d'application: la classification d'images par représentation sac de mots visuels.
Présentation du problème: ici (jusqu'au slide 50), ici (jusqu'au slide 41) ou là .
Exercices: feuille de TP.
Script: TPbonus_code.py
Données: Caltech_small.zip, sous ensemble de Caltech101.
Éléments de correction: TPbonus_exercice1_eleves.py, TPbonus_exercice2_eleves.py