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
    - C. Bishop, H. Bishop Deep learning - Foundations and concepts, Springer 2024. 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, 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.
    Un tutoriel Python complet est disponible sur  python.org.


Travaux pratiques: voir le dépôt Gitlab du cours

    Les TP prendront la forme de carnets (notebooks) Jupyter. Je vous déconseille d'utiliser JupyterLab.

    Ils sont disponible sur le Gitlab du cours.

    Créez un répertoire par TP dans lequel vous sauvegarderez vos documents.

    Documentation officielle de Jupyter notebook.   


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: 18 novembre 2025.  Introduction, vocabulaire, malédiction de la dimension.
Transparents.

   Séance 2: 25 novembre 2025.  Apprentissage non-supervisé (partitionnement), dilemme biais-fluctuation et sélection de modèle .
Transparents.

   Séance 3: 2 décembre 2025.  Théorie statistique de la décision et applications.
Transparents.

   Séance 4: 9 décembre 2025.  Machines à vecteurs supports et astuce du noyau.
Transparents.

   Séance 5: 16 décembre 2025.  Réseaux de neurones artificiels.
Transparents.

   Séance 6: 6 janvier 2026.  Introduction aux réseaux de neurones convolutifs et à l'apprentissage profond.
Transparents.

   Séance 7: 14 janvier 2026Examen.

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 .
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