GAMMA FACET: En ny tilgang til universelle forklaringer på Maskinindlæringsmodeller

(Konstantin Hemker)

Forfattere: Jan Ittner, Konstantin Hemker & Malo Grisard

Hurtige fremskridt inden for kunstig intelligens (AI) teknologier udstyrer os med en evig udviklende værktøjssæt til at analysere selv de mest komplekse virkelige forretningsproblemer og processer. De mest avancerede maskinlæringsalgoritmer giver beslutningstagere mulighed for nøjagtigt at forudsige forretningskritiske resultater såsom omkostninger, hastighed, kvalitet eller udbytte. Men oftere end ikke ligger den virkelige forretningsværdi af AI ikke kun i forudsigelse af resultaterne (hvilke kunder vil sandsynligvis annullere deres kontrakt?), Men i forklaring og optimering af disse resultater (hvad skal vi gøre for at fastholde kunder med høj værdi?).

Desuden er lederens villighed til at acceptere brugen af ​​maskinlæring til at tage daglige beslutninger ofte hænger på hans eller hendes tillid til algoritmen, hvilket igen kræver en vis forståelse af, hvordan en AI-model træffer forudsigelser og beslutninger. Behovet for at forklare AI-modeller bliver endnu vigtigere, da virksomheder udvikler en øget bevidsthed om etisk AI og søger at designe AI-modeller, der er i stand til upartisk, sikker og ansvarlig beslutningstagning.

Brug af Cooperative Game Theory til at forklare Feature Contributions

Human-forklarbar AI har set store fremskridt i de senere år, især med ankomsten af ​​Shapley Additive Explanations (SHAP), en samlende teori og algoritme, der anvender Cooperative Game Theory at forklare individuelle forudsigelser af en maskinlæringsmodel. Hvad der gør SHAP så attraktivt er, at resultaterne på trods af sin avancerede matematiske understøttelse er intuitive, selv for det generelle publikum.

SHAP kvantificerer bidragene fra alle modellens variabler til et givet forudsagt resultat. For eksempel kan vi bruge en model til at forudsige en patients risiko for at udvikle diabetes baseret på variabler såsom vægt, alder og træningsvaner. Modellen fortæller os måske, at risikoen er 67%. SHAP vil gå videre og fortælle os for eksempel, at patientens alder øger diabetesrisikoen med 5%, mens hendes vægt reducerer den med 2%.

Den afklarende rolle i modelinspektion og virtuelle eksperimenter

SHAP tilbyder et meget nyttigt middel til at forklare individuelle forudsigelser. Indtil for nylig var der imidlertid kun begrænsede midler til at forklare modellen som helhed – at forklare generelt, hvordan variabler fungerer og interagerer for at komme med forudsigelser. GAMMA FACET præsenterer en ny, holistisk tilgang til forklaring af maskinlæringsmodeller. Det gør det fra to vinkler: For det første bruger det en nyudviklet modelinspektion algoritme til at forklare, hvordan variabler i en forudsigende model samarbejder om at forudsige resultater ved at identificere mønstre på tværs af forklaringerne til mange individuelle forudsigelser. For eksempel kan GAMMA FACET finde ud af, at vægt og kropsmasse skal overvejes i kombination for at vurdere risikoen for diabetes, mens kropsmasseindeks og højde / talje-forhold kan være udskiftelige. For det andet anvender det en simuleringsmetode til at bestemme i “virtuelle eksperimenter”, hvordan systematiske ændringer i nøglefaktorer påvirker forudsagte resultater, såsom hvordan en stigning i alder påvirker diabetesrisikoen i en patientpopulation.

Casestudie: Forebyggelse af sammenbrud i vandboring

Den bedste måde at udforske disse koncepter på er gennem et eksempel fra den virkelige verden . At bore en vandbrønd er meget farlig og dyr. Omkostningerne ved sådan boring er drevet af den tid, det tager at færdiggøre en brønd for at begynde at pumpe vand fra den. For at reducere disse omkostninger tilskyndes borere normalt til at bore i et hurtigere tempo – målt som Rate of Penetration (ROP). Afhængigt af jordegenskaber kan dagrater variere fra $ 30k til $ 250k. Men der er en kompromis: Boring hurtigere øger risikoen for hændelser, såsom en formationskollaps eller en gasinfiltration. Vi vil derfor opbygge en maskinlæringsmodel for at forstå borehastighedens indvirkning på hændelsesrisikoen i sammenhæng med andre risikofaktorer.

Af hensyn til klarheden bruger vi et forenklet datasæt til dette eksempel . Datasættet indeholder 500 observationer, hvor hver række repræsenterer en tidligere boreoperation sammen med en binær indikator for, om der er sket en borehændelse i operationen.

Baseret på nuværende og tidligere driftsbetingelser kan en forudsigende algoritme bruges til at advare boreoperatøren om en høj hændelsesrisiko. Operatørerne ville så have mulighed for at justere boreparametre. At vide hvornår at handle er dog ofte ikke nok.Operatøren skal også forstå hvorfor der er hændelser, og hvilke er de optimale boreforhold, der afbalancerer borepriser med omkostningerne ved en potentiel hændelse. GAMMA FACET kan hjælpe med at levere disse handlingsmæssige indsigter.

scikit-learn og Model Pipeline

For at danne rygraden i vores forklarbare maskinlæringsmodel skal vi først oprette en modelrørledning, der giver os mulighed for at spore alle output af modellen tilbage til de indledende dataindgange på tværs af alle transformation og træningstrin.

GAMMA FACET er designet omkring scikit-learning, den de facto industristandard til maskinindlæring i Python. scikit-learn tilbyder en bred vifte af regressions- og klassificeringsalgoritmer. Det tilbyder også en universel tilgang til bygning af maskinlæringsrørledninger, der kombinerer forbehandling af data med den faktiske modeltilpasning i en integreret arbejdsgang.

FACET forbedrer scikit-learning på tre vigtige måder :

  1. Sporbarhed fra slut-til-ende-funktion : Mens native scikit-learning er bygget omkring bedøvet og producerer alle output som numeriske arrays, leverer FACET forbedrede versioner af mere end 150 scikit-learning-transformere, regressorer og klassifikatorer, der leverer alle output som pandadatarammer. Derudover inkluderer FACET attributter til kortlægning af navne på afledte funktioner tilbage til de funktioner, som de stammer fra. Denne kortlægning er vigtig, hvis funktionerne skal henvises til ved navn længere nedstrøms i maskinlæringsrørledningen.
  2. Forbedret pipelining : FACET introducerer yderligere to-trins pipeline-klasser, der indeholder et forbehandlingstrin (som i sig selv kan være en pipeline) og et elevtrin. Vores erfaring er, at denne tilsyneladende mindre tilføjelse fører til betydeligt mere kortfattet og læselig pipelining-kode.
  3. Forbedret validering : FACET introducerer krydsvalidatorer til flere varianter af bootstrapping, en statistisk teknik, der er særlig relevant i forbindelse med FACETs simuleringsfunktioner.

Med henvisning til boreeksemplet er her hvordan vi kan konstruere en pipeline ved hjælp af FACETs understøttelse af sporbarhed af funktioner:

Som du ser i dette kodestykke, ser pipelinen ovenfor næsten nøjagtigt den samme som en pipeline konstrueret ved hjælp af ren scikit-lær . Bemærk dog, at vi importerer alle rørledninger, transformere og estimatorer fra FACETs sklearndf pakke, og at navnene på de velkendte scikit-learn klasser alle har “DF” -suffiks. Bemærk også den specielle ClassifierPipelineDF, en af ​​FACETs forbedrede rørledninger, der omfatter et valgfrit forbehandlingstrin sammen med et efterfølgende lærertrin, der garanteres at være en klassifikator. Som du kan se i output, er forbehandlingsresultatet en dataramme, der bevarer alle funktionsnavne.

Dernæst vil vi indstille vores models hyperparametre ved hjælp af FACETs LearnerRanker. LeanerRanker fungerer på samme måde som scikit-lears grid searcher, men gør det meget nemmere at lade flere typer modeller konkurrere mod hinanden i stedet for at optimere hyper- parametre for en enkelt model:

Modelforklaringer: Hvad forårsager hændelser?

Vi har nu en tunet og trænet model, der forudsiger hændelsesrisikoen for vores boreoperationer. Men vi vil være mere proaktive end blot at implementere modellen og reagere ad hoc på forudsagte risici. I stedet ønsker vi at vide, hvad modellen har lært om hvorfor og hvornår hændelser sker. Vi ønsker, at modellen hjælper os med at forstå, hvordan vi systematisk kan ændre den måde, vi bruger vores boremaskiner på for at reducere hændelsesrisikoen.

FACET nærmer sig modelforklaring som en kombination af to metoder:

  1. Forklaring af globale funktionsinteraktioner : Denne metode fortæller os, hvad modellen har lært om, hvordan funktioner bidrager både individuelt og kollektivt til resultater. FACET introducerer en ny algoritme, der for hvert par funktioner kvantificerer synergi, redundans og uafhængighed (se nedenfor for flere detaljer). Denne algoritme er baseret på SHAP-vektornedbrydning , en matematisk ramme, som vi udviklede til forklaringer på global model, og som vi vil detaljerede yderligere i en kommende publikation.
  2. Modelbaserede simuleringer : Denne metode giver os mulighed for at identificere, hvordan systematiske funktionsændringer hjælper med at opnå en det ønskede resultat, i dette tilfælde for at minimere risikoen for en boresammenbrud. Vi opnår dette resultat ved at skabe syntetiske prøver til en række værdier og derefter bruge modellen til at evaluere ændringer i forudsagt risiko. Som du vil se nedenfor, er forståelse af globale funktionsinteraktioner (dvs. metode 1) et vigtigt skridt for at sikre, at vores simuleringer er gyldige under virkelige forhold.

Når det bruges i vores boreeksempel , FACETs LearnerInspector klasse giver en oversigt over funktionsinteraktioner ved at beregne parvis synergi og redundans :

Redundans og synergi matrix

Resultaterne er to matricer, der for ethvert par funktioner fortæller os i procent graden af ​​ synergi og redundans mellem disse to funktioner.

Synergi

Synergi er den grad, i hvilken modellen kombinerer information fra en funktion med en anden for at forudsige målet. Lad os for eksempel antage, at vi forudsiger kardiovaskulær sundhed ved hjælp af alder og køn, og den tilpassede model inkluderer en kompleks interaktion mellem dem. Dette betyder, at disse to funktioner er synergistiske til forudsigelse af hjerte-kar-sundhed. Desuden er begge funktioner vigtige for modellen, og fjernelse af en af ​​dem vil påvirke ydeevnen betydeligt. Lad os antage, at alder er et vigtigere træk end køn, og alderen bidrager således mere til den kombinerede forudsigelse end køn. Dette asymmetriske bidrag betyder, at synergien for (alder, køn) er mindre end synergien for (køn, alder). For at tænke over det på en anden måde, forestil dig forudsigelsen er en koordinat, du prøver at nå. Fra dit udgangspunkt kommer alderen dig meget tættere på dette punkt end køn, men du har begge brug for at komme derhen. Synergi afspejler det faktum, at køn får mere hjælp fra alder (højere synergi set fra køn) end alder gør fra køn (lavere synergi fra aldersperspektiv) til at nå forudsigelsen.

Dette fører til en vigtigt punkt: synergi er en naturlig asymmetrisk egenskab ved den globale information, to interagerende funktioner bidrager til modelforudsigelserne. Synergi udtrykkes som en procentdel, der spænder fra 0% (fuld autonomi) til 100% (fuld synergi). Bemærk, at synergistiske funktioner kan være fuldstændig ukorreleret, og de kan være svære at få øje på gennem regelmæssig sonderende analyse.

For at fortolke synergimatrixen er den første funktion i et par rækken (“Perspektiv fra”), og det andet indeholder kolonnen. I vores boreeksempel rapporterer FACET, at “fra perspektivet” af rotationshastighed er 67% af informationen kombineret med vægt på bit for at forudsige fejl. Dette synes fornuftigt i sammenhæng, da boring med både høj bitvægt og høj rotation kan have en uforholdsmæssigt stor indvirkning på slid på udstyret og så drastisk øge risikoen for hændelse. Det er forståeligt, at synergien også er høj set ud fra bitens vægt (61%). Dette fortæller os, at vi skal se på rotationshastighed og vægt på bit sammen for at forstå deres bidrag til hændelsesrisiko.

Redundans

Redundans er den grad, i hvilken en funktion i en model duplikerer oplysningerne om en anden funktion for at forudsige målet. Lad os for eksempel antage, at vi havde husstørrelse og antal soveværelser til forudsigelse af husprisen. Disse funktioner fanger lignende oplysninger, da jo flere soveværelser jo større er huset og sandsynligvis en højere pris i gennemsnit. Redundansen for (antal soveværelser, husstørrelse) vil være større end redundansen for (husstørrelse, antal soveværelser). Dette skyldes, at husstørrelse “ved” mere om, hvad antallet af soveværelser for at forudsige husprisen end omvendt. Derfor er der større redundans set fra antallet af soveværelser. En anden måde at tænke på det er at fjerne husstørrelse vil være mere skadeligt for modelydelse end at fjerne antal soveværelser, da husstørrelse bedre kan kompensere for fraværet af antal soveværelser. Dette indebærer også, at husstørrelse ville være en vigtigere funktion end antallet af soveværelser i modellen.

Det vigtige punkt her er, at ligesom synergi er redundans en naturligt asymmetrisk egenskab ved den globale informationsfunktion par har til at forudsige et resultat. Redundans udtrykkes som en procentdel, der spænder fra 0% (fuld unikhed) til 100% (fuld redundans). Redundans kan ikke nødvendigvis ses i sonderende analyse, hvis to funktioner er overflødige, men ikke lineært korrelerede.

Som med synergi er matrixrækken funktionen “perspektiv fra” i række-søjle-funktionspar.For vores boreeksempel observerer vi to par meget overflødige træk:

  • Det første redundante trækpar er ROP og IROP. Redundansen er ens fra begge funktioners synspunkt (75%), fordi den ene er den omvendte af den anden, og så de kan erstatte hinanden i modellen med hændelsesrisiko. Dette er et godt eksempel på FACETs evne til at opfange afskedigelser mellem funktioner, selv når de ikke er lineært korreleret.
  • Det andet par redundante funktioner er driftsdybde og huldiameter. Fra perspektivet af huldiameter duplikeres 53% af informationen med operationens dybde for at forudsige fejl. Intuitivt kan vi se, hvorfor driftsdybden og huldiameteren er stærkt forbundet, idet boremaskiner bruger tyndere borekroner, når de borer dybere ned i jorden. Årsagen til, at redundansen for (operationens dybde, huldiameter) er lidt lavere end (huldiameter, operationens dybde) er, at driftsdybden er en lidt mere vigtig funktion i modellen.

FACET kan producere en anden type diagram, der er meget nyttig til vurdering af synergi- eller redundansrelationer som et hierarkisk grupperingsdendrogram. Bemærk, at denne tilgang er afhængig af en symmetrisk variant af redundans (eller synergi), der ikke kun giver et forenklet perspektiv, men en funktionsafstand (1 – metrisk) til klyngedannelse. I vores eksempel er vi interesserede i redundansdendrogrammet:

Facets funktion redundans dendrogram

Redundans dendrogrammet afslører klynger af overflødige funktioner, indikerer graden af ​​gensidig redundans blandt funktioner i en klynge (jo længere til venstre funktioner er flettet i dendrogrammet, jo stærkere er deres redundans) og viser ved hjælp af en farveskala funktionens betydning for individuelle funktioner og klynger af funktioner.

Vores to par overflødige træk kan tydeligt genkendes i dendrogrammet, inklusive deres kombinerede betydning. Gennemtrængningshastigheden (ROP) er meget overflødig med sin inverse funktion (IROP) (> 80% redundans), og den kombinerede betydning af begge funktioner er 36%. Da vi ønsker at simulere ROP, fjerner vi IROP for at sikre, at den funktion, vi simulerer, er en unik bidragyder til resultatet (vi vil give en mere detaljeret forklaring i næste afsnit).

Der er en interessant observation, når vi genererer et nyt redundansdendrogram efter fjernelse af IROP og genoplæring af modellen: Funktionsvigtigheden af ​​ROP er steget til 35%, hvilket indikerer, at ROP har påtaget sig rollen som den tidligere ROP / IROP-klynge i forklaringen af ​​ROP -relaterede bidrag til hændelsesrisikoen.

Dendrogram for redundansforbindelse efter funktionsbeskæring

Simulering af funktionsløft

Efter inspektion modellen er vi nået til en god forståelse af, hvordan modellen forudsiger, og hvordan forudsigerne interagerer med hinanden.

Ofte fører denne indsigt direkte til et “hvad hvis” spørgsmål: H kan vi systematisk ændre en påvirkelig variabel for at forbedre resultatet? I vores eksempel vil vi forstå, hvordan ændringer i penetrationshastighed påvirker hændelsesrisikoen. Fra et økonomisk synspunkt vil boreoperatører forsøge at bore så hurtigt som muligt, samtidig med at de opretholder sikkerhed og reducerer fejl. Lignende spørgsmål gælder for andre forretningssammenhænge, ​​hvor målet er at reducere omkostninger, maksimere udbyttet, fastholde kunder eller faktisk optimere ethvert forretningsresultat baseret på data.

FACETs simuleringsmetode udpeger en funktion og kører derefter en række “virtuelle eksperimenter” for en række værdier, idet de foregiver for hvert eksperiment, at den simulerede funktion altid tog den givne værdi for hver historisk observation.

Med denne tilgang er det afgørende, at den funktion, vi simulerer, er ikke overflødig med andre funktioner i modellen. Hvis du gør det, risikerer du at skabe umulige scenarier ved at justere værdien af ​​en funktion, men ikke for dens overflødige søskende. Hvis vi i vores eksempel simulerede ROP for en række værdier, men holdt IROP i modellen, ville vi mere end sandsynligt skabe umulige scenarier.

En simulering udføres i to trin: Først, vi beslutter, at en funktion skal simuleres, og vælger en af ​​FACETs partitioner -klasser for at opdele området for tidligere observerede værdier for denne funktion i partitioner . For det andet kører vi en simulation pr. Partition, hver gang vi fastsætter værdien af ​​den simulerede funktion til partitionens centrale værdi på tværs af alle observationer.

Derfor, i vores eksempel, stiller simuleringen spørgsmålet: “Hvad ville min gennemsnitlige hændelsesrisiko har været, hvis jeg altid har boret med X m / s ROP?”ROP måles som et reelt tal, så vi bruger en ContinuousRangePartitioner til at oprette en række lige store partitioner inden for det værdiområde, der historisk er observeret for ROP. Det er vigtigt, at vi kun simulerer inden for det historisk observerede værdiområde, da modellen er blevet trænet på værdier i dette interval og normalt ikke vil være i stand til at komme med gyldige ekstrapoleringer uden for området.

Simulation Trin 1 – Opdeling af de observerede værdier for ROP-funktionen i spande af samme størrelse

Brug den bedste model, vi tidligere identificerede fra LearnerRanker, simulatoren bestemmer nu den gennemsnitlige forudsagte hændelsesrisiko for hver partition. FACET understøtter bootstrapping, så vi kan gentage hver simulation mange gange på variationer af modellen, der er trænet i forskellige delmængder af dataene, og bruge fordelingen af ​​simuleringsresultater til at kvantificere tilliden til simuleringen.

Simulation Trin 2 – Simulering af resultater for forskellige værdier af ROP-funktionen

Visualiseringen ovenfor viser virkningen af ​​ROP på hændelsesrisikoen, samtidig med at den giver en følelse af tilliden i simuleringen. X-aksen viser de forskellige partitioner, som simuleringen blev kørt for. Søjlerne under x-aksen viser antallet af observationer i den originale prøve, der falder inden for partitionen, hvilket indikerer den understøttelse, vi har for hver simuleret værdi. (Bemærk, hvordan konfidensintervallet udvides mod marginerne, da vi ser færre faktisk observerede værdier for disse partitioner.) Den centrale stigende linje repræsenterer den mediane forudsagte hændelsesrisiko for hver partition, mens de ydre linjer viser 95% konfidensintervallet for alle kryds- validering adskiller sig fra vores forudsigelse.

Simuleringen bekræfter, at hændelsessandsynligheden stiger markant, når vi øger ROP. Det giver et indblik i risikoniveauet ved at operere ved hurtigere ROP. Vi kan også se, at der har været flere lejligheder, hvor ROP blev betjent på et farligt højt niveau (> 30ft / h), hvilket førte til hændelsessandsynligheder over 70%.

Hvad er det næste?

Fra et forretningsmæssigt perspektiv er det meget værdifuldt at have svarene på disse “hvad hvis” -spørgsmål til processen med at vurdere risiko og finde måder til at forbedre aktuelle processer. I vores eksempel ville rejsen ikke ende her. Baseret på resultaterne fra simuleringen kan et næste skridt være at foretage en cost-benefit-analyse af boring med en langsommere eller hurtigere ROP for at opnå den bedste afvejning mellem boreomkostninger og den økonomiske risiko for en borehændelse.

Du kan nemt tage GAMMA FACET til et spin. Du skal blot conda install gamma-facet -c bcg_gamma -c conda-forge og tjekke vores GitHub-arkiv for yderligere dokumentation og fungerede eksempler.

Anerkendelser

Denne pakke ville har ikke været muligt uden tilgængeligheden af ​​to udestående Python-pakker til maskinindlæring og forklaring af modeller:

1. scikit-learn giver de elever og transformatorer, der udgør de underliggende maskinlæringsrørledninger i FACET. Desuden designede vi FACET API i tråd med det grundlæggende fit / transform / forudsig paradigme scikit-lærer at give dataforskere en nem start med FACET.

2. SHAP implementeringen af ​​ Scott Lundberg bruges til at estimere de SHAP-vektorer, der nedbrydes i synergien , redundans og uafhængighedsvektorer.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *