GAMMA FACET: O nouă abordare pentru explicațiile universale ale Modele de învățare automată

(Konstantin Hemker)

Autori: Jan Ittner, Konstantin Hemker & Malo Grisard

Progresele rapide în tehnologiile de inteligență artificială (AI) ne echipează set de instrumente în evoluție pentru a analiza chiar și cele mai complexe probleme și procese de afaceri din lumea reală. Algoritmii de învățare automată de ultimă generație permit factorilor de decizie să prezică cu exactitate rezultate critice pentru afaceri, cum ar fi costul, viteza, calitatea sau randamentul. Dar cel mai adesea, adevărata valoare de afaceri a IA nu constă doar în simpla previziune a rezultatelor (care clienți sunt susceptibili de a-și anula contractul?), Ci în explicarea și optimizarea acelor rezultate (ce trebuie să facem pentru a păstra clienții cu valoare ridicată?).

Mai mult, dorința unui manager de a accepta utilizarea învățării automate pentru a lua decizii de zi cu zi se bazează pe încrederea sa în algoritm, care, la rândul său, necesită o oarecare înțelegere a modului în care un model AI ia predicții și decizii. Necesitatea explicării modelelor de IA va deveni și mai importantă pe măsură ce companiile dezvoltă o conștientizare sporită a eticii AI și încearcă să proiecteze modele de AI capabile de luare a deciziilor imparțiale, sigure și responsabile.

Folosirea teoriei jocului cooperativ pentru a explica contribuțiile caracteristicilor

AI explicabilă de către om a înregistrat progrese uriașe în ultimii ani, mai ales odată cu venirea Shapley Additive Explanations (SHAP), o teorie unificatoare și algoritm care aplică teoria jocului cooperativ pentru a explica predicțiile individuale ale unui model de învățare automată. Ceea ce face SHAP atât de atractiv este faptul că, în ciuda bazelor sale matematice avansate, rezultatele sunt intuitive chiar și pentru publicul general.

SHAP cuantifică contribuțiile tuturor variabilelor unui model la orice rezultat estimat dat. De exemplu, am putea folosi un model pentru a prezice riscul unui pacient de a dezvolta diabet, pe baza unor variabile precum greutatea, vârsta și obiceiurile de exercițiu. Modelul ne-ar putea spune că riscul este de 67%. SHAP va merge mai departe, spunându-ne, de exemplu, că vârsta pacientei crește riscul de diabet cu 5%, în timp ce greutatea ei scade cu 2%.

Rolul clarificator al inspecției modelelor și al experimentelor virtuale

SHAP oferă un mijloc extrem de util de explicare a predicțiilor individuale. Cu toate acestea, până de curând, existau doar mijloace limitate pentru a explica modelul în ansamblu – pentru a explica în general cum acționează și interacționează variabilele pentru a veni cu predicții. GAMMA FACET prezintă o nouă abordare holistică pentru a explica modelele de învățare automată. Face acest lucru din două unghiuri: În primul rând, folosește un algoritm inspecție model nou dezvoltat pentru a explica modul în care variabilele unui model predictiv colaborează pentru a prezice rezultatele prin identificarea tiparelor în explicațiile multor predicții individuale. De exemplu, GAMMA FACET ar putea găsi că greutatea și masa corporală trebuie luate în considerare în combinație pentru a evalua riscul de diabet, în timp ce indicele de masă corporală și raportul înălțime / talie ar putea fi interschimbabile. În al doilea rând, aplică o abordare de simulare pentru a determina în „experimentele virtuale” modul în care modificările sistematice ale factorilor cheie au impact asupra rezultatelor prezise, ​​cum ar fi modul în care o creștere a vârstei afectează riscul de diabet la o populație de pacienți.

Studiu de caz: prevenirea defecțiunilor în forarea apei

Cel mai bun mod de a explora aceste concepte este printr-un exemplu din lumea reală . Forarea unui puț de apă este foarte periculoasă și costisitoare. Costurile unei astfel de forări sunt determinate de timpul necesar finalizării unei puțuri pentru a începe pomparea apei din ea. Pentru a reduce aceste costuri, forajele sunt de obicei stimulate să foreze într-un ritm mai rapid – măsurat ca Rata de penetrare (POR). În funcție de caracteristicile solului, tarifele zilnice pot varia de la 30.000 USD la 250.000 USD. Dar există un compromis: forarea mai rapidă crește riscul de incidente, cum ar fi colapsul formației sau infiltrarea gazelor. Prin urmare, vom construi un model de învățare automată pentru a înțelege impactul vitezei de foraj asupra riscului incidentului, în contextul altor factori de risc.

Din motive de claritate, folosim un set de date simplificat pentru acest exemplu . Setul de date conține 500 de observații, fiecare rând reprezentând o operațiune de foraj din trecut, împreună cu un indicator binar dacă a avut loc sau nu un incident de forare a puțului în operațiune.

Pe baza condițiilor de operare prezente și anterioare, se poate utiliza un algoritm predictiv pentru a alerta operatorul de foraj cu privire la o risc ridicat de incidente. Operatorii ar avea atunci posibilitatea de a regla parametrii de foraj. Cu toate acestea, nu este suficient să știi când să acționezi.De asemenea, operatorul trebuie să înțeleagă de ce există incidente și care sunt condițiile optime de foraj care echilibrează costul forajului cu costul unui potențial incident. GAMMA FACET vă poate ajuta să furnizați aceste informații utile.

scikit-learn și Model Pipeline

Pentru a forma coloana vertebrală a modelului nostru de învățare automată explicabilă, trebuie mai întâi să construim o conductă de model care să ne permită să urmărim toate ieșirile modelului înapoi la intrările de date inițiale, în toate etapele de transformare și instruire.

GAMMA FACET este conceput în jurul scikit-learn, standardul de facto al industriei pentru învățarea automată în Python. scikit-learn oferă o gamă largă de algoritmi de regresie și clasificare. De asemenea, oferă o abordare universală a construirii conductelor de învățare automată, combinând pre-procesarea datelor cu modelul real care se potrivește într-un singur flux de lucru integrat.

FACET îmbunătățește scikit-learn în trei moduri esențiale :

  1. Trasabilitatea caracteristicilor end-to-end : În timp ce scikit-learn nativ este construit în jurul numpy și produce toate ieșirile sub formă de matrice numerice, FACET oferă versiuni îmbunătățite ale a peste 150 de transformatoare scikit-learn, regresori și clasificatori care furnizează toate ieșirile sub formă de cadre de date pandas. În plus, FACET include atribute pentru maparea numelor caracteristicilor derivate înapoi la caracteristicile din care au provenit. Această mapare este esențială dacă caracteristicile trebuie menționate în funcție de nume în aval în conducta de învățare automată.
  2. Conducte îmbunătățite : FACET introduce clase suplimentare de conducte în doi pași care conțin o etapă de pre-procesare (care poate fi ea însăși o conductă) și o etapă de cursant. Experiența noastră este că această adăugare aparent minoră duce la un cod de canalizare semnificativ mai concis și lizibil.
  3. Validare îmbunătățită : FACET introduce validatori încrucișați pentru mai multe variante de bootstrapping, o tehnică statistică care este deosebit de relevantă în contextul capabilităților de simulare FACET.

Referindu-ne la exemplul de foraj, iată cum ar putea construi o conductă utilizând suportul FACET pentru trasabilitatea caracteristicilor:

După cum vedeți în acest fragment de cod, conducta de mai sus arată aproape exact la fel ca o conductă construită folosind pure scikit-learn . Observați, totuși, că importăm toate conductele, transformatoarele și estimatorii din pachetul sklearndf FACET și că numele claselor familiare scikit-learn au toate Sufixul „DF”. Rețineți, de asemenea, ClassifierPipelineDF special, una dintre conductele îmbunătățite ale FACET care cuprinde o etapă opțională de pre-procesare, împreună cu o etapă ulterioară de cursant garantată a fi un clasificator. După cum puteți vedea în rezultat, rezultatul pre-procesării este un cadru de date care păstrează toate numele caracteristicilor.

Apoi, dorim să reglăm hiper-parametrii modelului nostru folosind FACET LearnerRanker. LeanerRanker funcționează similar cu scikit-learn’s căutător de grilă, dar face mult mai ușor să lăsați mai multe tipuri de modele să concureze între ele, mai degrabă decât să optimizați hiper- parametrii unui singur model:

Explicații despre model: ce cauzează incidente?

Acum avem un model pregătit și pregătit care prezice riscul incident al operațiunilor noastre de foraj. Dar vrem să fim mai proactivi decât să implementăm modelul și să răspundem ad-hoc la riscurile prezise. În schimb, vrem să știm ce a învățat modelul despre de ce și când se întâmplă incidente. Vrem ca modelul să ne ajute să înțelegem cum putem schimba în mod sistematic modul în care operăm mașinile de forat pentru a reduce riscul de incident.

FACET abordează explicația modelului ca o combinație de două metode:

  1. Explicarea interacțiunilor globale cu caracteristicile : Această metodă ne spune ce a învățat modelul despre modul în care caracteristicile contribuie atât individual, cât și colectiv la rezultate. FACET introduce un nou algoritm care, pentru fiecare pereche de caracteristici, cuantifică sinergia, redundanța și independența (vezi mai jos pentru mai multe detalii). Acest algoritm se bazează pe SHAP vector descompunere , un cadru matematic pe care l-am dezvoltat pentru explicații la nivel global și pe care îl vom detalia în continuare într-o publicație viitoare.
  2. Simulări bazate pe model : Această metodă ne permite să identificăm modul în care modificările sistematice ale caracteristicilor vor ajuta la realizarea unui rezultatul dorit, în acest caz pentru a minimiza riscul unei avarii a forajului. Obținem acest rezultat prin crearea de eșantioane sintetice pentru o serie de valori și apoi folosind modelul pentru a evalua modificările riscului prezis. După cum veți vedea mai jos, înțelegerea interacțiunilor globale cu caracteristicile (de exemplu, metoda 1) este un pas esențial pentru a ne asigura că simulările noastre sunt valabile în condiții reale.

Atunci când sunt utilizate în exemplul nostru de foraj , Clasa FACET LearnerInspector oferă o prezentare generală a interacțiunilor caracteristicilor prin calcularea perechilor sinergie și redundanță :

Redundanță și sinergie matrice

Rezultatele sunt două matrice care, pentru orice pereche de caracteristici, ne indică procentual gradul de sinergie și redundanță între aceste două caracteristici.

Synergy

Synergy este gradul în care modelul combină informații dintr-o caracteristică cu alta pentru a prezice ținta. De exemplu, să presupunem că prezicem sănătatea cardiovasculară folosind vârsta și sexul, iar modelul adaptat include o interacțiune complexă între ele. Aceasta înseamnă că aceste două caracteristici sunt sinergice pentru prezicerea sănătății cardiovasculare. Mai mult, ambele caracteristici sunt importante pentru model și eliminarea uneia dintre ele ar avea un impact semnificativ asupra performanței. Să presupunem că vârsta este o caracteristică mai importantă decât sexul și astfel vârsta contribuie mai mult la predicția combinată decât sexul. Această contribuție asimetrică înseamnă că sinergia pentru (vârstă, sex) este mai mică decât sinergia pentru (sex, vârstă). Pentru a vă gândi la asta într-un alt mod, imaginați-vă că predicția este o coordonată pe care încercați să o atingeți. Din punctul tău de plecare, vârsta te apropie mult mai mult de acest punct decât de gen, totuși, ai nevoie de amândouă pentru a ajunge acolo. Sinergia reflectă faptul că genul primește mai mult ajutor de la vârstă (sinergie mai mare din perspectiva genului) decât vârsta de la gen (sinergie mai mică din perspectiva vârstei) pentru a ajunge la predicție.

Acest lucru duce la o punct important: sinergia este o proprietate natural asimetrică a informațiilor globale, două caracteristici care interacționează contribuie la predicțiile modelului. Sinergia este exprimată ca procent de la 0% (autonomie deplină) la 100% (sinergie completă). Rețineți că caracteristicile sinergice pot fi complet necorelate și pot fi greu de identificat prin analize exploratorii regulate.

Pentru a interpreta matricea sinergică, prima caracteristică dintr-o pereche este rândul („Perspectiva din”), iar a doua prezintă coloana. În exemplul nostru de foraj, FACET raportează că „din perspectiva” vitezei de rotație, 67% din informații sunt combinate cu greutatea pe bit pentru a prezice eșecul. Acest lucru pare sensibil în context, deoarece găurirea atât cu o greutate mare cât și cu o rotație ridicată poate avea un impact disproporționat de mare asupra uzurii echipamentelor și, astfel, poate crește drastic riscul de incident. Este de înțeles că sinergia este, de asemenea, ridicată din perspectiva greutății pe bit (61%). Acest lucru ne spune că ar trebui să analizăm împreună viteza de rotație și greutatea bitului pentru a înțelege contribuția lor la riscul incidentului.

Redundanță

Redundanța este gradul în care o caracteristică dintr-un model dublează informațiile unei a doua caracteristici pentru a prezice ținta. De exemplu, să presupunem că am avut dimensiunea casei și numărul de dormitoare pentru prezicerea prețului casei. Aceste caracteristici captează informații similare, cu cât mai multe dormitoare cu atât este mai mare casa și probabil un preț mai mare în medie. Redundanța pentru (numărul de dormitoare, dimensiunea casei) va fi mai mare decât redundanța pentru (dimensiunea casei, numărul de dormitoare). Acest lucru se datorează faptului că dimensiunea casei „știe” mai mult despre ceea ce face numărul de dormitoare pentru prezicerea prețului casei decât invers. Prin urmare, există o redundanță mai mare din perspectiva numărului de dormitoare. O altă modalitate de a vă gândi la asta este eliminarea dimensiunii casei va fi mai dăunătoare performanței modelului decât eliminarea numărului de dormitoare, deoarece dimensiunea casei poate compensa mai bine absența numărului de dormitoare. Acest lucru implică, de asemenea, că dimensiunea casei ar fi o caracteristică mai importantă decât numărul de dormitoare din model.

Punctul important aici este că, la fel ca sinergia, redundanța este o proprietate natural asimetrică a caracteristicii informaționale globale. perechile au pentru a prezice un rezultat. Redundanța este exprimată ca un procent care variază de la 0% (unicitate completă) la 100% (redundanță completă). Redundanța nu poate fi neapărat identificată în analiza exploratorie dacă două caracteristici sunt redundante, dar nu sunt corelate liniar.

La fel ca în cazul sinergiei, rândul matricei este caracteristica „perspectivă din” din perechea de caracteristici rând-coloană.Pentru exemplul nostru de foraj, observăm două perechi de caracteristici extrem de redundante:

  • Prima pereche de caracteristici redundante este ROP și IROP. Redundanța este similară din perspectiva oricărei caracteristici (75%), deoarece una este inversa celeilalte și astfel se pot substitui reciproc în model pentru riscul incidentului. Acesta este un bun exemplu al capacității FACET de a prelua redundanțe între caracteristici chiar și atunci când acestea nu sunt corelate liniar.
  • A doua pereche de caracteristici redundante este adâncimea de funcționare și diametrul găurii. Din perspectiva diametrului găurii, 53% din informații sunt duplicate cu adâncimea operației pentru a prezice eșecul. Intuitiv, putem vedea de ce, deoarece adâncimea de funcționare și diametrul găurii sunt extrem de conectate, pe măsură ce găurile de foraj folosesc biți de foraj mai subțiri pe măsură ce găuresc mai adânc în pământ. Motivul pentru care redundanța (adâncimea operației, diametrul găurii) este ușor mai mică decât (diametrul găurii, adâncimea operației) se datorează faptului că adâncimea de funcționare este o caracteristică puțin mai importantă în model.

FACET poate produce un al doilea tip de diagramă care este foarte util pentru evaluarea relațiilor de sinergie sau redundanță ca o dendrogramă ierarhică de clusterizare. Rețineți că această abordare se bazează pe o variantă simetrică de redundanță (sau sinergie) care oferă nu numai o perspectivă simplificată, ci și o distanță de caracteristică (1 – metrică) pentru grupare. În exemplul nostru, ne interesează dendrograma de redundanță:

Dendrogramă de redundanță a caracteristicii fațetei

Dendrograma de redundanță dezvăluie grupuri de caracteristici redundante, indică gradul de redundanță reciprocă dintre caracteristicile dintr-un cluster (cu cât elementele din stânga sunt îmbinate în dendrogramă, cu atât este mai puternică redundanța lor) și, utilizând o scară de culoare, arată importanța caracteristicilor pentru caracteristicile individuale și grupurile de caracteristici.

Cele două perechi de caracteristici redundante sunt clar recunoscute în dendrogramă, inclusiv importanța lor combinată. Rata de penetrare (ROP) este extrem de redundantă cu caracteristica sa inversă (IROP) (> 80% redundanță), iar importanța combinată a ambelor caracteristici este de 36%. Având în vedere că dorim să simulăm ROP, vom elimina IROP pentru a ne asigura că caracteristica pe care o simulăm contribuie în mod unic la rezultat (vom oferi o explicație mai detaliată în secțiunea următoare).

Există o observație interesantă atunci când generăm o nouă dendrogramă de redundanță după eliminarea IROP și reinstruirea modelului: Importanța caracteristică a POR a crescut până la 35%, indicând faptul că POR a preluat rolul fostului cluster POR / IROP în explicarea POR -contribuții legate de riscul incidentului.

Dendrogramă de legătură de redundanță după tăierea caracteristicilor

Simulating Uplift Feature Uplift

După inspecție modelul, am ajuns la o bună înțelegere a modului în care modelul face o predicție și a modului în care predictorii interacționează între ei.

În mod frecvent, aceste informații conduc direct la o întrebare „ce se întâmplă dacă”: H cum putem schimba sistematic o variabilă influențabilă pentru a îmbunătăți rezultatul? În exemplul nostru, vrem să înțelegem modul în care modificările din rata de penetrare influențează riscul incidentului. Din punct de vedere economic, operatorii de foraj vor încerca să foreze cât mai repede posibil, menținând în același timp siguranța și reducând defecțiunile. Întrebări similare se aplică și în alte contexte de afaceri, unde scopul este de a reduce costurile, de a maximiza randamentul, de a păstra clienții sau, într-adevăr, de a optimiza orice rezultat al afacerii pe baza datelor.

Abordarea de simulare FACET selectează o caracteristică, apoi rulează o serie de „experimente virtuale” pentru o serie de valori, pretinzând pentru fiecare experiment că caracteristica simulată a luat întotdeauna valoarea dată pentru fiecare observație istorică.

Cu această abordare este crucial ca caracteristica pe care o simulăm să fie nu este redundant cu nicio altă caracteristică din model. Dacă faceți acest lucru, riscați să creați scenarii infezabile prin ajustarea valorii unei caracteristici, dar nu și a fratelui său redundant. Dacă, în exemplul nostru, am simula ROP pentru o gamă de valori, dar am păstra IROP în model, am crea cu multă probabilitate scenarii infezabile.

O simulare este efectuată în doi pași: În primul rând, decidem o caracteristică care trebuie simulată și alegem una dintre clasele partiționare FACET pentru a împărți gama de valori observate anterior pentru acea caracteristică în partiții . În al doilea rând, executăm o simulare pe fiecare partiție, de fiecare dată fixând valoarea caracteristicii simulate la valoarea centrală a partiției pentru toate observațiile.

Prin urmare, în exemplul nostru, simularea pune întrebarea: „Ce ar fi riscul meu mediu de incidente a fost dacă am forat întotdeauna cu X m / s de POR?”ROP este măsurat ca un număr real, deci folosim un ContinuousRangePartitioner pentru a crea o serie de partiții de dimensiuni egale în intervalul de valori observate istoric pentru ROP. Este important să simulăm numai în intervalul de valori observat istoric, deoarece modelul a fost instruit cu privire la valorile din acest interval și, de obicei, nu va putea veni cu extrapolări valide în afara intervalului.

Simulare Pasul 1 – Partiționarea valorilor observate pentru caracteristica ROP în cupe de dimensiuni egale

Utilizarea cel mai bun model, pe care l-am identificat anterior din LearnerRanker, simulatorul determină acum riscul mediu estimat de incident pentru fiecare partiție. FACET acceptă bootstrapping-ul, permițându-ne să repetăm ​​fiecare simulare de mai multe ori pe variațiile modelului instruit pe diferite subseturi de date și să folosim distribuția rezultatelor simulării pentru a cuantifica nivelul de încredere în simulare.

Pasul 2 de simulare – Simularea rezultatelor pentru diferite valori ale caracteristicii ROP

Vizualizarea de mai sus arată efectul POR asupra riscului incidentului, oferind totodată un sentiment de încredere în simulare. Axa x arată diferitele partiții pentru care a fost rulată simularea. Barele de sub axa x arată numărul de observații din eșantionul original care se încadrează în partiție, indicând suportul pe care îl avem pentru fiecare valoare simulată. (Observați modul în care intervalul de încredere se lărgește către margini, deoarece vedem mai puține valori observate efectiv pentru aceste partiții.) Linia ascendentă centrală reprezintă riscul de incident estimat median pentru fiecare partiție, în timp ce liniile exterioare arată intervalul de încredere de 95% al ​​tuturor validarea se desparte de predicția noastră.

Simularea confirmă faptul că probabilitatea incidentului crește semnificativ pe măsură ce creștem POR. Oferă o perspectivă asupra nivelurilor de risc ale operării la un POR mai rapid. De asemenea, putem observa că au existat mai multe ocazii în care POR a fost operat la un nivel periculos de ridicat (> 30ft / h), ducând la probabilități de incident peste 70%.

Ce urmează?

Din perspectiva afacerii, răspunsul la aceste întrebări „ce se întâmplă dacă” este extrem de valoros pentru procesul de evaluare a riscului și găsirea de modalități de îmbunătățire a proceselor actuale. În exemplul nostru, călătoria nu s-ar încheia aici. Pe baza rezultatelor simulării, un pas următor ar putea fi efectuarea unei analize cost-beneficiu a forajului cu un POR mai lent sau mai rapid pentru a realiza cel mai bun compromis între costul forajului și riscul financiar al unui incident de forare.

Puteți lua cu ușurință GAMMA FACET pentru o rotire. Pur și simplu conda install gamma-facet -c bcg_gamma -c conda-forge și consultați depozitul GitHub pentru documentație suplimentară și exemple lucrate.

Mulțumiri

Acest pachet ar nu a fost posibil fără disponibilitatea a două pachete Python remarcabile pentru învățarea automată și explicabilitatea modelului:

1. scikit-learn oferă cursanților și transformatoarelor care alcătuiesc conductele de învățare automată subiacente ale FACET. Mai mult decât atât, am proiectat API-ul FACET în conformitate cu paradigma de bază adaptare / transformare / predicție scikit-learns pentru a oferi oamenilor de știință de date un început ușor cu FACET.

2. Implementarea SHAP de către Scott Lundberg este utilizată pentru a estima vectorii SHAP care se descompun în sinergie , redundanță și independență.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *