GAMMA FACET: Une nouvelle approche pour des explications universelles Modèles dapprentissage automatique

(Konstantin Hemker)

Auteurs: Jan Ittner, Konstantin Hemker & Malo Grisard

Les progrès rapides des technologies dintelligence artificielle (IA) nous dotent dune un ensemble doutils évolutif pour analyser même les problèmes et processus métier les plus complexes du monde réel. Des algorithmes dapprentissage automatique de pointe permettent aux décideurs de prédire avec précision les résultats critiques pour lentreprise tels que le coût, la vitesse, la qualité ou le rendement. Mais le plus souvent, la véritable valeur commerciale de lIA ne réside pas simplement dans prédire les résultats (quels clients sont susceptibles dannuler leur contrat?), Mais dans expliquer et optimiser ces résultats (que devons-nous faire pour fidéliser les clients de grande valeur?).

De plus, la volonté dun responsable daccepter lutilisation de lapprentissage automatique pour prendre souvent des décisions au jour le jour dépend de sa confiance dans lalgorithme, qui, à son tour, nécessite une certaine compréhension de la façon dont un modèle dIA fait des prédictions et des décisions. La nécessité dexpliquer les modèles dIA deviendra encore plus importante à mesure que les entreprises développeront une sensibilisation accrue à l IA éthique et chercheront à concevoir des modèles dIA capables de prendre des décisions impartiales, sûres et responsables.

Utiliser la théorie des jeux coopératifs pour expliquer les contributions aux fonctionnalités

LIA explicable par lhomme a connu dénormes progrès ces dernières années, en particulier avec larrivée de Shapley Additive Explanations (SHAP), une théorie et un algorithme unificateurs appliquant la théorie des jeux coopératifs pour expliquer les prédictions individuelles dun modèle dapprentissage automatique. Ce qui rend SHAP si attrayant, cest que, malgré ses fondements mathématiques avancés, les résultats sont intuitifs même pour le grand public.

SHAP quantifie les contributions de toutes les variables dun modèle à tout résultat prévu donné. Par exemple, nous pouvons utiliser un modèle pour prédire le risque d’un patient de développer un diabète, en fonction de variables telles que le poids, l’âge et les habitudes d’exercice. Le modèle pourrait nous dire que le risque est de 67%. SHAP ira plus loin en nous disant, par exemple, que lâge de la patiente augmente le risque de diabète de 5%, tandis que son poids le diminue de 2%.

Le rôle clarifiant de linspection des modèles et des expériences virtuelles

SHAP offre un moyen très utile dexpliquer les prédictions individuelles. Jusquà récemment, cependant, il ny avait que des moyens limités pour expliquer le modèle dans son ensemble – pour expliquer en général comment les variables agissent et interagissent pour arriver à des prédictions. GAMMA FACET présente une nouvelle approche holistique pour expliquer les modèles dapprentissage automatique. Il le fait sous deux angles: premièrement, il utilise un algorithme d inspection de modèle récemment développé pour expliquer comment les variables dun modèle prédictif collaborent pour prédire les résultats en identifiant des modèles à travers les explications de nombreuses prédictions individuelles. Par exemple, GAMMA FACET pourrait trouver que le poids et la masse corporelle doivent être considérés en combinaison pour évaluer le risque de diabète, alors que lindice de masse corporelle et le rapport taille / taille peuvent être interchangeables. Deuxièmement, il applique une approche de simulation pour déterminer dans des «expériences virtuelles» comment les changements systématiques des facteurs clés influent sur les résultats prévus, tels que la façon dont une augmentation de lâge affecte le risque de diabète dans une population de patients.

Étude de cas: prévention des pannes dans le forage de leau

La meilleure façon dexplorer ces concepts est dutiliser un exemple concret . Le forage dun puits deau est très dangereux et coûteux. Les coûts dun tel forage sont déterminés par le temps quil faut pour finaliser un puits afin de commencer à y pomper de leau. Pour réduire ces coûts, les foreurs sont généralement incités à forer à un rythme plus rapide – mesuré par le taux de pénétration (ROP). Selon les caractéristiques du sol, les tarifs journaliers peuvent varier de 30 000 $ à 250 000 $. Mais il y a un compromis: un forage plus rapide augmente le risque dincidents, comme leffondrement dune formation ou une infiltration de gaz. Nous allons donc construire un modèle dapprentissage automatique pour comprendre limpact de la vitesse de forage sur le risque dincident, dans le contexte dautres facteurs de risque.

Par souci de clarté, nous utilisons un jeu de données simplifié pour cet exemple . Lensemble de données contient 500 observations, chaque ligne représentant une opération de forage du passé, ainsi quun indicateur binaire indiquant si un incident de forage de puits sest produit ou non dans lopération.

Sur la base des conditions de fonctionnement présentes et passées, un algorithme prédictif peut être utilisé pour alerter lopérateur de forage dun risque dincident élevé. Les opérateurs auraient alors la possibilité dajuster les paramètres de forage. Cependant, savoir quand agir nest souvent pas suffisant.Lopérateur doit également comprendre pourquoi il y a des incidents, et quelles sont les conditions de forage optimales qui équilibrent le coût de forage avec le coût dun incident potentiel. GAMMA FACET peut vous aider à fournir ces informations exploitables.

scikit-learn et le pipeline modèle

Pour former lépine dorsale de notre modèle dapprentissage automatique explicable, nous devons dabord créer un pipeline de modèles qui nous permet de retracer toutes les sorties du modèle jusquaux entrées de données initiales, à travers toutes les étapes de transformation et de formation.

GAMMA FACET est conçu autour de scikit-learn, le standard de facto de lindustrie pour lapprentissage automatique en Python. scikit-learn propose un large éventail dalgorithmes de régression et de classification. Il offre également une approche universelle de la création de pipelines dapprentissage automatique, combinant le prétraitement des données avec lajustement du modèle réel dans un flux de travail intégré.

FACET améliore scikit-learn de trois manières essentielles :

  1. Traçabilité des fonctionnalités de bout en bout : pendant la construction native de scikit-learn autour de numpy et produit toutes les sorties sous forme de tableaux numériques, FACET fournit des versions améliorées de plus de 150 transformateurs, régresseurs et classificateurs scikit-learn qui fournissent toutes les sorties sous forme de trames de données pandas. En outre, FACET inclut des attributs pour mapper les noms des entités dérivées aux entités dont elles proviennent. Ce mappage est essentiel si les fonctionnalités doivent être désignées par leur nom plus en aval dans le pipeline de machine learning.
  2. Pipelining amélioré : FACET introduit des classes de pipeline en deux étapes supplémentaires qui contiennent une étape de pré-traitement (qui peut elle-même être un pipeline) et une étape dapprentissage. Daprès notre expérience, cet ajout apparemment mineur conduit à un code de pipeline beaucoup plus concis et lisible.
  3. Validation améliorée : FACET introduit des validateurs croisés pour plusieurs variantes de bootstrap, une technique statistique particulièrement pertinente dans le contexte des capacités de simulation de FACET.

En revenant à lexemple de forage, voici comment nous peut construire un pipeline en utilisant la prise en charge de FACET pour la traçabilité des entités:

Comme vous le voyez dans cet extrait de code, le pipeline ci-dessus ressemble presque exactement à un pipeline construit en utilisant pure scikit-learn . Notez cependant que nous importons tous les pipelines, transformateurs et estimateurs du package sklearndf de FACET, et que les noms des classes scikit-learn familières ont tous Suffixe «DF». Notez également le ClassifierPipelineDF spécial, lun des pipelines améliorés de FACET comprenant une étape de prétraitement facultative, ainsi quune étape ultérieure de lapprenant qui sera un classificateur. Comme vous pouvez le voir dans la sortie, le résultat du prétraitement est une trame de données qui préserve tous les noms de caractéristiques.

Ensuite, nous voulons ajuster les hyper-paramètres de notre modèle en utilisant les . LeanerRanker fonctionne de la même manière que le moteur de recherche de grille de scikit-learn , mais il est beaucoup plus facile de laisser plusieurs types de modèles se concurrencer, plutôt que doptimiser lhyper- paramètres dun seul modèle:

Explications du modèle: quelles sont les causes des incidents?

Nous avons maintenant un modèle réglé et formé qui prédit le risque dincident de nos opérations de forage. Mais nous voulons être plus proactifs que de simplement déployer le modèle et répondre ad hoc aux risques prévus. Au lieu de cela, nous voulons savoir ce que le modèle a appris sur pourquoi et quand les incidents se produisent. Nous voulons que le modèle nous aide à comprendre comment nous pouvons systématiquement changer la façon dont nous utilisons nos machines de forage pour réduire le risque dincident.

FACET aborde lexplication du modèle comme une combinaison de deux méthodes:

  1. Explication des interactions globales des fonctionnalités : Cette méthode nous dit ce que le modèle a appris sur la contribution des fonctionnalités à la fois individuellement et collectivement aux résultats. FACET introduit un nouvel algorithme qui, pour chaque paire de fonctionnalités, quantifie la synergie, la redondance et lindépendance (voir ci-dessous pour plus de détails). Cet algorithme est basé sur la décomposition vectorielle SHAP , un cadre mathématique que nous avons développé pour les explications du modèle global et que nous détaillerons plus en détail dans une prochaine publication.
  2. Simulations basées sur un modèle : Cette méthode nous permet didentifier comment les changements systématiques de fonctionnalités aideront à réaliser un résultat souhaité, dans ce cas pour minimiser le risque de panne de forage. Nous atteignons ce résultat en créant des échantillons synthétiques pour une plage de valeurs, puis en utilisant le modèle pour évaluer les changements du risque prévu. Comme vous le verrez ci-dessous, comprendre les interactions globales entre les fonctionnalités (cest-à-dire la méthode 1) est une étape essentielle pour sassurer que nos simulations sont valides dans des conditions réelles.

Lorsquelles sont utilisées dans notre exemple dexploration , La classe LearnerInspector de FACET fournit un aperçu des interactions entre les fonctionnalités en calculant par paire la synergie et la redondance :

Redondance et synergie matrice

Les résultats sont deux matrices qui, pour toute paire dentités, nous indiquent en pourcentage le degré de synergie et redondance entre ces deux fonctionnalités.

Synergie

La synergie est le degré auquel le modèle combine les informations dune fonctionnalité avec une autre pour prédire la cible. Par exemple, supposons que nous prédisons la santé cardiovasculaire en utilisant l’âge et le sexe et que le modèle ajusté inclut une interaction complexe entre eux. Cela signifie que ces deux caractéristiques sont synergiques pour prédire la santé cardiovasculaire. En outre, les deux fonctionnalités sont importantes pour le modèle et la suppression de lune ou lautre aurait un impact significatif sur les performances. Supposons que l’âge soit une caractéristique plus importante que le sexe et que l’âge contribue donc davantage à la prédiction combinée que le sexe. Cette contribution asymétrique signifie que la synergie pour (âge, sexe) est inférieure à la synergie pour (sexe, âge). Pour y penser autrement, imaginez que la prédiction est une coordonnée que vous essayez datteindre. À partir de votre point de départ, lâge vous rapproche beaucoup plus de ce point que le sexe, mais vous avez besoin des deux pour y arriver. La synergie reflète le fait que le sexe reçoit plus daide de lâge (synergie plus élevée du point de vue du sexe) que lâge du sexe (synergie plus faible du point de vue de lâge) pour atteindre la prédiction.

Cela conduit à une point important: la synergie est une propriété naturellement asymétrique de linformation globale que deux caractéristiques en interaction contribuent aux prédictions du modèle. La synergie est exprimée en pourcentage allant de 0% (pleine autonomie) à 100% (pleine synergie). Notez que les caractéristiques synergiques peuvent être complètement décorrélées et quelles peuvent être difficiles à repérer grâce à une analyse exploratoire régulière.

Pour interpréter la matrice de synergie, la première caractéristique dune paire est la ligne («Perspective de»), et la deuxième fonction de la colonne. Dans notre exemple de forage, FACET rapporte que «du point de vue» de la vitesse de rotation, 67% des informations sont combinées avec le poids sur le trépan pour prédire la défaillance. Cela semble judicieux dans le contexte, car le forage à la fois avec un poids de trépan élevé et une rotation élevée peut avoir un impact disproportionné sur lusure de léquipement, et donc augmenter considérablement le risque dincident. Il est compréhensible que la synergie soit également élevée du point de vue du poids sur lembout (61%). Cela nous indique que nous devons examiner ensemble la vitesse de rotation et le poids sur le foret pour comprendre leurs contributions au risque dincident.

Redondance

La redondance est le degré auquel une fonctionnalité dans un modèle duplique les informations dune deuxième fonction pour prédire la cible. Par exemple, supposons que nous disposions de la taille de la maison et du nombre de chambres pour prévoir le prix de la maison. Ces caractéristiques capturent des informations similaires, car plus il y a de chambres, plus la maison est grande et probablement un prix plus élevé en moyenne. La redondance pour (nombre de chambres, taille de la maison) sera supérieure à la redondance pour (taille de la maison, nombre de chambres). Cela est dû au fait que la taille de la maison «sait» davantage le nombre de chambres à coucher que linverse. Par conséquent, il y a une plus grande redondance du point de vue du nombre de chambres. Une autre façon dy penser est que la suppression de la taille de la maison sera plus préjudiciable aux performances du modèle que la suppression du nombre de chambres, car la taille de la maison peut mieux compenser labsence de nombre de chambres. Cela implique également que la taille de la maison serait une caractéristique plus importante que le nombre de chambres dans le modèle.

Le point important ici est que, comme la synergie, la redondance est une propriété naturellement asymétrique de la fonction dinformation globale les paires ont pour prédire un résultat. La redondance est exprimée en pourcentage allant de 0% (unicité totale) à 100% (redondance totale). La redondance ne peut pas nécessairement être repérée dans lanalyse exploratoire si deux entités sont redondantes mais pas linéairement corrélées.

Comme pour la synergie, la ligne de la matrice est la fonction «perspective de» dans la paire dentités ligne-colonne.Pour notre exemple dexploration, nous observons deux paires dentités hautement redondantes:

  • La première paire dentités redondantes est ROP et IROP. La redondance est similaire du point de vue de lune ou lautre caractéristique (75%) parce que lune est linverse de lautre et quelles peuvent donc se substituer lune à lautre dans le modèle du risque dincident. Cest un bon exemple de la capacité de FACET à détecter les redondances entre les entités même lorsquelles ne sont pas linéairement corrélées.
  • La deuxième paire dentités redondantes est la profondeur de fonctionnement et le diamètre du trou. Du point de vue du diamètre du trou, 53% des informations sont dupliquées avec la profondeur de lopération pour prédire léchec. Intuitivement, nous pouvons comprendre pourquoi, car la profondeur de fonctionnement et le diamètre du trou sont étroitement liés, car les foreurs utilisent des forets plus minces lorsquils forent plus profondément dans la terre. La raison pour laquelle la redondance pour (profondeur de lopération, diamètre du trou) est légèrement inférieure à (diamètre du trou, profondeur de lopération) est que la profondeur dopération est une caractéristique légèrement plus importante dans le modèle.

FACET peut produire un deuxième type de diagramme qui est très utile pour évaluer les relations de synergie ou de redondance sous forme de dendrogramme de clustering hiérarchique. Notez que cette approche repose sur une variante symétrique de redondance (ou synergie) qui fournit non seulement une perspective simplifiée, mais une distance caractéristique (1 – métrique) pour le regroupement. Dans notre exemple, nous nous intéressons au dendrogramme de redondance:

Dendrogramme de redondance des fonctionnalités de Facet

Le dendrogramme de redondance révèle des grappes de fonctionnalités redondantes, indique le degré de redondance mutuelle entre les entités dun cluster (plus les entités à gauche sont fusionnées dans le dendrogramme, plus leur redondance est forte) et, en utilisant une échelle de couleurs, montre limportance des caractéristiques pour les entités individuelles et les clusters dentités.

Nos deux paires de caractéristiques redondantes sont clairement reconnaissables dans le dendrogramme, y compris leur importance combinée. Le taux de pénétration (ROP) est très redondant avec sa fonction inverse (IROP) (redondance> 80%), et limportance combinée des deux fonctionnalités est de 36%. Étant donné que nous voulons simuler ROP, nous supprimerons IROP pour nous assurer que la fonctionnalité que nous simulons est un contributeur unique au résultat (nous fournirons une explication plus détaillée dans la section suivante).

Il y a une observation intéressante lorsque nous générons un nouveau dendrogramme de redondance après avoir supprimé lIROP et ré-entraîner le modèle: limportance de la fonctionnalité de ROP est passée à 35%, indiquant que ROP a pris le rôle de lancien cluster ROP / IROP dans lexplication de ROP – contributions liées au risque dincident.

Dendrogramme de liaison de redondance après lélagage des caractéristiques

Simulation de lélévation de fonctionnalité

Après avoir inspecté le modèle, nous sommes parvenus à une bonne compréhension de la façon dont le modèle fait une prédiction, et comment les prédicteurs interagissent les uns avec les autres.

Souvent, ces informations mènent directement à une question «et si»: ow peut-on changer systématiquement une variable influençable pour améliorer le résultat? Dans notre exemple, nous voulons comprendre comment les variations du taux de pénétration affectent le risque dincident. Dun point de vue économique, les opérateurs de forage essaieront de forer le plus rapidement possible tout en maintenant la sécurité et en réduisant les pannes. Des questions similaires sappliquent à dautres contextes commerciaux, où lobjectif est de réduire les coûts, maximiser le rendement, fidéliser les clients ou, en fait, optimiser tout résultat commercial basé sur des données.

Lapproche de simulation de FACET distingue une fonctionnalité, puis sexécute une série « dexpériences virtuelles » pour une plage de valeurs, en prétendant pour chaque expérience que la fonctionnalité simulée a toujours pris la valeur donnée pour chaque observation historique.

Avec cette approche, il est crucial que la fonctionnalité que nous simulons soit pas redondant avec toute autre fonctionnalité du modèle. Cela risquerait de créer des scénarios irréalisables en ajustant la valeur dune caractéristique mais pas celle de son frère redondant. Si, dans notre exemple, nous devions simuler ROP pour une plage de valeurs, mais gardions IROP dans le modèle, nous créerions très probablement des scénarios irréalisables.

Une simulation est réalisée en deux étapes: Premièrement, nous décidons dune fonctionnalité à simuler et choisissons lune des classes partitionneur de FACET pour diviser la plage des valeurs précédemment observées pour cette fonctionnalité en partitions . Deuxièmement, nous exécutons une simulation par partition, en fixant à chaque fois la valeur de la fonction simulée à la valeur centrale de la partition sur toutes les observations.

Par conséquent, dans notre exemple, la simulation pose la question: mon risque dincident moyen a-t-il été si javais toujours foré avec X m / s de ROP?«La ROP est mesurée comme un nombre réel, nous utilisons donc un ContinuousRangePartitioner pour créer une série de partitions de taille égale dans la plage de valeurs historiquement observées pour ROP. Il est important que nous simulions uniquement dans la plage de valeurs historiquement observée, car le modèle a été formé sur des valeurs de cette plage et ne sera généralement pas en mesure de proposer des extrapolations valides hors plage.

Simulation Étape 1 – Partitionner les valeurs observées pour la fonction ROP en buckets de taille égale

Utilisation meilleur modèle, que nous avons précédemment identifié à partir du LearnerRanker, le simulateur détermine désormais le risque dincident moyen prévu pour chaque partition. FACET prend en charge le bootstrap, ce qui nous permet de répéter chaque simulation plusieurs fois sur des variations du modèle entraînées sur différents sous-ensembles de données, et dutiliser la distribution des résultats de simulation pour quantifier le niveau de confiance dans la simulation.

Simulation Étape 2 – Simulation des résultats pour différentes valeurs de la fonction ROP

La visualisation ci-dessus montre leffet de la ROP sur le risque dincident, tout en donnant une idée de la confiance dans la simulation. Laxe des abscisses montre les différentes partitions pour lesquelles la simulation a été exécutée. Les barres sous laxe des x montrent le nombre dobservations dans léchantillon dorigine qui entrent dans la partition, indiquant le support que nous avons pour chaque valeur simulée. (Notez comment lintervalle de confiance sélargit vers les marges, car nous voyons moins de valeurs réellement observées pour ces partitions.) La ligne ascendante centrale représente le risque dincident médian prédit pour chaque partition, tandis que les lignes extérieures montrent lintervalle de confiance à 95% de tous les la validation se sépare de notre prédiction.

La simulation confirme que la probabilité dincident augmente considérablement à mesure que nous augmentons la ROP. Il donne un aperçu des niveaux de risque de fonctionnement à ROP plus rapide. Nous pouvons également voir quil y a eu plusieurs occasions où le ROP a été utilisé à un niveau dangereusement élevé (> 30 pieds / h), entraînant des probabilités dincident supérieures à 70%.

Et maintenant?

Dun point de vue commercial, avoir les réponses à ces questions «et si» est extrêmement précieux pour le processus dévaluation des risques et trouver des moyens daméliorer les processus actuels. Dans notre exemple, le voyage ne se terminerait pas ici. Sur la base des résultats de la simulation, une prochaine étape pourrait être de mener une analyse coûts-avantages du forage avec une ROP plus lente ou plus rapide pour obtenir le meilleur compromis entre le coût de forage et le risque financier dun incident de forage.

Vous pouvez facilement prendre GAMMA FACET pour un tour. conda install gamma-facet -c bcg_gamma -c conda-forge et consultez notre référentiel GitHub pour plus de documentation et des exemples concrets.

Remerciements

Ce package serait Cela naurait pas été possible sans la disponibilité de deux packages Python exceptionnels pour lapprentissage automatique et lexplicabilité des modèles:

1. scikit-learn fournit les apprenants et les transformateurs qui constituent les pipelines dapprentissage automatique sous-jacents de FACET. De plus, nous avons conçu lAPI FACET conformément au paradigme de base fit / transform / prédire scikit-learns pour permettre aux data scientists de démarrer facilement avec FACET.

2. Limplémentation de SHAP par Scott Lundberg est utilisée pour estimer les vecteurs SHAP décomposés dans la synergie , les vecteurs de redondance et dindépendance.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *