Algorithms in data science

linma2472  2025-2026  Louvain-la-Neuve

Algorithms in data science
5.00 crédits
30.0 h + 22.5 h
Q1
Enseignants
Blondel Vincent; Calbert Julien (supplée Delvenne Jean-Charles); Delvenne Jean-Charles; Legat Benoît (coordinateur(trice));
Préalables
Une familiarité avec les mathématiques et l'algorithmique de tronc commun du bachelier ingénieur ou sciences informatiques (SINF) est requise. Plus particulièrement en algèbre linéaire et analyse (par exemple LEPL1101 et 1102), probabilités (par exemple LEPL1108), mathématiques discrètes (par exemple LINMA1691), algorithmique et programmation de base (par exemple LEPL1104 et LEPL1401). 
Thèmes abordés
L'objet du cours est d'explorer des questions principalement algorithmiques relatives aux défis posés par les données massives (Big Data).
Acquis
d'apprentissage

A la fin de cette unité d’enseignement, l’étudiant est capable de :

Eu égard au référentiel AA, ce cours contribue au développement, à l'acquisition et à l'évaluation des acquis d'apprentissage suivants :
  • AA1.1, AA1.2, AA1.3
  • AA3.1, AA3.2, AA3.3
  • AA4.1, AA4.2, AA4.4
  • AA5.1, AA5.2, AA5.3, AA5.5, AA5.6
  • AA6.1, AA6.2, AA6.3, AA6.4, AA6.5
Plus précisément, au terme du cours, l'étudiant·e sera capable de :
  • consulter une littérature généraliste ou spécialisée sur un thème précis couvert par le cours, en forger une synthèse qui contienne les messages et résultats importants;
  • expliquer à ses pairs ces messages et résultats de façon claire et précise;
  • résoudre des problèmes mathématiques en application à ces résultats;
  • mener une réflexion critique sur les limites des résultats ou la façon dont ils sont présentés;
  • relier les concepts vus dans la littérature aux concepts vus dans d'autres cours, malgré des notations ou interprétations variées;
  • implémenter des algorithmes sur des données réelles et poser un regard critique sur les résultats;
  • faire preuve d'esprit critique vis à vis d'une technologie et des impacts environnementaux et sociétaux qu'ils représentent.
 
Contenu
Ce cours explore la différentiation automatique (AD), technologie clé au cœur de l’apprentissage automatique moderne. Les étudiants apprendront les principes de l’AD en partant des approches scalaires et tensorielles, jusqu’aux techniques de différentiation du second ordre et des structures creuses. Le cours abordera également la différentiation de programmes d’optimisation. À travers des projets pratiques, les étudiants implémenteront leur propre moteur de différentiation automatique et l’utiliseront pour entraîner des réseaux de neurones et des transformeurs.
Le cours introduit également les méthodes à noyaux comme approche classique de l’apprentissage dans des espaces de grande dimension. Il se termine par une exploration des modèles génératifs pour des tâches sans supervision explicite, telles que la génération d’images, incluant les réseaux antagonistes génératifs (GAN), les autoencodeurs variationnels (VAE) et les modèles de diffusion.
Méthodes d'enseignement
Cours ex cathedra en partie qui présentent les concepts et algorithmes avec leur fondements théoriques, et projets avec rapports écrits et/ou présentation orale. Ces projets contiennent une bonne part d'implémentation d'algorithmes (en Python) et d'analyse de données. Il convient donc d'apprendre ce langage (notamment via les tutoriels proposés) si on ne le maîtrise pas déjà.
Modes d'évaluation
des acquis des étudiants
  • Travail réalisé pendant le quadrimestre: devoirs, exercices ou travaux pratiques. Ces activités ne sont donc organisées (et évaluées) qu'une seule fois par année académique.
  • Examen écrit, ou oral selon les circonstances.
  • Bonus points pour le meilleur projet our pour des contributions au ressources open source du cours.
La note finale est calculée comme suit. Soit HW la note des devoirs (sur 20) et EX la note d'examen (également sur 20). Si HW et EX sont tous deux supérieurs à 10, on prend leur moyenne. Si HW est inférieur à 5 ou EX est inférieur à 5, on utilise min(HW, EX). Pour interpoler entre ces cas, on définit une fonction de pondération f(x) = min(max(0, (x - 5)/10), 0.5). Si EX < HW, on calcule G1 = f(EX) * HW + (1 - f(EX)) * EX ; si HW < EX, on calcule G2 = (1 - f(HW)) * HW + f(HW) * EX. Autrement dit, la note combinée devoir + examen est min(G1, G2). Les points bonus sont ajoutés à cette note (sans dépasser 20).
Bibliographie
  • Evaluating Derivatives, A. Griewank and A. Walther
  • The Elements of Differentiable Programming, M. Blondel, V. Roulet
Faculté ou entité
en charge


Programmes / formations proposant cette unité d'enseignement (UE)

Intitulé du programme
Sigle
Crédits
Prérequis
Acquis
d'apprentissage
Master [120] en science des données, orientation statistique

Master [120] : bioingénieur en sciences et technologies de l'environnement

Master [120] en sciences mathématiques

Master [120] : bioingénieur en chimie et bioindustries

Master [120] : ingénieur civil en informatique

Master [120] en sciences informatiques

Master [120] : ingénieur civil en mathématiques appliquées

Master [120] : ingénieur civil en science des données

Master [120] : bioingénieur en sciences agronomiques

Master [120] en science des données, orientation technologies de l'information