Aller au contenu

~/teaching · machine learning · séance 1, mercredi 14 octobre 2026

Cadrer avant de modéliser, puis les moindres carrés : décision, fuites de données, équations normales et conditionnement

Séance 1 du cours de Machine Learning : écrire la décision d'abord, puis résoudre la régression comme une projection.

Résumé

Cette séance ouvre le cours de Machine Learning de Centrale Méditerranée (option DDEFI, 2026-2027). Elle a deux moitiés qui semblent sans lien et ne le sont pas. La première cadre un projet avant toute ligne de code : quelle décision le modèle sert, ce que la colonne cible enregistre vraiment, quelles deux métriques sont lues et par qui, quelles limites le modèle doit respecter, et comment les données peuvent faire entrer le futur dans l'apprentissage. La seconde prend le modèle le plus simple qui soit, la droite ajustée par moindres carrés, et la lit de quatre façons : comme une minimisation, comme un système linéaire, comme une projection orthogonale et comme un calcul sur une machine qui arrondit.

Le fil rouge du cours est un score de défaut de crédit construit sur les données UCI Default of Credit Card Clients (Taïwan, 2005, licence CC BY 4.0). La partie moindres carrés travaille sur cinq clients fictifs, assez peu nombreux pour vérifier chaque nombre à la main, puis sur California Housing en travaux pratiques.

À la fin de la séance, on sait écrire en cinq lignes la décision, la cible, les métriques et un garde-fou d'un projet, dresser une carte des fuites avant d'ouvrir le fichier, établir les équations normales, montrer pourquoi le résidu est perpendiculaire à chaque colonne de la matrice des variables, et expliquer pourquoi aucune bibliothèque sérieuse ne calcule l'inverse de XTXX\T X.

Les slides

Cadrer avant de modéliser, puis les moindres carrés

Séance 1, mercredi 14 octobre 2026. Machine Learning, Centrale Méditerranée, option DDEFI, 2026-2027.

Ouvrir les slides (mot de passe donné par l'enseignant)

Le deck lui-même est chiffré pour les élèves du cours ; cette page le résume pour tous.

La page du cours · L'attention et le transformer, pas à pas

Plan du deck

  1. Cadrer un projet de ML. La décision, la question, la cible, les deux métriques, les garde-fous, la boucle de travail et la chaîne de données.
  2. Activité en équipe, sur papier. Chaque équipe de trois écrit cinq lignes signées qui cadrent le projet fil rouge et ouvriront ensuite son dépôt.
  3. Le critère et les équations normales. De la somme des écarts au carré à son gradient, puis à un système linéaire p×pp \times p, vérifié sur cinq clients.
  4. Projection, matrice chapeau et R². Les valeurs ajustées sont la projection orthogonale des observations, et Pythagore donne la décomposition de la variance.
  5. Gauss-Markov. Pourquoi les moindres carrés plutôt qu'une autre droite sans biais, et d'où vient l'écart-type d'un coefficient.
  6. SVD, conditionnement et colinéarité. La même solution écrite pour une machine qui arrondit, et ce qui arrive quand deux colonnes se ressemblent presque.
  7. Histoire et usage en 2026. De Legendre et Gauss à Golub et Kahan, et pourquoi la droite reste le premier modèle de tout projet.
  8. TP : ols(X, y) de trois façons. Équations normales, SVD et scikit-learn doivent coïncider, avec des contrôles géométriques et un conditionnement noté.

Partir de la décision, pas des données

Un modèle ne vaut la peine que si quelqu'un agira autrement après avoir lu sa sortie, donc on écrit la décision avant tout le reste.

Le réflexe, quand un CSV arrive, est de l'ouvrir et d'y chercher des motifs. Le cours demande l'ordre inverse. On écrit d'abord qui décide, entre quelles options, et ce que coûte chaque type d'erreur. Sur le projet fil rouge, un analyste crédit accepte, refuse ou envoie un dossier en revue manuelle, un comité fixe le seuil, et accepter un client qui fera défaut coûte plus cher que d'écarter un bon client. Cette asymétrie fixera la métrique et, plus tard dans le cours, le seuil.

Un objectif flou comme prédire le défaut est un verbe et une colonne, pas une question. Une question exploitable nomme quatre éléments : une décision, une mesure du succès, un périmètre (ce portefeuille, ce mois-ci) et un responsable qui agira sur la réponse. S'il en manque un, le projet finit souvent par optimiser un chiffre que personne ne lit.

La cible est une trace datée

La variable cible (target) est la colonne que le modèle apprend, et ce n'est jamais le phénomène lui-même. Dans les données de crédit, c'est un retard de paiement le mois suivant, enregistré selon la règle de la banque pour octobre 2005. Un client en retard en octobre qui régularise en novembre compte comme un défaut ; un client qui disparaît avec toute sa ligne de crédit en décembre, non. La cible n'est donc ni un « mauvais client » ni une perte en euros. La première question à poser au métier : comment la colonne a été construite, par qui, et à quelle date sa valeur est connue.

Retour au sommaire.

Deux métriques, le piège de l'exactitude et les garde-fous

Un chiffre aide l'équipe data à choisir entre deux modèles, un autre dit au métier s'il faut déployer, et aucun des deux n'est l'exactitude.

Le cours sépare une métrique de modèle et une métrique métier, parce qu'elles n'ont pas les mêmes lecteurs. La métrique de modèle (log-loss, AUC, score de Brier) se calcule à chaque entraînement sur la partie validation et doit réagir aux petites améliorations. La métrique métier s'exprime en euros perdus ou en bons clients refusés, et le comité de crédit la lit après déploiement. Les deux sont fixées dans le journal des décisions avant le premier entraînement.

Tableau 1 : Le modèle constant qui répond toujours « pas de défaut ». L'exactitude le récompense, le rappel montre qu'il ne détecte rien.
PortefeuillePart de défautsExactitude du modèle constantDéfauts détectés
Exemple de crédit à la consommation2 %98 %0 %
Projet du cours (UCI Default)22,1 %77,9 %0 %

Dès qu'une classe est rare, l'exactitude flatte un modèle qui n'a rien appris. Ce modèle constant reste utile : il devient le premier modèle de référence (baseline) du projet, et sa log-loss, égale à l'entropie de la cible, est le plancher que tout vrai modèle doit battre.

Les garde-fous, écrits avant l'entraînement

Un garde-fou (guard-rail) est une limite posée au modèle avant qu'il existe. Le cours en retient quatre.

  • Ce que le modèle ne fait jamais. Il ne refuse pas un client seul, et il n'utilise pas le sexe, ni directement ni par une variable qui le trahit. La situation matrimoniale reste en entrée, sous audit : on la garde seulement si elle apporte quelque chose au-delà de l'historique de paiement et si l'écart de traitement qu'elle crée se justifie.
  • Qui signe. Une personne nommée valide le seuil et le déploiement.
  • Quand on arrête. Les critères d'arrêt (AUC sous la référence, dérive des entrées, réclamation étayée) sont écrits avant le modèle, pour qu'on ne puisse pas les ajuster au résultat.
  • La réglementation. La notation de crédit des personnes physiques est un usage à haut risque au sens de l'annexe III, point 5(b), du règlement européen sur l'IA (règlement (UE) 2024/1689), avec des obligations de documentation, de contrôle humain et de journalisation.

Retour au sommaire.

Fuites de données : jointure datée, coupe gelée, carte des fuites

Un modèle qui a vu des informations postérieures à la date de prédiction brille en développement et échoue en production, d'où un ordre strict de préparation.

Le cours présente le projet comme une boucle plutôt qu'une chaîne : une évaluation peut révéler une fuite de données (data leakage), la fuite modifie la carte des données, la carte modifie la question. Chaque tour est consigné dans un journal des décisions, avec la date, l'option écartée, la raison et un chiffre qu'une commande reproduit. À l'intérieur d'un tour, en revanche, l'ordre des étapes est fixé.

Les étapes de données, dans l'ordre

  1. Sources. Lister chaque table avec sa licence et la définition exacte de chaque colonne.
  2. Jointure datée. Une jointure à date de validité (point-in-time join) : pour prédire à la date tt, ne garder que les enregistrements datés t′≤tt' \le t. Dans les données de crédit, les variables s'arrêtent fin septembre 2005 et la cible porte sur octobre ; tout ce qui est connu après est interdit.
  3. Coupe gelée. Découper apprentissage, validation et test, en stratifiant sur la cible pour que chaque partie garde 22,1 % de défauts, et figer la coupe par une graine aléatoire et l'empreinte SHA-256 du fichier. Le jeu de test ne s'ouvre qu'une fois, au jalon.
  4. Carte des fuites. La carte des fuites (leakage map) compte une ligne par colonne : quand elle est connue, si on peut l'utiliser, et pourquoi. Elle se rédige à partir des définitions des colonnes, donc avant même de regarder les données.
  5. Modèle. Seulement maintenant, et le premier modèle est une constante.

Remarque (La fuite la plus fréquente en pratique). Joindre naïvement plusieurs tables prend la version actuelle de chaque ligne au lieu de celle connue à la date de prédiction. Le modèle a alors vu le futur, et aucun score de validation ne le révélera.

Retour au sommaire.

Moindres carrés et équations normales

On cherche la droite qui rend la somme des écarts verticaux au carré la plus petite possible, et annuler la pente de cette somme donne un petit système linéaire.

On range les nn observations dans un vecteur yy et les variables dans une matrice X∈Rn×pX \in \R^{n\times p} dont la première colonne ne contient que des 1, pour la constante. Le modèle s'écrit y=Xβ+εy = X\beta + \varepsilon, et les moindres carrés ordinaires (ordinary least squares, OLS) choisissent le β\beta qui minimise la norme au carré du résidu.

J(β)=∥y−Xβ∥2=yTy−2 βTXTy+βTXTX βJ(\beta) = \lVert y - X\beta \rVert^2 = y\T y - 2\,\beta\T X\T y + \beta\T X\T X\,\beta
(1)

Le développement n'utilise que deux faits : la transposée d'un produit inverse l'ordre, et un scalaire est égal à sa transposée, si bien que les deux termes croisés fusionnent. La dérivation utilise deux règles : le gradient de βTb\beta\T b vaut bb, celui de βTAβ\beta\T A\beta vaut 2Aβ2A\beta quand AA est symétrique.

∇J(β)=−2 XT(y−Xβ)\nabla J(\beta) = -2\,X\T (y - X\beta)
(2)

En annulant ce gradient, on obtient les équations normales (normal equations), un système de pp équations à pp inconnues :

XTX β^=XTy⟹β^=(XTX)−1XTy  si rang⁡(X)=pX\T X\,\hat\beta = X\T y \qquad\Longrightarrow\qquad \hat\beta = (X\T X)^{-1} X\T y \ \text{ si } \operatorname{rang}(X) = p
(3)

Un gradient nul suffit parce que JJ est convexe : sa hessienne 2XTX2X\T X est semi-définie positive (la preuve vient avec l'optimisation convexe). XTXX\T X est inversible exactement quand aucune colonne de XX n'est combinaison des autres, ce qui exclut par exemple le même montant en euros et en milliers d'euros.

Exemple chiffré : cinq clients

Le cours prend cinq clients fictifs : une ancienneté x=(1,2,3,4,5)x = (1, 2, 3, 4, 5) ans et un solde moyen y=(2,3,5,4,6)y = (2, 3, 5, 4, 6) en milliers d'euros. Une droite tracée à la main, y^=1+x\hat y = 1 + x, laisse une somme des carrés de 2,0. Une autre droite fait-elle mieux ?

Pas à pas

  1. Quatre sommes. n=5n = 5, ∑xi=15\sum x_i = 15, ∑xi2=55\sum x_i^2 = 55, ∑yi=20\sum y_i = 20, ∑xiyi=69\sum x_i y_i = 69 ; donc XTXX\T X a pour lignes (5,15)(5, 15) et (15,55)(15, 55), et XTy=(20,69)X\T y = (20, 69).
  2. Deux équations. 5β0+15β1=205\beta_0 + 15\beta_1 = 20 et 15β0+55β1=6915\beta_0 + 55\beta_1 = 69. En retranchant trois fois la première de la seconde, il reste 10β1=910\beta_1 = 9.
  3. Solution. β^1=0.9\hat\beta_1 = 0.9, puis β^0=(20−13.5)/5=1.3\hat\beta_0 = (20 - 13.5)/5 = 1.3. La droite y^=1.3+0.9x\hat y = 1.3 + 0.9x laisse 1,9, moins que 2,0.
  4. Vérification. En (1,1)(1, 1), le gradient vaut (0,2)(0, 2) et non zéro : la droite tracée à la main n'était pas le minimum.

Retour au sommaire.

Les valeurs ajustées sont une projection : matrice chapeau, Xᵀe = 0, R²

La meilleure droite est le point du plan engendré par les colonnes le plus proche des données, donc l'erreur restante forme un angle droit avec ce plan.

En reportant β^\hat\beta dans y^=Xβ^\hat y = X\hat\beta, une matrice apparaît devant yy : la matrice chapeau (hat matrix), ainsi nommée parce qu'elle pose le chapeau sur yy. Elle est de taille n×nn \times n, alors que XTXX\T X n'est que p×pp \times p.

y^=Hy,H=X(XTX)−1XT,H2=H=HT\hat y = Hy, \qquad H = X(X\T X)^{-1}X\T, \qquad H^2 = H = H\T
(4)

Les deux identités de droite disent que HH est un projecteur orthogonal (orthogonal projection) : projeter deux fois ne change rien, et la projection n'est pas oblique. Tout XβX\beta vit dans l'espace engendré par les colonnes de XX ; le yy observé, non. Le point le plus proche de cet espace est le pied de la perpendiculaire, y^\hat y, et le résidu e=y−y^e = y - \hat y est perpendiculaire à chaque colonne. C'est la condition de gradient nul, lue comme de la géométrie.

XTe=0,∥y−Xβ∥2=∥e∥2+∥X(β^−β)∥2 ≥ ∥e∥2X\T e = 0, \qquad \lVert y - X\beta\rVert^2 = \lVert e\rVert^2 + \lVert X(\hat\beta - \beta)\rVert^2 \ \ge\ \lVert e\rVert^2
(5)

La seconde formule prouve les moindres carrés sans dérivée : l'écart à n'importe quelle autre droite est le résidu plus un morceau situé dans le plan, et Pythagore fait disparaître le terme croisé.

Tableau 2 : Les cinq clients avec la droite des moindres carrés. Les deux colonnes de produits scalaires somment à zéro : le résidu est orthogonal à la colonne de 1 et à la colonne des anciennetés.
Clientxyŷex · e
1122,2−0,2−0,2
2233,1−0,1−0,2
3354,01,03,0
4444,9−0,9−3,6
5565,80,21,0
Somme152020,00,00,0

Sur les mêmes nombres, Pythagore tombe juste : ∥y∥2=90=88.1+1.9\lVert y\rVert^2 = 90 = 88.1 + 1.9, et pour la droite tracée à la main 2.0=1.9+0.12.0 = 1.9 + 0.1. La trace de HH vaut p=2p = 2, un contrôle rapide.

Le R² exige la constante

SST=SSR+SSE,R2=1−SSESST=SSRSSTsi 1∈Im⁡(X)\text{SST} = \text{SSR} + \text{SSE}, \qquad R^2 = 1 - \frac{\text{SSE}}{\text{SST}} = \frac{\text{SSR}}{\text{SST}} \quad \text{si } \mathbf{1} \in \operatorname{Im}(X)
(6)

Avec les cinq clients, prédire la moyenne 4 pour tout le monde laisse SST=10\text{SST} = 10, la droite laisse SSE=1.9\text{SSE} = 1.9, d'où un coefficient de détermination (coefficient of determination, R²) de 0,81. Le partage de la variance totale repose sur des résidus de somme nulle, ce qui n'est garanti que si la colonne de 1 est dans le modèle. Sans elle, la formule usuelle peut devenir négative : le cours montre un ajustement à deux points passant par l'origine qui donne R2=−3R^2 = -3. Un R² négatif dans un rapport signale presque toujours une constante oubliée, ou un score de test calculé après une fuite.

Remarque (Gauss-Markov, en bref). Si le bruit est centré, de covariance σ2I\sigma^2 I (sans hypothèse de normalité), β^\hat\beta est sans biais, de variance σ2(XTX)−1\sigma^2 (X\T X)^{-1}, et aucun autre estimateur linéaire sans biais n'a une variance plus petite. Sur les cinq clients, la pente des moindres carrés a une variance de 0.100 σ20.100\,\sigma^2, contre 0.125 σ20.125\,\sigma^2 pour la pente qui relie le premier et le dernier client. Avec σ^2=∥e∥2/(n−p)=0.633\hat\sigma^2 = \lVert e\rVert^2/(n-p) = 0.633, cela donne un écart-type de 0,252 contre 0,281.

Retour au sommaire.

Conditionnement et SVD : pourquoi on n'inverse jamais XᵀX

Un ordinateur arrondit chaque nombre, et former XᵀX élève au carré l'amplification possible de ces arrondis, donc les bibliothèques résolvent autrement.

La décomposition en valeurs singulières (singular value decomposition, SVD) écrit X=UΣVTX = U\Sigma V\T : UU a des colonnes orthonormées qui engendrent le même plan que XX, Σ\Sigma porte les valeurs singulières σ1≥⋯≥σp>0\sigma_1 \ge \dots \ge \sigma_p > 0, et VV est une rotation des coefficients. Dans cette base, la solution ne demande aucune inversion de matrice, seulement des divisions, et la matrice chapeau devient UUTUU\T.

β^=VΣ−1UTy=∑j=1pujTyσj vj,κ(X)=σ1σp,κ(XTX)=κ(X)2\hat\beta = V\Sigma^{-1}U\T y = \sum_{j=1}^{p} \frac{u_j\T y}{\sigma_j}\, v_j, \qquad \kappa(X) = \frac{\sigma_{1}}{\sigma_{p}}, \qquad \kappa(X\T X) = \kappa(X)^2
(7)

Chaque composante de yy selon uju_j est divisée par σj\sigma_j : une petite valeur singulière amplifie tout ce qui tombe dans sa direction, bruit compris. Le nombre de conditionnement (condition number) κ\kappa borne cette amplification : une erreur relative sur les données peut être multipliée jusqu'à κ\kappa sur les coefficients. Former XTXX\T X l'élève au carré. Avec κ=104\kappa = 10^4, la machine travaille à 10810^8, ce qui consomme déjà la moitié des chiffres significatifs d'un double. C'est pourquoi np.linalg.lstsq passe par la SVD et d'autres solveurs par QR, jamais par (XTX)−1(X\T X)^{-1}.

Tableau 3 : Mêmes cinq clients, même droite, mêmes prédictions. Seule l'unité de l'ancienneté change, et avec elle le conditionnement. Données fictives du cours.
Unité de l'anciennetéκ(X)κ(XᵀX)
Années (1 à 5)8,470
Mois (12 à 60)938 721

La réponse pratique : standardiser les colonnes et noter np.linalg.cond(X) avant de livrer un modèle. En TP, sur California Housing brut, κ(X)\kappa(X) avoisine 2⋅1052\cdot 10^5 ; après standardisation il tombe vers 7 et les trois implémentations coïncident à 10−1310^{-13} près.

La colinéarité

Quand deux colonnes sont presque parallèles, la colinéarité (multicollinearity) fait que la direction qui les sépare est à peine présente dans les données : sa valeur singulière est minuscule et la variance σ2/σj2\sigma^2/\sigma_j^2 le long de cette direction explose. Le cours ajoute aux cinq clients une seconde mesure de l'ancienneté, un peu bruitée, corrélée à 0,998 avec la première. Les coefficients sautent à −1.29-1.29 et +2.26+2.26, avec des écarts-types proches de 5, et κ(X)\kappa(X) passe de 8,4 à 85. Leur somme, 0,97, reste proche de la pente initiale 0,9, et la prédiction du client 3 ne bouge que de 4,00 à 4,23 : les données fixent l'effet total, pas son partage. Les remèdes : retirer une colonne, ou la régularisation ridge, qui ajoute λ\lambda à chaque σj2\sigma_j^2.

import numpy as np

x = np.array([1, 2, 3, 4, 5.])
y = np.array([2, 3, 5, 4, 6.])
X = np.column_stack([np.ones(5), x])

# Par la SVD, des divisions, aucune inverse
U, s, Vt = np.linalg.svd(X, full_matrices=False)
beta = Vt.T @ ((U.T @ y) / s)      # [1.3, 0.9]
e = y - X @ beta
print(X.T @ e)                     # ~[0, 0], résidu orthogonal
print(s[0] / s[-1])                # conditionnement, environ 8,4

Retour au sommaire.

À retenir

  1. Écrire la décision, son responsable et le coût de chaque erreur avant de toucher aux données ; la cible, la métrique et le seuil en découlent.
  2. La cible est un enregistrement daté produit par une règle, pas le phénomène, et l'exactitude trompe dès qu'une classe est rare.
  3. Protéger l'évaluation dans un ordre fixe : jointure datée, coupe gelée par graine et empreinte du fichier, carte des fuites, puis une référence constante.
  4. Les moindres carrés résolvent les équations normales XTXβ^=XTyX\T X\hat\beta = X\T y ; géométriquement, y^=Hy\hat y = Hy est une projection orthogonale et XTe=0X\T e = 0.
  5. Le R² ne partage proprement la variance que si le modèle contient la constante, et un R² négatif signale en général une constante oubliée ou une fuite.
  6. Vérifier κ(X)\kappa(X) avant de livrer, standardiser les colonnes, et résoudre par SVD ou QR, jamais par (XTX)−1(X\T X)^{-1}.

Glossaire

moindres carrés ordinaires (ordinary least squares, OLS)
Estimation d'un modèle linéaire par minimisation de la somme des carrés des résidus.
équations normales (normal equations)
Le système p×pp \times p, XTXβ^=XTyX\T X\hat\beta = X\T y, que vérifie la solution des moindres carrés.
matrice chapeau (hat matrix)
H=X(XTX)−1XTH = X(X\T X)^{-1}X\T, qui envoie les observations yy sur les valeurs ajustées y^\hat y.
projecteur orthogonal (orthogonal projection)
Application linéaire telle que H2=H=HTH^2 = H = H\T ; elle envoie un vecteur sur le point le plus proche d'un sous-espace.
coefficient de détermination (coefficient of determination, R²)
Part de la variance autour de la moyenne retirée par le modèle, 1−SSE/SST1 - \text{SSE}/\text{SST}.
décomposition en valeurs singulières (singular value decomposition, SVD)
Factorisation X=UΣVTX = U\Sigma V\T en colonnes orthonormées, valeurs singulières et rotation.
nombre de conditionnement (condition number)
Rapport de la plus grande à la plus petite valeur singulière ; il borne l'amplification des erreurs relatives.
colinéarité (multicollinearity)
Dépendance presque linéaire entre colonnes, qui gonfle la variance de chaque coefficient pris seul.
fuite de données (data leakage)
Information indisponible au moment de prédire qui atteint les données d'apprentissage et gonfle les scores.
jointure à date de validité (point-in-time join)
Jointure qui ne garde, pour une prédiction à la date tt, que les enregistrements connus à tt ou avant.
carte des fuites (leakage map)
Tableau d'une ligne par colonne : quand elle est connue, si on peut l'utiliser, et pourquoi.
modèle de référence (baseline)
Le modèle le plus simple, ici une prédiction constante, que tout modèle utile doit battre.
variable cible (target)
La colonne que le modèle apprend : une trace datée du phénomène, enregistrée selon une règle.
garde-fou (guard-rail)
Limite posée au modèle avant l'entraînement : variables exclues, signataire, critères d'arrêt.

Les autres fiches du cours

Un résumé public par deck, dans l'ordre du cours.

  1. IntroductionHivers de l'IA, emploi et méthode
  2. OutilsKaggle, GitHub, Python : les outils
  3. Séance 1Cadrage de projet et moindres carrés
  4. Séance 2Vraisemblance et régression logistique
  5. Séance 3Descente de gradient, ridge et lasso
  6. Séance 4Seuil de décision et ML reproductible
  7. DevoirUn modèle de référence défendable
  8. Séance 5Noyaux, SVM et arbres de décision
  9. Séance 6Forêts, boosting, comparaison honnête
  10. Séance 7SHAP, équité, ACP et partitionnement
  11. DevoirUn modèle champion documenté
  12. Séance 8Réseaux de neurones, dérive, prédiction conforme
  13. DevoirUn projet de machine learning livré
  14. Séance 9Soutenir un projet de machine learning
  15. RéférenceProjet de score de défaut de crédit
  16. RéférenceRendements boursiers : XGBoost et sentiment
  17. RéférenceLe code Python de chaque modèle
  18. RéférenceDeep learning, l'essentiel
  19. RéférenceDonnées ouvertes et projets par secteur
  20. RéférenceManuel de l'expert data et IA
  21. RéférenceData engineering, SRE et cloud
  22. RéférencePanorama des modèles de machine learning

Toutes les fiches, en liste de lecture

L'attention et le transformer, pas à pas

À propos de ces fiches

Écrites par l'enseignant à partir des slides du deck, comme un résumé public : les idées clés, les formules et un exemple calculé. Les exercices, leurs corrigés, les contrôles et la notation restent dans le deck, pour les élèves du cours.

Révision : .