~/teaching · machine learning · séance 7, mercredi 16 décembre 2026
Expliquer un score de crédit avec SHAP, auditer son équité, découvrir une structure avec l'ACP, k-means et EM
Séance 7 du cours d'apprentissage automatique : les trois questions d'une banque avant de laisser décider un modèle.
Résumé
Cette demi-journée du cours d'apprentissage automatique de Centrale Méditerranée (option DDEFI, 2026-2027) reprend le modèle champion d'un projet de défaut de crédit et l'interroge de trois façons. Quelles entrées ont pesé dans chaque décision individuelle ? Comment sont traités les différents groupes de clients ? Et, la colonne de défaut mise de côté, quelle structure les dossiers montrent-ils d'eux-mêmes ?
La première partie construit la valeur de Shapley à partir de la théorie des jeux coopératifs, la calcule à la main sur un exemple à trois variables, puis passe à SHAP et TreeSHAP avec leurs pièges. La deuxième mesure l'équité par des taux calculés groupe par groupe, montre pourquoi ils ne peuvent pas tous être égaux à la fois, et situe le score de crédit dans le droit européen. La troisième laisse les étiquettes de côté : analyse en composantes principales par la SVD, k-means, et mélanges gaussiens ajustés par EM, chaque fois sur une poignée de nombres vérifiables au crayon.
Après lecture, vous savez calculer une valeur de Shapley à partir des valeurs de toutes les coalitions, choisir et justifier une mesure d'équité, et dérouler une itération d'ACP, de k-means ou d'EM sans bibliothèque.
Plan du deck
- Expliquer une prédiction. La règle de partage de Shapley (1953), ses quatre axiomes, SHAP, TreeSHAP, lectures locale et globale, et trois pièges.
- SHAP sur le modèle champion. Un TP court : un explicateur avec un échantillon de référence fixé, un contrôle d'additivité, un beeswarm et deux waterfalls commentés.
- L'équité. Variables relais, trois familles de mesures, l'audit chiffré de deux groupes, le résultat d'impossibilité et le droit.
- L'analyse en composantes principales. Tourner les axes pour que la variance se range d'elle-même, par un problème de vecteurs propres calculé avec la SVD.
- k-means. Les étapes d'affectation et de recentrage de Lloyd, le choix de k, et pourquoi le départ compte.
- Mélanges gaussiens et EM. Des groupes flous, des responsabilités tirées de la formule de Bayes, une vraisemblance qui ne baisse jamais.
- Retour au score de crédit. Segments, anomalies, et un résumé de la séance en trois cartes.
Valeurs de Shapley : partager une prédiction entre les variables
Une valeur de Shapley partage équitablement entre les variables l'écart entre la prédiction d'un client et la prédiction moyenne, en moyennant ce que chacune apporte.
Un modèle donne à un client une probabilité de défaut de 62 % alors que sa prédiction moyenne est de 22 %. Il faut attribuer quarante points. Lloyd Shapley a posé la même question pour des joueurs en 1953 : si une coalition gagne ensemble, comment partager le gain ? Ici les joueurs sont les variables, et la valeur d'une coalition est la prédiction quand seules les variables de sont connues, les autres étant moyennées.
La définition la plus claire passe par les ordres d'arrivée. On fait entrer les variables une à une, on crédite chacune du changement qu'elle provoque en arrivant, puis on moyenne sur les ordres. La moyenne compte, car l'apport d'une variable dépend de celles déjà présentes : l'interaction est partagée, au lieu de revenir à la dernière arrivée. En regroupant les ordres selon l'ensemble déjà présent, on obtient la formule classique de la valeur de Shapley (Shapley value), une moyenne pondérée de gains marginaux, le gain marginal (marginal contribution) étant ce qu'apporte la variable en rejoignant :
Le poids compte les ordres où exactement précède : façons de ranger avant, façons de ranger les autres après, sur . Pour trois variables, les poids valent , , et , de somme un.
Exemple chiffré : trois variables, un client
Le deck prend des valeurs illustratives pour les variables de crédit PAY_0 (dernier retard de paiement), LIMIT_BAL (plafond de crédit) et AGE. En pourcentage, , , , , , , et . Chaque ligne du tableau donne ce qu'ajoute chaque variable dans un ordre d'arrivée.
| Ordre | PAY_0 | LIMIT_BAL | AGE |
|---|---|---|---|
| P, L, A | 30 | 6 | 4 |
| P, A, L | 30 | 8 | 2 |
| L, P, A | 30 | 6 | 4 |
| L, A, P | 32 | 6 | 2 |
| A, P, L | 32 | 8 | 0 |
| A, L, P | 32 | 8 | 0 |
| Moyenne | 31 | 7 | 2 |
PAY_0 reçoit 31 points, LIMIT_BAL 7 et AGE 2, et . AGE est le cas instructif : seul, il n'ajoute rien, à côté des deux autres il ajoute 4, et sa part est la moyenne sur les contextes. La formule par coalitions redonne le même 31 : .
Remarque (Pourquoi cette règle et pas une autre). Shapley a montré que c'est la seule règle de partage qui vérifie quatre propriétés : efficacité (l'écart entier est réparti, sans reste), symétrie (deux joueurs aux rôles identiques sont traités à l'identique), joueur nul (une variable sans aucun effet obtient une part nulle, comme un coefficient annulé par le lasso) et additivité (les parts d'une somme de jeux s'additionnent). C'est l'additivité qui permet d'expliquer une forêt par la moyenne des explications de ses arbres.
SHAP et TreeSHAP en pratique, et ce qu'ils ne disent pas
SHAP écrit chaque prédiction comme la moyenne plus une part par variable ; le calcul est exact et rapide pour les arbres, mais il décrit le modèle, pas le monde.
Lundberg et Lee (NeurIPS 2017) ont fait la traduction : les joueurs sont les variables, est la prédiction attendue sachant les variables connues, et toute prédiction se décompose en sortie moyenne plus une part par variable. Leur article range aussi des techniques d'attribution plus anciennes, LIME compris, dans cette même famille additive.
L'obstacle est le coût. Les 23 variables du jeu UCI de cartes de crédit donnent , soit 8 388 608 coalitions pour un seul client. KernelSHAP échantillonne les coalitions et marche sur tout modèle, de façon approchée et lente. TreeSHAP (Lundberg et al., Nature Machine Intelligence, 2020) suit les chemins de l'arbre et calcule les valeurs exactes pour les arbres, les forêts et le boosting en temps polynomial. Sur un arbre jouet du deck, LIMIT_BAL reçoit 4,2 points alors que le chemin du client ne le teste jamais : raisonne aussi sur les clients qui seraient passés de l'autre côté, donc un waterfall n'est pas le chemin suivi par le modèle.
En local, le waterfall montre un client qui va de la moyenne à sa prédiction. En global, la moyenne des parts en valeur absolue classe les variables ; la valeur absolue empêche les poussées vers le haut et vers le bas de s'annuler, au prix de la direction, que le beeswarm rend avec un point par client coloré selon la valeur de la variable. Attention à l'échelle : pour le boosting, l'additivité exacte vaut sur la marge en log-cotes, pas sur les probabilités.
- Variables corrélées. Les six montants de relevé mensuels sont presque jumeaux ; le partage entre eux dépend de la définition de (interventionnelle ou conditionnelle), pas du monde. On les regroupe et on lit la somme.
- Expliquer n'est pas causer. Un plafond élevé fait baisser le risque prédit parce que les banques accordent de hauts plafonds aux clients qu'elles jugent déjà solides. Relever le plafond d'un client fragile est une autre question, causale.
- Le récit après coup. Une explication peut être trompée (Slack et al., 2020) ou choisie parmi plusieurs réglages. On fixe l'explicateur, l'échantillon de référence et l'échelle avant de regarder, on recoupe avec l'importance par permutation, et pour une décision lourde on préfère un modèle lisible par construction (Rudin, 2019).
Mesures d'équité : ce que le score fait aux groupes
Retirer la colonne sensible ne rend pas un score équitable : il faut mesurer, groupe par groupe, combien il refuse, combien il se trompe, et si ses probabilités tiennent.
Retirer SEX des entrées, ce qu'on appelle l'équité par ignorance (fairness through unawareness), ne suffit pas, comme l'ont montré Dwork et ses coauteurs en 2012 : d'autres colonnes peuvent porter la même information. Chacune est une variable relais (proxy variable). Le test retourne le problème : prédire SEX à partir de toutes les autres colonnes, avec la même famille de modèles que le champion et une validation croisée sur le jeu d'apprentissage. Une AUC proche de 0,5 signifie que peu d'information passe ; plus elle s'en éloigne, plus l'importance par permutation de ce modèle désigne les colonnes porteuses.
Barocas, Hardt et Narayanan (2023) rangent les nombreuses mesures en trois familles. Avec le codage du cours, positif veut dire défaut et veut dire refusé : un faux positif est donc un bon client refusé, et le taux de faux positifs (false positive rate) est la part des bons clients refusés.
| Famille | Condition | Mesure usuelle | Question posée |
|---|---|---|---|
| Indépendance | Parité démographique | Refuse-t-il aussi souvent dans chaque groupe ? | |
| Séparation | Égalité des chances, equalized odds | Fait-il les mêmes erreurs ? | |
| Suffisance | Calibration par groupe | Un score de 30 % vaut-il 30 % pour tous ? |
La parité démographique (demographic parity) se lit sans savoir qui fera défaut, donc elle convient au suivi dès la mise en service, mais elle ignore les écarts de taux de base. L'égalité des chances (equal opportunity), de Hardt, Price et Srebro (2016), demande la même part de bons clients refusés ; les equalized odds égalisent en plus le taux de vrais positifs. Les deux exigent de connaître l'issue : ce sont des mesures d'audit. La calibration par groupe (calibration by group) est souvent la première que regardent les banques, car une probabilité de défaut alimente aussi les provisions et le capital.
Exemple chiffré : deux groupes de 1 000 dossiers
Même modèle, même seuil. Groupe A : 150 vrais positifs, 100 faux négatifs, 75 faux positifs, 675 vrais négatifs. Groupe B : 120, 80, 60 et 740. Les cinq taux en découlent.
| Taux | Formule | Groupe A | Groupe B |
|---|---|---|---|
| Taux de base | 25,0 % | 20,0 % | |
| Taux de refus | 22,5 % | 18,0 % | |
| TPR | 60,0 % | 60,0 % | |
| FPR | 10,0 % | 7,5 % | |
| PPV | 66,7 % | 66,7 % |
Le score est donc équitable au sens du TPR et de la PPV, inéquitable au sens des refus et du FPR : un bon client du groupe A est refusé à tort une fois sur dix, contre environ une fois sur treize dans le groupe B. Les deux lectures sont justes ; elles ne répondent pas à la même question. D'où deux règles : choisir la mesure, et l'écrire, avant de voir les chiffres ; donner à chaque écart un intervalle de confiance, car avec de petits groupes le verdict honnête est souvent « non concluant ».
Pourquoi les taux ne s'égalisent pas tous ensemble
Quand deux groupes font défaut à des taux différents, un score imparfait ne peut pas leur donner à la fois la même précision, la même détection et le même taux de fausses alertes.
L'exemple n'est pas truqué. Chouldechova (2017) a écrit une identité qui découle des seules définitions, avec le taux de base (base rate) du groupe : le nombre de défauts détectés vaut , les faux positifs se déduisent de la PPV, et en divisant par les bons clients on obtient le FPR. La taille du groupe s'élimine.
À PPV et TPR égaux, le FPR croît avec , fonction strictement croissante. Vérification sur les deux groupes : pour A, ; pour B, . Ce sont exactement les taux du tableau.
Kleinberg, Mullainathan et Raghavan ont démontré la version pour les scores en 2016 : la calibration dans chaque groupe et l'équilibre pour les deux classes sont incompatibles, sauf prédiction parfaite ou taux de base égaux. Les deux résultats sont nés du débat sur l'outil de prédiction de récidive COMPAS aux États-Unis. La conséquence pratique est une méthode, pas un chiffre : mesurer par groupe avec des intervalles, retenir la mesure pertinente pour l'usage et la justifier, puis corriger à la source (retirer une variable relais, redéfinir la cible, déplacer le seuil).
Remarque (Un seuil par groupe). Hardt, Price et Srebro ont montré qu'on peut atteindre l'égalité des chances après l'entraînement, en donnant à chaque groupe son propre seuil. Cela marche sur les taux, mais deux clients de même score reçoivent alors deux décisions différentes, et le groupe sert au moment de décider. Dans l'accès aux services financiers, décider sur la base du sexe est une discrimination directe au sens de la directive 2004/113/CE : c'est une question de juriste, que la séance transforme en débat.
Le score de crédit face à l'AI Act européen
Le droit européen classe la notation de solvabilité des personnes parmi les usages à haut risque, avec des obligations sur les biais des données, la documentation et l'explication.
Le règlement (UE) 2024/1689, annexe III, point 5(b), classe à haut risque les systèmes qui évaluent la solvabilité des personnes physiques ou établissent leur score de crédit, hors détection de fraude. Selon le deck, le règlement (UE) 2026/1744 a reporté l'application des règles de l'annexe III au 2 décembre 2027 ; ces dates ont déjà bougé une fois, il faut donc relire le texte consolidé avant d'en citer une.
- Articles 9 à 15 : gestion des risques, gouvernance des données, documentation technique (annexe IV), journalisation automatique, transparence envers le déployeur, contrôle humain, et exactitude, robustesse et cybersécurité.
- Article 10(2)(f) : examiner les données à la recherche de biais susceptibles de conduire à une discrimination interdite. Le test de variable relais et l'audit par groupe sont cet examen.
- Article 86 : une personne visée par une décision fondée sur un système à haut risque peut obtenir une explication claire du rôle du système. L'arrêt SCHUFA de la Cour de justice (C-634/21, 2023) avait déjà placé les scores de crédit déterminants sous l'article 22 du RGPD.
- Directive 2004/113/CE : la discrimination indirecte est un critère apparemment neutre qui désavantage particulièrement un sexe sans justification objective. C'est l'effet qui compte, pas l'intention, d'où un audit des écarts même sans SEX dans le modèle.
Le deck relie chacun de ces articles à un fichier que le projet étudiant produit déjà : un journal de décisions, une fiche de modèle au format de Mitchell et al. (2019), puis des journaux de service et une option de rejet qui arrivent plus tard dans le cours (voir dérive et prédiction conforme). Pour les superviseurs bancaires, le rapport EBA/REP/2023/28 de l'Autorité bancaire européenne, consacré à l'apprentissage automatique dans les modèles internes de notation, relève que les banques mentionnent les valeurs de Shapley plus souvent que toute autre méthode d'explication.
L'analyse en composantes principales par la SVD
L'ACP fait tourner les axes pour que la première direction porte le plus possible de l'étalement des données, puis la suivante, perpendiculaire, et ainsi de suite.
Sans cible, il ne reste que . L'analyse en composantes principales (principal component analysis), droite la plus proche du nuage chez Pearson (1901) et direction de variance maximale chez Hotelling (1933), cherche le point de vue d'où le nuage paraît le plus large. La variance des projections sur un vecteur unitaire vaut , avec la covariance des colonnes centrées. La maximiser sous avec un multiplicateur de Lagrange donne une équation aux vecteurs propres, et la variance portée est la valeur propre.
En pratique, la SVD de la séance sur les moindres carrés fait le même travail sans former : avec , les colonnes de sont les directions principales, les coordonnées valent , et . Eckart et Young (1936) disent pourquoi tronquer est légitime : garder les premières composantes donne la meilleure approximation de rang , et l'erreur est la somme des écartés.
Cinq points en dimension deux
- Centrer. Les points (1, 1), (2, 3), (3, 2), (4, 4) et (5, 5) ont pour moyenne (3, 3) ; trois sont sur la diagonale, deux juste à côté.
- Covariance. Les sommes de carrés centrées valent 10 et 10, la somme croisée 9 ; en divisant par , on obtient des variances de 2,5 et une covariance de 2,25.
- Valeurs propres. Trace 5, déterminant , donc et , avec , la diagonale.
- Lire la part. La première composante porte de la variance ; la SVD donne , le même rapport.
- Vérifier la perte. Projeter sur la diagonale déplace les deux points hors axe d'une distance au carré de 0,5 chacun : erreur totale 1, le écarté.
Remarque (Le piège des échelles). Sur les données de crédit brutes, les montants en dollars de Taïwan écrasent les âges en années, et les premières composantes ne font que retrouver les colonnes monétaires. On standardise avec les moyennes et écarts-types d'apprentissage, et l'ACP travaille sur les corrélations. L'ACP ne découvre rien d'elle-même : elle tourne les axes pour que la variance sorte par ordre décroissant.
k-means et mélanges gaussiens ajustés par EM
k-means place chaque client dans un seul groupe autour d'un centre ; un mélange gaussien donne à chaque client une probabilité d'appartenir à chaque groupe, et EM l'ajuste.
Le partitionnement k-means (k-means clustering) minimise l'inertie (inertia), somme des distances au carré de chaque point à son centre. L'algorithme de Lloyd (écrit en 1957, publié en 1982) alterne deux étapes qui ne peuvent que faire baisser l'inertie : affecter chaque point au centre le plus proche, puis déplacer chaque centre à la moyenne de son groupe, qui minimise les écarts au carré comme en moindres carrés. Il s'arrête, mais dans un minimum local qui dépend du départ.
Sur les six valeurs 1, 2, 4, 7, 8, 9 avec des centres de départ en 1 et 4, l'inertie passe de 51 à 14,5 après la première itération (centres 1,5 et 7), puis à 6,67 environ quand le point 4 change de camp (centres 7/3 et 8) ; ensuite plus rien ne bouge. Avec trois groupes, un mauvais départ en 7, 8, 9 se bloque à 5,17 alors que l'optimum vaut 2,5 : d'où k-means++ (Arthur et Vassilvitskii, 2007), qui tire des centres de départ bien espacés, et l'usage de plusieurs relances. Le coude de la courbe d'inertie et la silhouette de Rousseeuw aident à choisir .
Un mélange gaussien (Gaussian mixture model) suppose cloches de poids , de centres et de variances . Sa log-vraisemblance a une somme à l'intérieur du logarithme et pas de solution explicite. L'algorithme espérance-maximisation (expectation-maximisation), ou EM (Dempster, Laird et Rubin, 1977), alterne une étape E, qui calcule par la formule de Bayes la responsabilité (responsibility) de chaque groupe pour chaque client, et une étape M, qui recalcule poids, moyennes et variances comme des moyennes pondérées par ces responsabilités.
Sur les quatre valeurs 1, 2, 5 et 8, en partant de cloches centrées en 2 et 8, de variance 1 et de poids égaux, la valeur 5 est pile à mi-chemin et reçoit une responsabilité d'un demi pour chaque cloche, tandis que les autres appartiennent presque entièrement à la plus proche. Après une étape M, le second centre est tiré de 8 vers 5, les deux cloches s'élargissent, et la log-vraisemblance monte d'environ à , comme le garantit le théorème de 1977. Si l'on force les responsabilités à 0 ou 1 avec des variances égales et fixes, on retrouve k-means.
À retenir
- Une valeur de Shapley est une moyenne pondérée de ce qu'une variable ajoute à toutes les coalitions ; les parts somment exactement à l'écart entre la prédiction et la moyenne.
- TreeSHAP rend le calcul exact pour les arbres, les forêts et le boosting, mais SHAP décrit le modèle, pas un effet causal dans le monde.
- Retirer une colonne sensible ne suffit pas : on teste si les autres colonnes la prédisent, puis on mesure les taux groupe par groupe, avec des intervalles.
- Avec des taux de base différents, un score imparfait ne peut pas égaliser à la fois PPV, TPR et FPR : la mesure d'équité est un choix à écrire avant le calcul.
- La notation de crédit des personnes est un usage à haut risque au sens de l'AI Act, avec des obligations sur les biais, la documentation, le contrôle humain et l'explication.
- L'ACP est la SVD des colonnes centrées, et en général standardisées ; les valeurs propres donnent la variance portée par chaque direction.
- k-means et EM suivent le même schéma, deux étapes alternées qui ne dégradent jamais l'objectif, et tous deux demandent plusieurs départs.
Glossaire
- valeur de Shapley (Shapley value)
- La part du gain d'une coalition attribuée à un joueur, moyennée sur tous les ordres d'arrivée ; en apprentissage automatique, la part d'une variable dans une prédiction.
- gain marginal (marginal contribution)
- Ce qu'une variable ajoute à la prédiction quand elle rejoint un ensemble donné de variables déjà connues.
- SHAP
- Le cadre d'explication additive de Lundberg et Lee (2017) : une prédiction égale la sortie moyenne plus une part de Shapley par variable.
- TreeSHAP
- Un algorithme qui calcule les valeurs SHAP exactes des ensembles d'arbres en temps polynomial, en suivant les chemins des arbres.
- variable relais (proxy variable)
- Une colonne corrélée à un attribut sensible, par laquelle un modèle peut le retrouver même quand l'attribut est retiré.
- parité démographique (demographic parity)
- L'exigence d'un même taux de refus dans chaque groupe.
- égalité des chances (equal opportunity)
- L'exigence que les personnes qualifiées, ici les bons clients, aient la même chance d'obtenir la décision favorable dans chaque groupe.
- taux de base (base rate)
- La part de positifs réels, ici de défauts, dans un groupe ; un fait des données, pas un choix du modèle.
- calibration par groupe (calibration by group)
- L'exigence qu'un score donné corresponde au même taux de défaut observé dans chaque groupe.
- analyse en composantes principales (principal component analysis)
- Un changement de base orthonormée qui range les directions par la variance qu'elles portent, calculé par la covariance ou la SVD.
- partitionnement k-means (k-means clustering)
- La partition des points en k groupes qui minimise la somme des distances au carré à leurs centres.
- inertie (inertia)
- L'objectif de k-means : la somme des distances au carré de chaque point au centre de son groupe.
- mélange gaussien (Gaussian mixture model)
- Une densité écrite comme somme pondérée de cloches gaussiennes, qui donne à chaque point une probabilité d'appartenir à chaque composante.
- responsabilité (responsibility)
- Dans EM, la probabilité a posteriori qu'un point vienne d'une composante donnée, calculée par la formule de Bayes.
Les autres fiches du cours
Un résumé public par deck, dans l'ordre du cours.
Précédent : Forêts, boosting, comparaison honnêteSuivant : Un modèle champion documenté
- 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 : .