CMD + K

Introduksjon til maskinlæringForklarbar maskinlæringBegreper & formler11
7 min lesing

Forklarbar maskinlæring

Skill mellom lokale og globale forklaringer, og vurder hva LIME- og SHAP-bidrag faktisk sier og ikke sier om en modell.

Læringsmål
  • 01Skille lokale og globale forklaringsspørsmål og velge riktig analysenivå
  • 02Forklare hvordan en surrogatmodell og LIME etterligner en svart-boks lokalt
  • 03Beregne en liten Shapley-fordeling og kontrollere additivitet mot baseline
  • 04Tolke SHAP-bidrag på riktig outputskala og med eksplisitt bakgrunnsdata
  • 05Vurdere fidelity, stabilitet og realistiske perturbasjoner i en forklaring
  • 06Forklare hvorfor featureattribusjon ikke i seg selv viser årsak, korrekthet eller fairness

Forklaring må starte med et spørsmål

En modell gir en søker risikoscore 0,45. Saksbehandleren spør hvorfor, utvikleren spør om modellen bruker feil signaler, og revisoren spør om grupper behandles ulikt. De trenger ikke samme forklaring. fortolkbarhet handler om i hvilken grad et menneske kan forstå sammenhengen mellom input og modellens oppførsel, men «forstå» må knyttes til målgruppe og beslutning.

En enkel lineær modell kan ofte leses direkte gjennom vekter, mens et dypt nett eller stort ensemble krever egne analysemetoder. Forklarbarhet er ikke én egenskap som modellen enten har eller mangler. Vi kan forstå datastrøm, globale mønstre, én prediksjon, følsomhet eller begrensninger på ulike nivåer.

Før du velger metode, formuler spørsmålet: Hvorfor fikk akkurat denne observasjonen høyere score enn en baseline? Hvilke features påvirker modellen mest på tvers av datasettet? Hvor stabil er prediksjonen ved små, realistiske endringer? En pen figur uten et presist spørsmål kan skape mer selvsikkerhet enn innsikt.

FIGUR · neuralnet
FIGPrediksjon og attribusjon er ulike størrelser

Lokalt er ikke globalt

En lokal forklaring beskriver én prediksjon eller et lite område rundt den. Den kan vise at høy gjeld trekker akkurat denne scoren opp, gitt de andre featureverdiene. Den sier ikke nødvendigvis at gjeld er viktigst for alle søkere. Ikke-lineære modeller kan bruke samme feature forskjellig i ulike deler av rommet.

En global forklaring oppsummerer oppførsel over mange observasjoner. Eksempler er samlet featurebetydning, partielle avhengigheter, fordelinger av attribusjoner og analyse av typiske feil. En global gjennomsnittsverdi kan skjule undergrupper og motvirkende effekter. Derfor bør globale resultater brytes ned etter relevante datasnitt.

Lokale forklaringer kan aggregeres, men da endres spørsmålet. Gjennomsnittlig absolutt bidrag viser hvor mye en feature typisk påvirker modelloutput, ikke om den trekker opp eller ned. Gjennomsnitt med fortegn kan kansellere sterke positive og negative effekter. Oppsummeringen må passe påstanden.

Forklaringens skala må også være tydelig. Et bidrag til log-odds er ikke samme tall som et bidrag i sannsynlighet. For multiklassemodeller kan hver klasse ha egne bidrag. Oppgi hva som summeres og hvilken output som forklares.

Surrogater etterligner modellen

En surrogatmodell er en enklere modell som trenes til å etterligne en kompleks modell. Den nye treningslabelen er svart-boks-modellens output, ikke den opprinnelige fasiten. En global surrogat prøver å etterligne på tvers av et datasett. En lokal surrogat prioriterer området rundt observasjonen vi vil forklare.

Surrogatens kvalitet måles med *fidelity*: hvor godt den etterligner originalmodellen i området forklaringen gjelder. Høy fidelity betyr ikke at originalmodellen er korrekt, rettferdig eller kausal. Den betyr bare at den enkle modellen har fanget lokal oppførsel tilstrekkelig godt.

Hvis surrogaten er lineær, kan koeffisientene bli en lettlest forklaring. Men korrelerte features kan gi ustabile koeffisienter, og et for stort lokalområde kan blande flere ikke-lineære mønstre. Et svært lite område kan på sin side ha for lite variasjon til å anslå noe robust.

LIME: enkel modell rundt ett punkt

lime lager perturberte observasjoner rundt punktet, henter svart-boks-prediksjoner, vekter punktene etter nærhet og tilpasser en enkel lokal modell. ƒlime-mål balanserer to hensyn: den enkle modellen skal ligne svart-boksen lokalt, og forklaringen skal ikke bli for kompleks.

for svaktilstrekkeligVelg observasjon xLag perturberte naboerSpør modellen fVekt etter nærhet til xTilpass enkel gSjekk lokal fidelityPresenter lokal forklaringForklaringen må kontrolleres mot svart-boks-modellen i det lokale området den påstår å beskrive.
FIGLIME forklarer én observasjon lokalt

Hva som er en gyldig perturbasjon er avgjørende. Tilfeldige featurekombinasjoner kan være umulige, som negativ alder eller en inntekts- og stillingskombinasjon som aldri finnes. Da forklarer surrogaten svart-boksens oppførsel på urealistiske punkter. Kategorier, avhengige features og strukturerte data krever en meningsfull nabogenerator.

Kernelbredden bestemmer hvor lokalt LIME ser. Seed og utvalg av naboer kan endre forklaringen. Stabilitet bør derfor testes ved å kjøre metoden flere ganger og variere rimelige innstillinger. Rapporter lokal fidelity sammen med koeffisientene.

kap11-lokal-surrogat

En lokal, vektet lineær surrogatmodell

python
import numpy as np rng = np.random.default_rng(4172)x0 = np.array([0.4, -0.7])naboer = x0 + rng.normal(0, 0.55, size=(300, 2)) def svart_boks(X):    score = 1.4 * X[:, 0] - 0.9 * X[:, 1] + 0.8 * X[:, 0] * X[:, 1]    return 1 / (1 + np.exp(-score)) y = svart_boks(naboer)avstand2 = np.sum((naboer - x0) ** 2, axis=1)vekt = np.exp(-avstand2 / 0.45)A = np.column_stack([np.ones(len(naboer)), naboer])Aw = A * np.sqrt(vekt[:, None])yw = y * np.sqrt(vekt)koeffisienter = np.linalg.lstsq(Aw, yw, rcond=None)[0] print("lokal baseline og helninger:", np.round(koeffisienter, 3))print("svart boks ved x0:", round(svart_boks(x0[None, :])[0], 3))

Nabopunkter nær observasjonen får størst vekt. Resultatet beskriver modellens lokale oppførsel rundt x0, ikke en global lov eller en årsakseffekt.

LIME-koeffisienten er ikke den komplekse modellens interne vekt. Den er heller ikke en årsakseffekt. Den beskriver hvordan en valgt enkel modell etterligner svart-boksen i et konstruert lokalt datasett.

Shapley-prinsippet fordeler en forskjell

En shapley-verdi kommer fra kooperativ spillteori. Features behandles som spillere som inngår i koalisjoner. For feature undersøker vi hvor mye modellverdien endres når legges til ulike delsett av de andre featureene. ƒshapley-verdi tar et vektet gjennomsnitt over alle slike rekkefølger.

Denne konstruksjonen gir blant annet en additiv fordeling av forskjellen mellom en baseline og modellverdien. En featureattribusjon er nettopp et tallfestet bidrag fra en feature til en bestemt output. Positiv verdi trekker fra baseline mot høyere output på den valgte skalaen; negativ trekker ned.

shap er en familie av metoder som bruker Shapley-prinsipper for modellforklaring. Noen varianter regner eksakt for bestemte modelltyper, andre bruker approksimasjon. Beregningsmåten og hvordan «manglende feature» defineres, påvirker resultatet.

ƒadditiv forklaringsmodell

Additiv forklaring: φ₀ + Σφⱼ = f(x)verdibidrag φløpende sumbaselinealderinntektgjeld0,200,2042−0,050,150,8+0,180,330,6+0,120,45Tallene er syntetiske. Bidragene avhenger av modelloutput, baseline og hvordan manglende features håndteres.
FIGFra baseline til lokal modellverdi

Baseline er ikke nøytral i alle betydninger. Den kan være forventet modelloutput i et bakgrunnsdatasett, og valg av bakgrunn bestemmer sammenligningen. En søker kan få positivt bidrag relativt til hele befolkningen og et annet bidrag relativt til en relevant undergruppe. Oppgi alltid referansen.

kap11-eksakt-shapley

Eksakte Shapley-bidrag for tre features

python
import itertoolsimport mathimport numpy as np x = np.array([1.2, -0.6, 0.8])baseline = np.zeros(3) def modell(v):    return 0.25 + 0.7 * v[0] - 0.4 * v[1] + 0.3 * v[0] * v[2] d = len(x)phi = np.zeros(d)for j in range(d):    andre = [k for k in range(d) if k != j]    for r in range(len(andre) + 1):        for S in itertools.combinations(andre, r):            v_uten = baseline.copy()            v_med = baseline.copy()            v_uten[list(S)] = x[list(S)]            v_med[list(S)] = x[list(S)]            v_med[j] = x[j]            koalisjonsvekt = math.factorial(r) * math.factorial(d - r - 1) / math.factorial(d)            phi[j] += koalisjonsvekt * (modell(v_med) - modell(v_uten)) print("baseline:", modell(baseline))print("bidrag:", np.round(phi, 3))print("sum:", round(modell(baseline) + phi.sum(), 3), "modell:", modell(x))

Med bare tre features kan alle koalisjoner summeres eksplisitt. Additiviteten kontrolleres ved at baseline pluss bidrag blir lik modellverdien.

Avhengige features og kausal felle

Features er ofte korrelerte. Inntekt, utdanning og yrke kan bære overlappende informasjon. Når én feature skjules, må forklaringsmetoden avgjøre hvordan de andre fordeles. En marginal tilnærming kan lage kombinasjoner som nesten aldri finnes. En betinget tilnærming respekterer mer av sammenhengen, men svarer på et annet spørsmål.

Shapley-bidrag fordeler modellens prediksjonsforskjell, ikke virkelighetens årsaker. Hvis modellen bruker bosted som proxy for historisk ulikhet, kan en presis forklaring vise dette mønsteret uten å legitimere det. «Bidrag +0,12» betyr ikke at en intervensjon på featureverdien vil endre utfallet med 0,12.

En forklaring kan også manipuleres eller bli ufullstendig. Aggregerte bidrag kan skjule sjeldne feil, og en bruker kan fokusere på én plausibel feature mens andre problematiske signaler overses. Kombiner derfor attribusjon med ytelsesanalyse, datasnitt, moteksempler og dokumentasjon.

Moteksempler og følsomhet kompletterer bidrag

En kontrafaktisk forklaring spør hva som måtte vært annerledes for at modellens beslutning skulle endres. For en avslått søknad kan den søke en nærliggende featurekombinasjon som passerer terskelen. Dette er et annet spørsmål enn «hvilke features bidro til scoren?». At gjeld fikk størst SHAP-bidrag betyr ikke nødvendigvis at gjeld er den minste eller mest realistiske endringen som flytter avgjørelsen.

Et nyttig moteksempel må respektere mulige og handlingsbare endringer. Alder kan ikke reduseres, og utdanning, inntekt og stilling kan ikke endres uavhengig over natten. Uten slike begrensninger kan metoden foreslå matematisk nære, men menneskelig meningsløse løsninger. En kontrafaktisk forklaring gir heller ingen garanti for at tiltaket vil forårsake ønsket utfall; den beskriver modellens beslutningsflate.

Følsomhetsanalyse endrer én eller flere features innen realistiske områder og måler hvordan output reagerer. Store sprang ved små, irrelevante endringer kan avsløre ustabilitet. Samtidig kan en stabil prediksjon fortsatt være systematisk feil. Robusthet og korrekthet er ulike krav.

Modellagnostisk eller modellspesifikk

Modellagnostiske metoder trenger bare å kunne spørre modellen om prediksjoner. LIME, generell permutasjonsbetydning og mange SHAP-approksimasjoner kan derfor brukes på forskjellige modelltyper. Fordelen er et felles analysegrensesnitt. Ulempen er at mange modellkall kan være dyre, og at perturbasjonene må representere gyldige data.

Modellspesifikke metoder utnytter strukturen i for eksempel trær eller differensierbare nettverk. De kan være raskere eller mer presise for sin modellfamilie, men svaret arver metodens antakelser. En gradient viser lokal endringsretning, men kan være nær null i et mettet område selv om featureverdien var viktig for å havne der.

Forklaring til en utvikler kan vise rå bidrag og diagnostiske mål. En forklaring til en berørt person må bruke forståelig språk, relevant sammenligning og informasjon om videre handling. Å forenkle betyr ikke å skjule usikkerhet. Målgruppe, formål og konsekvens bestemmer hvor mye detalj og hvilken type kontroll som kreves.

Kvalitetskontroll og eksamensstrategi

Kontroller tre ting: fidelity, stabilitet og rimelighet. Fidelity spør om forklaringen faktisk etterligner modellen. Stabilitet spør om små, semantisk uvesentlige endringer gir omtrent samme forklaring. Rimelighet spør om perturbasjoner, baseline og featurehåndtering gir mening i domenet. Ingen av disse beviser at modellen er rettferdig eller riktig.

Når du får en additiv forklaring, kontroller at baseline pluss alle bidrag blir modelloutput på riktig skala. Når du får LIME, beskriv lokal vekting, enkel surrogat og kompleksitetsstraff. Når du får SHAP, beskriv marginalbidrag over koalisjoner og baselineavhengighet.

Skill alltid lokal fra global og prediktiv fra kausal forklaring. En god eksamensbesvarelse sier både hva resultatet støtter og hva det ikke støtter. Forklaringsverktøy er måleinstrumenter for modelloppførsel, ikke sertifikater for sannhet, fairness eller ansvarlighet.

Mine notater

Skriv egne notater for dette kapittelet. De lagres automatisk og dukker opp i «Mine notater»-oversikten paa fag-siden.

Laster…