~/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.
Plan du deck
- Où en est le projet. Une baseline calibrée et seuillée existe déjà ; cette étape ajoute des challengers.
- Ce qu'apporte le deuxième bloc. Noyaux, forêts, boosting, validation croisée imbriquée, SHAP, équité et EM, chacun nourrissant un livrable.
- Ce que contient un dossier de champion. Sept livrables, chacun un fichier ou une commande qu'un auditeur peut ouvrir ou lancer.
- Une commande pour la comparaison. Trois graines, cinq plis, un réglage imbriqué et une variance corrigée.
- Lire les intervalles. Quand une AUC plus haute ne fait pas un meilleur modèle.
- La règle pré-enregistrée du champion. Pourquoi la règle de sélection doit exister avant le tableau.
- Fiche de modèle et audit d'équité. Sept rubriques, et un audit qui ne s'arrête pas au retrait d'une colonne.
- 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.
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.
Exemple chiffré : de combien l'intervalle s'élargit
- Compter. Trois graines fois cinq plis donnent mesures.
- Rapport. Chaque pli de validation fait le quart de la partie d'apprentissage, donc .
- Facteur naïf. Sans correction, la variance de la moyenne utilise .
- Facteur corrigé. Avec la correction, , soit 4,75 fois plus, et un intervalle environ fois plus large.
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
- Les chiffres. Le gradient boosting affiche une AUC de 0,78 avec l'intervalle [0,76 ; 0,80] ; la baseline logistique affiche 0,77.
- 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.
- 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é.
- 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.
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.
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
- 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.
- 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).
- 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.
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 . 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.
| Algorithme | Comparé à | Accord |
|---|---|---|
| Gradient boosting | GradientBoostingClassifier, mêmes arbres, pas et profondeur | AUC à 0,005 près |
| Ridge à noyau | KernelRidge, même noyau et même λ | prédictions à 1e-8 près |
| EM, une dimension | GaussianMixture, même initialisation | paramè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.
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.
À retenir
- Un champion doit battre la baseline d'un écart établi par des intervalles, sinon le modèle le plus simple reste.
- 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.
- 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.
- On compare des modèles par la différence appariée, pli par pli, et non par deux intervalles séparés.
- 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.
- 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.
Précédent : SHAP, équité, ACP et partitionnementSuivant : Réseaux de neurones, dérive, prédiction conforme
- IntroductionHivers de l'IA, emploi et méthode
- OutilsKaggle, GitHub, Python : les outils
- Séance 1Cadrage de projet et moindres carrés
- Séance 2Vraisemblance et régression logistique
- Séance 3Descente de gradient, ridge et lasso
- Séance 4Seuil de décision et ML reproductible
- DevoirUn modèle de référence défendable
- Séance 5Noyaux, SVM et arbres de décision
- Séance 6Forêts, boosting, comparaison honnête
- Séance 7SHAP, équité, ACP et partitionnement
- DevoirUn modèle champion documenté
- Séance 8Réseaux de neurones, dérive, prédiction conforme
- DevoirUn projet de machine learning livré
- Séance 9Soutenir un projet de machine learning
- RéférenceProjet de score de défaut de crédit
- RéférenceRendements boursiers : XGBoost et sentiment
- RéférenceLe code Python de chaque modèle
- RéférenceDeep learning, l'essentiel
- RéférenceDonnées ouvertes et projets par secteur
- RéférenceManuel de l'expert data et IA
- RéférenceData engineering, SRE et cloud
- RéférencePanorama des modèles de machine learning
À 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 : .