Aller au contenu

~/teaching · machine learning · devoir 2

Sélection de modèle, honnêtement : intervalles corrigés, règle pré-enregistrée et fiche de modèle avec audit d'équité

Le deuxième jalon d'un projet de machine learning : opposer des challengers à la baseline et dire, preuves à l'appui, si l'un d'eux gagne

Résumé

Une fois une baseline défendable en place, la question suivante est de savoir si un modèle plus complexe fait vraiment mieux, et de combien une fois l'incertitude comptée. Cette note résume le sujet du devoir entre les deuxième et troisième blocs du cours de Machine Learning de Centrale Méditerranée (option DDEFI, 2026-2027). Le fil rouge reste le score de défaut de crédit sur les données UCI Default of Credit Card Clients (Yeh et Lien, 2009), construit au jalon de la baseline.

Le sujet demande une commande qui refait la comparaison de quatre modèles, un champion désigné par une règle écrite avant les résultats, une fiche de modèle avec audit d'équité, trois algorithmes programmés à la main et confrontés à scikit-learn, un résultat surprenant mis à l'épreuve, et une lecture des pires erreurs du champion.

Ce qui suit garde la méthode et laisse de côté la logistique de la classe et l'évaluation. C'est une liste de contrôle utilisable par quiconque doit rédiger un rapport de sélection de modèle qu'un validateur indépendant lira sans les auteurs dans la pièce.

Les slides

Devoir maison entre les blocs 2 et 3 : un modèle champion documenté

Devoir 2. 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. Où en est le projet. Une baseline calibrée et seuillée existe déjà ; cette étape ajoute des challengers.
  2. Ce qu'apporte le deuxième bloc. Noyaux, forêts, boosting, validation croisée imbriquée, SHAP, équité et EM, chacun nourrissant un livrable.
  3. Ce que contient un dossier de champion. Sept livrables, chacun un fichier ou une commande qu'un auditeur peut ouvrir ou lancer.
  4. Une commande pour la comparaison. Trois graines, cinq plis, un réglage imbriqué et une variance corrigée.
  5. Lire les intervalles. Quand une AUC plus haute ne fait pas un meilleur modèle.
  6. La règle pré-enregistrée du champion. Pourquoi la règle de sélection doit exister avant le tableau.
  7. Fiche de modèle et audit d'équité. Sept rubriques, et un audit qui ne s'arrête pas au retrait d'une colonne.
  8. Pièges et métier. Quatre erreurs classiques, et qui conteste le champion dans une banque.

De la baseline au champion

Un champion n'est pas le modèle au meilleur chiffre du tableau, mais celui qui bat la baseline d'un écart qu'on sait prouver.

La comparaison met quatre modèles sur un pied d'égalité : la régression logistique régularisée L1 du premier jalon comme référence, une forêt aléatoire, le gradient boosting, et un modèle à noyau (un SVC à noyau RBF ou une régression logistique sur caractéristiques de Fourier aléatoires, le choix étant justifié dans le journal). Les méthodes sont traitées dans noyaux, SVM et arbres de décision et forêts aléatoires et gradient boosting.

La question se pose honnêtement : un challenger bat-il la baseline une fois l'incertitude comptée ? Si aucun ne le fait, le modèle le plus simple reste le modèle champion (champion model). Ce n'est pas un échec du projet : c'est un résultat, souvent le plus utile pour une entreprise qui doit expliquer ses décisions.

Retour au sommaire.

Une commande, quinze mesures, une variance corrigée

Toute la comparaison doit se refaire d'une commande, et son incertitude doit tenir compte du fait que les plis de validation croisée partagent des données.

Une seule cible, make compare, lit le découpage figé et, pour chacune de trois graines, taille cinq plis dans la partie apprentissage et validation : quinze mesures d'AUC et de Brier par modèle. Les hyperparamètres se règlent dans chaque pli par validation croisée imbriquée (nested cross-validation), jamais sur le pli qu'on note. L'ensemble de test reste entièrement hors de la comparaison et ne sert qu'une fois, à la fin, pour le seul champion.

Les quinze mesures ne sont pas indépendantes, car les plis partagent leurs lignes d'apprentissage. La variance naïve de leur moyenne est donc trop petite. Nadeau et Bengio (2003) ont proposé une estimation corrigée qui l'augmente selon le rapport des tailles de test et d'apprentissage.

Var^corr=(1J+ntestntrain) s2\widehat{\mathrm{Var}}_{\text{corr}} = \Big(\frac{1}{J} + \frac{n_{\text{test}}}{n_{\text{train}}}\Big)\, s^2
(1)

Exemple chiffré : de combien l'intervalle s'élargit

  1. Compter. Trois graines fois cinq plis donnent J=15J = 15 mesures.
  2. Rapport. Chaque pli de validation fait le quart de la partie d'apprentissage, donc ntest/ntrain=1/4n_{\text{test}}/n_{\text{train}} = 1/4.
  3. Facteur naïf. Sans correction, la variance de la moyenne utilise 1/15≈0.0671/15 \approx 0.067.
  4. Facteur corrigé. Avec la correction, 1/15+1/4≈0.3171/15 + 1/4 \approx 0.317, soit 4,75 fois plus, et un intervalle environ 4.75≈2.2\sqrt{4.75} \approx 2.2 fois plus large.

Retour au sommaire.

Lire un intervalle de confiance honnêtement

Deux modèles dont les scores tombent dans l'incertitude l'un de l'autre n'ont pas été départagés, si tentante que soit la troisième décimale.

Chaque score s'écrit avec son intervalle de confiance (confidence interval) à 95 %, par exemple une AUC de 0,78 [0,76 ; 0,80], et jamais 0,7834 seul. Le tableau de comparaison a une ligne par modèle, l'AUC et le Brier moyens avec leurs intervalles corrigés, et une p-valeur corrigée pour le test apparié de chaque modèle contre la régression logistique.

Un cas illustratif tiré du sujet

  1. Les chiffres. Le gradient boosting affiche une AUC de 0,78 avec l'intervalle [0,76 ; 0,80] ; la baseline logistique affiche 0,77.
  2. La lecture naïve. « Le boosting gagne 0,01 » n'est pas une phrase que les données soutiennent, puisque 0,77 est dans l'intervalle du boosting.
  3. La bonne statistique. Les deux modèles étant notés sur les mêmes plis, on calcule la différence pli par pli et son intervalle corrigé.
  4. Le verdict. Si cet intervalle contient zéro, le gain n'est pas établi et le modèle le plus simple reste champion.

Remarque (Pourquoi apparier). Deux intervalles séparés peuvent se chevaucher alors que la différence appariée est nettement positive, car l'appariement retire la variation commune aux plis. C'est pourquoi le test t corrigé (corrected resampled t-test) porte sur la différence, pas sur deux intervalles comparés à l'œil.

Retour au sommaire.

Une règle du champion écrite avant les résultats

Si l'on choisit la règle de sélection après avoir vu le tableau, on trouvera toujours une règle sous laquelle son modèle préféré gagne.

L'équipe dépose la règle dans une issue GitHub avant de lancer la comparaison, pour que l'horodatage serveur prouve son antériorité : c'est un pré-enregistrement (pre-registration). Une règle typique dit que le champion est le modèle à la meilleure AUC moyenne, à condition que son gain sur la régression logistique soit établi par le test corrigé (p < 0,05) et que son score de Brier ne se dégrade pas au-delà d'une petite tolérance ; sinon la régression logistique reste championne. Les graines et le nombre de plis vont dans la même issue et dans le fichier de configuration.

Une règle est parfois mal écrite, par exemple sans rien prévoir en cas d'égalité. La changer est acceptable si c'est fait au grand jour : une entrée du journal avec l'ancienne règle, la nouvelle, la raison et la date. Ce qui détruit la confiance, c'est un changement fait en silence.

Retour au sommaire.

La fiche de modèle et un audit d'équité qui cherche les relais

Une fiche de modèle dit à son lecteur qui utilisera le modèle, quelle est son incertitude et où il ne doit pas servir, et l'audit d'équité vérifie qu'il ne discrimine pas par la bande.

La fiche de modèle (model card) suit Mitchell et al. (2019) en sept rubriques : usages prévus et exclus, données, métriques avec leurs intervalles, seuil et coûts, calibration avec courbe de fiabilité, audit d'équité, et limites. Les limites sont concrètes : des clients taïwanais de 2005, une cible qui mesure un retard de paiement à un mois plutôt qu'un « mauvais payeur », un apprentissage sur une période sans crise. L'explicabilité par SHAP, comme dans SHAP, équité, ACP et clustering, la complète.

L'audit en trois temps

  1. Retirer l'attribut protégé. La colonne du sexe quitte le champion, car la directive européenne 2004/113/CE interdit la discrimination fondée sur le sexe dans l'accès aux services, services financiers compris.
  2. Chercher les relais. On entraîne un modèle qui prédit le sexe à partir des autres colonnes ; une AUC nettement au-dessus de 0,5 signifie que l'information est toujours là, portée par une variable relais (proxy variable).
  3. Mesurer par groupe. Pour chaque sexe et tranche d'âge, on donne taux d'acceptation, taux de vrais et de faux positifs et calibration, chacun avec un intervalle.

Le verdict d'équité (fairness) a trois valeurs : équitable, écart établi, ou non concluant. Un sous-groupe de quelques centaines de personnes est rarement « équitable » ; il est le plus souvent non concluant, et la fiche doit le dire. Un test simple du document entier : un lecteur qui n'a que la fiche doit pouvoir énoncer l'intervalle de l'AUC, le seuil, son coût et les usages exclus.

Retour au sommaire.

Trois algorithmes à la main, chacun avec son test d'accord

Reprogrammer le boosting, la ridge à noyau et EM, puis retrouver la bibliothèque à une tolérance annoncée, montre qu'on sait ce qu'elle fait.

Chaque algorithme écrit à la main vient avec un test d'accord qui tourne en intégration continue. En boosting logistique, chaque nouvel arbre de régression vise les pseudo-résidus (pseudo-residuals) du modèle courant, et l'on avance d'un pas ν\nu. La ridge à noyau a une forme fermée. EM pour un mélange gaussien à une dimension alterne responsabilités et mises à jour pondérées.

ri=yi−σ(Fm−1(xi))r_i = y_i - \sigma\big(F_{m-1}(x_i)\big)
(2)
α=(K+λI)−1y\alpha = (K + \lambda I)^{-1} y
(3)
γik=πk N(xi∣μk,σk2)∑jπj N(xi∣μj,σj2)\gamma_{ik} = \frac{\pi_k\,\mathcal{N}(x_i \mid \mu_k, \sigma_k^2)}{\sum_j \pi_j\,\mathcal{N}(x_i \mid \mu_j, \sigma_j^2)}
(4)
Tableau 1 : Tableau 1. Référence et accord attendu pour chaque algorithme écrit à la main, tels que fixés par le sujet.
AlgorithmeComparé àAccord
Gradient boostingGradientBoostingClassifier, mêmes arbres, pas et profondeurAUC à 0,005 près
Ridge à noyauKernelRidge, même noyau et même λprédictions à 1e-8 près
EM, une dimensionGaussianMixture, même initialisationparamètres à 1e-4 près

Les tolérances diffèrent pour une raison. La ridge à noyau, c'est de l'algèbre linéaire exacte. Le boosting s'écarte un peu parce que scikit-learn fait un pas de Newton dans chaque feuille, ce que le notebook doit signaler. EM n'atteint qu'un optimum local, la comparaison exige donc le même point de départ.

Retour au sommaire.

Une surprise testée, les pires erreurs, et quatre pièges

Nommer ce qu'on n'attendait pas, et lire les cas où le champion se trompe le plus, sont les parts du travail qu'un assistant ne peut pas faire à votre place.

Quelque part dans la comparaison, l'audit d'équité ou les erreurs, un résultat surprendra : la forêt qui bat le boosting, un Brier qui se dégrade quand l'AUC monte, une tranche où la calibration dérive. L'équipe le nomme dans une issue et le teste sur une autre graine aléatoire (random seed) ou un autre découpage, ou avec une explication qui fait une prédiction vérifiable. Les vingt pires erreurs sur le test sont ensuite lues cas par cas, une par membre, comme un diagnostic seulement : rien de ce qu'on y apprend ne doit revenir dans le modèle, sinon le test cesse d'en être un.

  • Comparer sur le test. Le module de comparaison n'importe jamais le découpage de test ; une recherche dans le code le vérifie.
  • Des graines qui bougent après coup. Les graines vivent dans l'issue de pré-enregistrement et le fichier de configuration ; l'historique du fichier montre tout changement.
  • Retirer une colonne protégée en gardant son relais. Le test de relais et l'audit par groupe se font quoi qu'il arrive.
  • Une fiche de modèle qui répète le README. Le README dit comment lancer ; la fiche dit pour qui, pour quoi, avec quelle incertitude, et pour quoi pas.

Dans une banque, ceux qui construisent un modèle ne le valident pas. La validation indépendante relance le code, construit souvent son propre challenger, relit les intervalles, vérifie que la règle précède les résultats et traque les relais ; un comité approuve ensuite sous conditions, et l'audit interne vérifie le processus. Les lignes directrices des superviseurs sur le risque de modèle, comme celles de la Réserve fédérale américaine, appellent cela une contestation effective (effective challenge). Un dossier de champion écrit de cette façon est ce que cette équipe s'attend à recevoir.

Retour au sommaire.

À retenir

  1. Un champion doit battre la baseline d'un écart établi par des intervalles, sinon le modèle le plus simple reste.
  2. On règle dans une validation croisée imbriquée, on garde le test hors de la comparaison, et on ne s'en sert qu'une fois pour le champion.
  3. Les plis qui se chevauchent rendent la variance naïve trop petite ; la correction de Nadeau et Bengio peut élargir les intervalles d'un facteur deux ou plus.
  4. On compare des modèles par la différence appariée, pli par pli, et non par deux intervalles séparés.
  5. La règle du champion, les graines et les plis s'écrivent dans une issue horodatée avant le calcul, et tout changement ultérieur se consigne au grand jour.
  6. Un audit d'équité retire l'attribut protégé, cherche les relais et mesure par groupe, avec un verdict « non concluant » assumé quand les données sont minces.

Glossaire

modèle champion (champion model)
Le modèle retenu après une comparaison documentée contre la baseline.
challenger
Modèle candidat opposé au champion ou à la baseline en place.
validation croisée imbriquée (nested cross-validation)
Réglage dans une boucle interne et notation dans une boucle externe, pour que le réglage ne voie jamais le pli noté.
intervalle de confiance (confidence interval)
Plage qui traduit l'incertitude d'une estimation à un niveau annoncé.
test t corrigé (corrected resampled t-test)
Test apparié de Nadeau et Bengio dont la variance tient compte du chevauchement des plis.
pré-enregistrement (pre-registration)
Dépôt horodaté d'une règle ou d'une prédiction avant de voir les résultats.
fiche de modèle (model card)
Court document qui énonce les usages, métriques, limites et contrôles d'équité d'un modèle.
variable relais (proxy variable)
Entrée qui porte indirectement un attribut protégé.
équité (fairness)
Absence d'écarts injustifiés entre groupes dans les décisions ou les taux d'erreur.
pseudo-résidus (pseudo-residuals)
Le gradient négatif de la perte, sur lequel chaque nouvel arbre de boosting est ajusté.
graine aléatoire (random seed)
Le nombre qui fixe les tirages pseudo-aléatoires d'une expérience.

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