Apprentissage automatique I : analyse des mégadonnées et prise de décision
MATH 60629

Automne 2024

[Horaire]  [Évaluations]  [Références]  [English


Professeur: Laurent Charlin

Horaire: Je donne ce cours deux fois cet automne.

Jour/Heure Section Salle de classe
Mercredi 8:30am --11:30am J02 (Français) Decelles, Natashquan
Mardi 15:30pm -- 18:30pm J01 (English) Decelles, Natashquan

Heure de bureau: mercredi 1pm--2pm (Salle 4.830)

Description:
Ce cours porte sur les modèles d'apprentissage automatique (machine learning). En plus des modèles standards, nous étudierons aussi les modèles pour analyser les comportements des utilisateurs ainsi que pour la prise de décision.
Nous étudierons les modèles d'apprentissage automatique pour l'apprentissage supervisé, non supervisé et comment ils peuvent être étendus aux données massives à l'aide de techniques de calcul à grande échelle (p. ex., grappe d'ordinateurs). Nous étudierons en plus des modèles récents pour les systèmes de recommandations.

**Déroulement du cours:** Le cours se donnera en format pédagogie inversée (et aussi ici). C'est une approche pédagogique dans laquelle les étudiants apprennent la matière avant de venir en classe. Le matériel du cours sera donc disponible sous forme de vidéos ou de lectures. Le temps en classe sera réservé pour de la pédagogie plus active par exemple avec des activités comme la résolution de problèmes, les démonstrations et les séances de questions-réponses. De plus, les classes démarreront par un court résumé de la matière de la semaine.

**Niveau mathématique:** Les étudiants doivent avoir une maturité mathématique.

**Niveau de programmation:** Les étudiants devront connaître le langage Python pour suivre ce cours. Si vous ne le connaissez pas, voici quelques options pour l'apprendre. Je recommande fortement la première (Data Camp) ou la seconde (HEC CAMS).

  1. Cours en ligne. DataCamp. Étudiez les chapitres 1 à 3 du cours Introduction to Python (utilisez le lien que je vous ai envoyé pour accéder aux chapitres 2 et 3).
  2. Cours. HEC CAMS propose des cours d'introduction à Python en septembre (en français). Vous pouvez vous inscrire ici: inscriptions CAMS
  3. Voici le tutoriel que j'ai utilisé en 2018: Fall 2018 tutorial (en anglais). Bien que je conseille plutôt les deux premières options, celle-ci peut vous donner une idée du niveau minimal souhaitable pour le cours.

En plus, un tutoriel sur l'apprentissage automatique utilisant le Python sera offert à la semaine 4 du cours.



Horaire Hebdomadaire

  1. 08/28. Introduction au cours et rappels mathématiques. [diapos fr]
  2. 09/04. Les fondements de l'apprentissage automatique
  3. 09/11. Modèles d'apprentissage supervisé
  4. 09/18. Python pour la programmation scientifique et pour l'apprentissage automatique [Séance pratique]
    • Le tutoriel à suivre est ici, Solutions.
    • Je vous recommande de démarrer le tutoriel la semaine avant le cours et de le terminer pendant le cours.
  5. 09/25. Réseaux de neurones et apprentissage profond
  6. 10/02 Réseaux de neurones récurrents et réseaux de neurones à convolutions
  7. 10/09. Apprentissage Non supervisé
  8. 10/16. Semaine d'étude (pas de cours)
  9. 10/23. Rencontre en équipe à propos du projet
  10. 11/06. Calcul parallèle pour données massives
  11. 11/13. Systèmes de recommandations
  12. 11/20. Attention et Transformeurs
    • Cette séance ne sera pas donnée en pédagogie inversée.
  13. 1l/27 Modèles génératifs modernes
    • Cette séance ne sera pas donnée en pédagogie inversée.
  14. 12/04. Présentations des projets


Évaluations

  1. Devoir (20%)
    • Disponible au début d'octobre
    • Date de remise: 18 octobre.
  2. Projet (30%)
  3. Présentation du projet (10%)
  4. Examen final (30%)
    • Date: 8 décembre, Heure: 13h30--16h30,
    • Documentation permise: une feuille de notes recto-verso (format 8.5 x 11) et une calculatrice.
    • Matière à examen: tout ce que l'on a vu en classe ainsi que les lectures obligatoires
    • Examens précédents: Automne 2018 (en anglais), Automne 2020 (Solutions en anglais)
  5. Résumés de capsules (10%)
    • Écrivez un court résumé (10 à 15 lignes du formulaire) sur 10 capsules de votre choix.
    • Le sommaire de la capsule doit être soumis avant le cours de cette capsule capsule (par exemple, un sommaire de la capsule "Learning Problems" devrait être soumise avec le 09/04)
    • Vous devez m'envoyer vos résumés en utilisant ce formulaire.


Références

  1. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition Hastie, Trevor, Tibshirani, Robert, Friedman, Jerome, 2009 [ESL]
  2. Deep Learning. Ian Goodfellow, Yoshua Bengio and, Aaron Courville. [DL]
  3. Reinforcement Learning : An Introduction Hardcover. Richard S. Sutton, Andrew G. Barto. A Bradford Book. 2nd edition [RL-Sutton-Barto]
  4. Machine Learning. Kevin Murphy. MIT Press. 2012. [ML-Murphy]
  5. Recommender Systems Handbook, Ricci, F., Rokach, L., Shapira, B., Kantor, P.B. 2011. [RSH]
  6. Data Algorithms : Recipes for Scaling Up with Hadoop and Spark 1st Edition. Mahmoud Parsian. O'Reilly. 2015 [DA]
  7. Python for Data Analysis : Data Wrangling with Pandas, NumPy, and IPython. Wes McKinney. O'Reilly. 2012 [PDA]
  8. Pattern Recognition and Machine Learning. Christopher Bishop. 2006 [PRML]
  9. Advanced Analytics with Spark. O'Reilly. Second Edition. 2017