GAMMA FACET: En ny tilnærming for universelle forklaringer på Maskinlæringsmodeller

(Konstantin Hemker)

Forfattere: Jan Ittner, Konstantin Hemker & Malo Grisard

Raske fremskritt innen kunstig intelligens (AI) teknologier gir oss en evig utviklende verktøysett for å analysere selv de mest komplekse virkelige forretningsproblemer og prosesser. Toppmoderne maskinlæringsalgoritmer tillater beslutningstakere å forutsi forretningskritiske resultater nøyaktig som kostnad, hastighet, kvalitet eller avkastning. Men oftere enn ikke ligger den virkelige forretningsverdien av AI ikke bare i å forutsi resultater (hvilke kunder vil sannsynligvis si opp kontrakten?), Men i å forklare og optimalisere disse resultatene (hva må vi gjøre for å beholde kunder med høy verdi?).

Videre vil leder ofte være villig til å akseptere bruk av maskinlæring for å ta daglige beslutninger henger på hans eller hennes tillit til algoritmen, som igjen krever litt forståelse av hvordan en AI-modell gjør spådommer og avgjørelser. Behovet for å forklare AI-modeller vil bli enda viktigere ettersom bedrifter utvikler en økt bevissthet om etisk AI og søker å designe AI-modeller som er i stand til upartisk, sikker og ansvarlig beslutningstaking.

Bruk av Cooperative Game Theory for å forklare bidragsfunksjoner

Menneskelig forklarbar AI har sett store fremskritt de siste årene, spesielt med ankomsten av Shapley Additive Explanations (SHAP), en samlende teori og algoritme som anvender Cooperative Game Theory å forklare individuelle spådommer av en maskinlæringsmodell. Det som gjør SHAP så attraktivt, er at til tross for den avanserte matematiske underbygningen, er resultatene intuitive selv for publikum.

SHAP kvantifiserer bidragene til alle modellvariablene til et gitt forventet resultat. For eksempel kan vi bruke en modell for å forutsi pasientens risiko for å utvikle diabetes, basert på variabler som vekt, alder og treningsvaner. Modellen kan fortelle oss at risikoen er 67%. SHAP vil gå lenger og fortelle oss for eksempel at pasientens alder øker diabetesrisikoen med 5%, mens vekten reduserer den med 2%.

Den klargjørende rollen for modellinspeksjon og virtuelle eksperimenter

SHAP tilbyr et svært nyttig middel for å forklare individuelle spådommer. Inntil nylig var det imidlertid bare begrensede midler for å forklare modellen som helhet – for å forklare generelt hvordan variabler virker og samhandler for å komme med spådommer. GAMMA FACET presenterer en ny, helhetlig tilnærming for å forklare maskinlæringsmodeller. Den gjør det fra to vinkler: For det første bruker den en nylig utviklet modellinspeksjon algoritme for å forklare hvordan variabler i en prediktiv modell samarbeider for å forutsi resultater ved å identifisere mønstre på tvers av forklaringene til mange individuelle spådommer. For eksempel kan GAMMA FACET oppdage at vekt og kroppsmasse må vurderes i kombinasjon for å vurdere diabetesrisiko, mens kroppsmasseindeks og høyde / midje-forhold kan være utskiftbare. For det andre bruker den en simuleringstilnærming for å bestemme i «virtuelle eksperimenter» hvordan systematiske endringer i nøkkelfaktorer påvirker forventede resultater, for eksempel hvordan en økning i alder påvirker diabetesrisikoen i en pasientpopulasjon.

Case Study: Forebygging av sammenbrudd i vannboring

Den beste måten å utforske disse konseptene på er gjennom et eksempel fra den virkelige verden . Å bore en vannbrønn er veldig farlig og kostbar. Kostnadene ved slik boring er drevet av tiden det tar å fullføre en brønn for å begynne å pumpe vann fra den. For å redusere disse kostnadene blir borere vanligvis stimulert til å bore i et raskere tempo – målt som Rate of Penetration (ROP). Avhengig av jordegenskapene kan dagrater variere fra $ 30k til $ 250k. Men det er en kompromiss: Å bore raskere øker risikoen for hendelser, for eksempel en formasjonskollaps eller en gassinfiltrasjon. Vi vil derfor bygge en maskinlæringsmodell for å forstå innvirkningen av borehastighet på hendelsesrisikoen, i sammenheng med andre risikofaktorer.

For klarhets skyld bruker vi et forenklet datasett for dette eksemplet . Datasettet inneholder 500 observasjoner, med hver rad som representerer en boreoperasjon fra fortiden, sammen med en binær indikator for hvorvidt en brønnboringshendelse skjedde i operasjonen.

Basert på nåværende og tidligere driftsforhold, kan en prediktiv algoritme brukes til å varsle boreoperatøren om en høy hendelsesrisiko. Operatørene vil da ha muligheten til å justere boreparametrene. Imidlertid er det ofte ikke nok å vite når å handle.Operatøren må også forstå hvorfor det er hendelser, og hvilke er de optimale boreforholdene som balanserer borekostnadene med kostnaden for en potensiell hendelse. GAMMA FACET kan bidra til å levere disse handlingsbare innsiktene.

scikit-learn og Model Pipeline

For å danne ryggraden i vår forklarbare maskinlæringsmodell, må vi først bygge en modellrørledning som lar oss spore alle utdataene fra modellen tilbake til de første datainngangene, på tvers av alle transformasjons- og opplæringstrinn.

GAMMA FACET er designet rundt scikit-learning, de facto industristandard for maskinlæring i Python. scikit-learn tilbyr et bredt spekter av regresjons- og klassifiseringsalgoritmer. Det tilbyr også en universell tilnærming til å bygge maskinlæringsrørledninger, og kombinerer forhåndsbehandling av data med den faktiske modelltilpasningen i en integrert arbeidsflyt.

FACET forbedrer scikit-learning på tre viktige måter :

  1. Sporbarhet fra ende til ende-funksjon : Mens native scikit-learning er bygget rundt nummen og produserer alle utganger som numeriske matriser, gir FACET forbedrede versjoner av mer enn 150 scikit-learning-transformatorer, regressorer og klassifikatorer som leverer alle utganger som pandadatarammer. I tillegg inkluderer FACET attributter for å kartlegge navnene på avledede funksjoner tilbake til funksjonene de stammer fra. Denne kartleggingen er viktig hvis funksjonene skal refereres til ved navn lenger nedstrøms i maskinlæringsrørledningen.
  2. Forbedret rørledning : FACET introduserer ytterligere to-trinns rørledningsklasser som inneholder ett forbehandlingstrinn (som i seg selv kan være en rørledning) og et læringstrinn. Vår erfaring er at dette tilsynelatende mindre tillegget fører til betydelig mer kortfattet og lesbar rørledningskode.
  3. Forbedret validering : FACET introduserer kryssvalidatorer for flere varianter av bootstrapping, en statistisk teknikk som er spesielt relevant i sammenheng med FACETs simuleringsegenskaper.

Med referanse til boreeksemplet, her er hvordan vi kan konstruere en rørledning ved hjelp av FACETs støtte for sporbarhet av funksjoner:

Som du ser i denne kodebiten, ser rørledningen over nesten nøyaktig den samme som en rørledning konstruert med ren scikit-lær . Legg merke til at vi importerer alle rørledninger, transformatorer og estimatorer fra FACETs sklearndf -pakke, og at navnene på de kjente scikit-learn -klassene har «DF» -suffiks. Legg også merke til den spesielle ClassifierPipelineDF, en av FACETs forbedrede rørledninger som består av et valgfritt forhåndsbehandlingstrinn, sammen med et påfølgende lærersteg garantert å være en klassifikator. Som du kan se i utgangen, er forbehandlingsresultatet en dataramme som bevarer alle funksjonsnavn.

Deretter vil vi stille inn modellens hyperparametere ved hjelp av FACETs LearnerRanker. LeanerRanker fungerer på samme måte som scikit-lears grid searcher, men gjør det mye lettere å la flere typer modeller konkurrere mot hverandre, i stedet for å optimalisere hyper- parametere for en enkelt modell:

Modellforklaringer: Hva er årsaken til hendelser?

Vi har nå en avstemt og trent modell som forutsier risikoen for boreoperasjonene våre. Men vi vil være mer proaktive enn bare å distribuere modellen og svare ad hoc på forventede risikoer. I stedet ønsker vi å vite hva modellen har lært om hvorfor og når hendelser skjer. Vi vil at modellen skal hjelpe oss å forstå hvordan vi systematisk kan endre måten vi bruker boremaskiner på for å redusere hendelsesrisikoen.

FACET nærmer seg modellforklaring som en kombinasjon av to metoder:

  1. Forklaring av globale funksjonsinteraksjoner : Denne metoden forteller oss hva modellen har lært om hvordan funksjoner bidrar både individuelt og kollektivt til utfall. FACET introduserer en ny algoritme som for hvert par funksjoner kvantifiserer synergi, redundans og uavhengighet (se nedenfor for flere detaljer). Denne algoritmen er basert på SHAP vector decomposition , et matematisk rammeverk vi utviklet for globale modellforklaringer, og som vi vil detaljere nærmere i en kommende publikasjon.
  2. Modellbaserte simuleringer : Denne metoden lar oss identifisere hvordan systematiske funksjonsendringer vil bidra til å oppnå en ønsket utfall, i dette tilfellet for å minimere risikoen for en ødeleggelse av boret. Vi oppnår dette resultatet ved å lage syntetiske prøver for en rekke verdier og deretter bruke modellen til å evaluere endringer i forventet risiko. Som du vil se nedenfor, er forståelse av globale funksjonsinteraksjoner (dvs. metode 1) et viktig skritt for å sikre at simuleringene våre er gyldige under virkelige forhold.

Når de brukes i vårt boreeksempel , FACETs LearnerInspector -klasse gir en oversikt over funksjonsinteraksjoner ved å beregne parvis synergi og redundans :

Redundans og synergi matrise

Resultatene er to matriser som, for ethvert par funksjoner, forteller oss i prosent grad av synergi og redundans mellom disse to funksjonene.

Synergi

Synergi er i hvilken grad modellen kombinerer informasjon fra en funksjon med en annen for å forutsi målet. La oss for eksempel anta at vi forutsier kardiovaskulær helse ved bruk av alder og kjønn, og den tilpassede modellen inkluderer et komplekst samspill mellom dem. Dette betyr at disse to funksjonene er synergistiske for å forutsi kardiovaskulær helse. Videre er begge funksjonene viktige for modellen, og å fjerne en av dem vil påvirke ytelsen betydelig. La oss anta at alder er et viktigere trekk enn kjønn, og alderen bidrar altså mer til den kombinerte spådommen enn kjønn. Dette asymmetriske bidraget betyr at synergien for (alder, kjønn) er mindre enn synergien for (kjønn, alder). For å tenke på det på en annen måte, forestill deg at spådommen er en koordinat du prøver å nå. Fra utgangspunktet kommer alderen deg mye nærmere dette punktet enn kjønn, men du trenger begge for å komme dit. Synergi gjenspeiler det faktum at kjønn får mer hjelp fra alder (høyere synergi fra perspektivet til kjønn) enn alder gjør fra kjønn (lavere synergi fra perspektivet av alder) for å nå spådommen.

Dette fører til en viktig poeng: synergi er en naturlig asymmetrisk egenskap for den globale informasjonen, to samhandlende funksjoner bidrar til modellspådommer. Synergi uttrykkes som en prosentandel fra 0% (full autonomi) til 100% (full synergi). Merk at synergistiske trekk kan være helt ukorrelert, og de kan være vanskelige å få øye på gjennom regelmessig utforskende analyse.

For å tolke synergimatrisen er den første funksjonen i et par raden (“Perspektiv fra”), og den andre inneholder kolonnen. I vårt boreeksempel rapporterer FACET at «fra perspektivet» av rotasjonshastighet, er 67% av informasjonen kombinert med vekt på biten for å forutsi feil. Dette virker fornuftig i sammenheng, ettersom boring med både høy bitvekt og høy rotasjon kan ha en uforholdsmessig stor innvirkning på slitasjen på utstyret, og så drastisk øke hendelsesrisikoen. Det er forståelig at synergien også er høy fra vekten på biten (61%). Dette forteller oss at vi bør se på rotasjonshastighet og vekt på biten sammen for å forstå deres bidrag til hendelsesrisiko.

Redundans

Redundans er i hvilken grad en funksjon i en modell dupliserer informasjonen til en annen funksjon for å forutsi målet. La oss for eksempel anta at vi hadde husstørrelse og antall soverom for å forutsi huspris. Disse funksjonene fanger lignende informasjon, ettersom jo flere soverom jo større er huset og sannsynligvis en høyere pris i gjennomsnitt. Redundansen for (antall soverom, husstørrelse) vil være større enn redundansen for (husstørrelse, antall soverom). Dette er fordi størrelsen på huset «vet» mer om hva antall soverom som gjør det for å forutsi huspris enn omvendt. Derfor er det større redundans fra antall soverom. En annen måte å tenke på det er å fjerne husstørrelse, vil være mer skadelig for modellytelsen enn å fjerne antall soverom, da husstørrelse bedre kan kompensere for fraværet av antall soverom. Dette innebærer også at husstørrelse vil være en viktigere funksjon enn antall soverom i modellen.

Det viktige poenget her er at i likhet med synergi, er redundans en naturlig asymmetrisk egenskap for den globale informasjonsfunksjonen par har for å forutsi et utfall. Redundans uttrykkes som en prosentandel fra 0% (full unikhet) til 100% (full redundans). Redundans kan ikke nødvendigvis oppdages i utforskende analyse hvis to funksjoner er overflødige, men ikke lineært korrelerte.

Som med synergi, er matriseraden “perspektiv fra” -funksjonen i radkolonnens funksjonspar.For vårt boreeksempel observerer vi to par svært overflødige funksjoner:

  • Det første overflødige trekkparet er ROP og IROP. Redundansen er lik fra begge funksjoners perspektiv (75%) fordi den ene er den omvendte av den andre, og slik at de kan erstatte hverandre i modellen for hendelsesrisiko. Dette er et godt eksempel på FACETs evne til å plukke opp overflødigheter mellom funksjoner, selv når de ikke er lineært korrelert.
  • Det andre paret med overflødige funksjoner er driftsdybde og hulldiameter. Fra perspektivet til hulldiameter dupliseres 53% av informasjonen med dybden av operasjonen for å forutsi feil. Intuitivt kan vi se hvorfor, da driftsdybden og hulldiameteren er sterkt forbundet da borere bruker tynnere borekroner når de bor dypere ned i jorden. Årsaken til at redundansen for (operasjonsdybde, hulldiameter) er litt lavere enn (hulldiameter, operasjonsdybde) er fordi operasjonsdybden er en litt viktigere funksjon i modellen.

FACET kan produsere en annen type diagram som er veldig nyttig for å vurdere synergi- eller redundansrelasjoner som et hierarkisk klyngedendrogram. Merk at denne tilnærmingen er avhengig av en symmetrisk variant av redundans (eller synergi) som ikke bare gir et forenklet perspektiv, men en funksjonsavstand (1 – metrisk) for klynging. I vårt eksempel er vi interessert i redundans-dendrogrammet:

Facets funksjon redundans dendrogram

Redundans dendrogrammet avslører klynger av overflødige funksjoner, indikerer graden av gjensidig redundans blant funksjoner i en klynge (jo lengre til venstre funksjonene blir slått sammen i dendrogrammet, desto sterkere er deres redundans) og viser, ved hjelp av fargeskala, funksjonens betydning for individuelle egenskaper og klynger av funksjoner. > Våre to par overflødige funksjoner er tydelig gjenkjennelig i dendrogrammet, inkludert deres samlede betydning. Gjennomtrengningshastigheten (ROP) er svært overflødig med sin inverse funksjon (IROP) (> 80% redundans), og den kombinerte viktigheten av begge funksjonene er 36%. Gitt at vi ønsker å simulere ROP, vil vi fjerne IROP for å sikre at funksjonen vi simulerer er en unik bidragsyter til resultatet (vi vil gi en mer detaljert forklaring i neste avsnitt).

Det er en interessant observasjon når vi genererer et nytt redundans-dendrogram etter fjerning av IROP og trening av modellen: Funksjonens betydning av ROP har gått opp til 35%, noe som indikerer at ROP har tatt rollen som den tidligere ROP / IROP-klyngen i å forklare ROP -relaterte bidrag til hendelsesrisikoen.

Redundanskoblingsdendrogram etter beskjæring av funksjonen

Simulerende funksjonsheving

Etter inspeksjon modellen har vi kommet til en god forståelse av hvordan modellen gir en prediksjon, og hvordan prediktorene samhandler med hverandre.

Ofte fører denne innsikten rett til et «hva om» -spørsmål: H kan vi systematisk endre en påvirkelig variabel for å forbedre resultatet? I vårt eksempel ønsker vi å forstå hvordan endringer i penetrasjonsfrekvensen påvirker risikoen for hendelsen. Fra et økonomisk synspunkt vil boreoperatører prøve å bore så raskt som mulig mens de opprettholder sikkerhet og reduserer feil. Lignende spørsmål gjelder andre forretningssammenhenger, der målet er å redusere kostnadene, maksimere avkastningen, beholde kunder eller, faktisk, optimalisere ethvert forretningsresultat basert på data.

FACETs simuleringsmetode utpeker en funksjon, og kjører deretter en serie «virtuelle eksperimenter» for en rekke verdier, og late som for hvert eksperiment at den simulerte funksjonen alltid tok den gitte verdien for hver historiske observasjon.

Med denne tilnærmingen er det avgjørende at funksjonen vi simulerer er ikke overflødig med andre funksjoner i modellen. Hvis du gjør det, risikerer du å skape umulige scenarier ved å justere verdien av en funksjon, men ikke for den overflødige søsken. Hvis vi i vårt eksempel skulle simulere ROP for en rekke verdier, men holdt IROP i modellen, ville vi mer enn sannsynlig skape umulige scenarier.

En simulering utføres i to trinn: Først, vi bestemmer oss for en funksjon som skal simuleres og velger en av FACETs partisjoneringsklasser for å dele rekkevidden av tidligere observerte verdier for den funksjonen i partisjoner . For det andre kjører vi en simulering per partisjon, hver gang vi fester verdien til den simulerte funksjonen til partisjonens sentrale verdi på tvers av alle observasjoner.

Derfor, i vårt eksempel, stiller simuleringen spørsmålet: “Hva ville min gjennomsnittlige hendelsesrisiko har vært hadde jeg alltid boret med X m / s ROP?”ROP måles som et reelt tall, så vi bruker en ContinuousRangePartitioner for å lage en serie med like store partisjoner innenfor verdiområdet som historisk er observert for ROP. Det er viktig at vi bare simulerer innenfor det historisk observerte verdiområdet, siden modellen har blitt trent på verdier i det området og vanligvis ikke vil være i stand til å komme med gyldige ekstrapoleringer utenfor området.

Simulering Trinn 1 – Partisjonere de observerte verdiene for ROP-funksjonen i bøtter av samme størrelse

Bruk den beste modellen vi tidligere har identifisert fra LearnerRanker, bestemmer simulatoren nå den gjennomsnittlige forventede hendelsesrisikoen for hver partisjon. FACET støtter bootstrapping, slik at vi kan gjenta hver simulering mange ganger på variasjoner av modellen som er trent på forskjellige delmengder av dataene, og bruke distribusjonen av simuleringsresultater for å kvantifisere tilliten til simuleringen.

Simulering Trinn 2 – Simulering av resultater for forskjellige verdier av ROP-funksjonen

Visualiseringen over viser effekten av ROP på hendelsesrisikoen, samtidig som den gir en følelse av tilliten i simuleringen. X-aksen viser de forskjellige partisjonene som simuleringen ble kjørt for. Stolpene under x-aksen viser antall observasjoner i den opprinnelige prøven som faller innenfor partisjonen, og indikerer støtten vi har for hver simulerte verdi. (Legg merke til hvordan konfidensintervallet utvides mot marginene når vi ser færre faktisk observerte verdier for disse partisjonene.) Den sentrale stigende linjen representerer den medianforutsagte hendelsesrisikoen for hver partisjon, mens de ytre linjene viser 95% konfidensintervall for alle kryss- validering deler seg fra vår prediksjon.

Simuleringen bekrefter at hendelsessannsynligheten øker betydelig når vi øker ROP. Det gir et innblikk i risikonivåene ved å operere ved raskere ROP. Vi kan også se at det har vært flere anledninger der ROP ble operert på et farlig høyt nivå (> 30ft / t), noe som førte til hendelses sannsynlighet over 70%.

Hva er neste?

Fra et forretningsmessig perspektiv er det ekstremt verdifullt å ha svarene på disse «hva om» -spørsmålene for å vurdere risikoen og finne måter å forbedre nåværende prosesser. I vårt eksempel ville ikke reisen avsluttet her. Basert på resultatene fra simuleringen, kan et neste trinn være å gjennomføre en kostnads-nytte-analyse av boring med en langsommere eller raskere ROP for å oppnå den beste avveiningen mellom borekostnader og den økonomiske risikoen for en borehendelse.

Du kan enkelt ta GAMMA FACET for en spinn. Bare conda install gamma-facet -c bcg_gamma -c conda-forge og sjekk ut GitHub-arkivet for ytterligere dokumentasjon og utførte eksempler.

Takk

Denne pakken vil har ikke vært mulig uten tilgjengeligheten av to utestående Python-pakker for maskinlæring og forklaringsmodeller:

1. scikit-learn gir elevene og transformatorene som utgjør de underliggende maskinlæringsrørene til FACET. Videre designet vi FACET API i tråd med det grunnleggende passform / transform / forutsi paradigmet scikit-lærer å gi dataforskere en enkel start med FACET.

2. SHAP -implementeringen av Scott Lundberg brukes til å estimere SHAP-vektorene som blir nedbrutt i synergien , redundans og uavhengighetsvektorer.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *