Inzicht in interpretable machine learning

This text is only in Dutch.

Methodes om machine learning te begrijpen

Display dummyMachine learning is een black box. We stoppen er gegevens in en er komt een voorspelling of beslissing uit. Maar we weten niet waarom het algoritme deze beslissing heeft genomen. Omdat de eerlijkheid en rechtvaardigheid van deze beslissingen gecontroleerd moeten worden, willen we wel het waarom weten. Interpretable machine learning probeert gebruikers dat inzicht te geven. Inmiddels zijn er zeer uiteenlopende methodes beschikbaar om even zo veel uiteenlopende machinelearningmodellen begrijpelijk te maken, constateren Reinoud Kaasschieter en Derk-Jan Riesthuis.

Machine learning gaat uit van de data waarmee het wordt gevoed. Op allerlei manieren kan het in deze data patronen herkennen. Machine learning wordt overal om ons heen gebruikt, bijvoorbeeld om sneller verdachte personen te kunnen opsporen met gezichtsherkenning of om te beslissen wie in aanmerking komt voor een vacature, lening of een medische behandeling.

Omdat toepassingen met machine learning steeds ingrijpendere beslissingen nemen, is het van belang om te weten hoe en waarom de algoritmes een beslissing hebben genomen. Niet alleen in het algemeen, maar juist ook over die ene beslissing die ingrijpt in het leven van de betrokkenen. En dat is nu het probleem. De algoritmes van machine learning kunnen maar heel moeilijk vertellen waarom ze een bepaalde beslissing hebben genomen; ergens diep in het systeem, maar waar precies kunnen we niet aanwijzen.

Eerlijk en rechtvaardig

Wanneer we een systeem met kunstmatige intelligentie willen maken en gebruiken, willen we dat deze systemen eerlijk en rechtvaardig zijn. Dit zijn de belangrijkste waarden die een kunstmatig intelligent systeem zou moeten hebben, naast andere eigenschappen als inclusiviteit, robuustheid, veiligheid enzovoort. Deze waarden zijn niet alleen belangrijk om verantwoording af te kunnen leggen, maar ook om gebruikers en betrokkenen het systeem te laten accepteren. Nieuwe technologie wordt alleen vertrouwd wanneer we als mensen begrijpen hoe het werkt.

Daarnaast zijn er nog andere redenen om machinelearningalgoritmen om uitleg te vragen. Met deze uitleg kunnen we begrijpen hoe conclusies zijn getrokken. Dat is van belang voor de ontwikkelaars en wetenschappers, zodat die kunnen kijken of de algoritmes doen wat er van ze verwacht wordt.

Veel gevallen van slechte machine learning zijn ontdekt door mensen die zelf kritisch naar de uitkomsten van algoritmes keken. We weten welke data in de black box zijn gestopt en welke gegevens (lees: beslissingen of voorspellingen) het algoritme op basis van de data heeft gedaan. We kunnen dan terugredeneren waar de fout in de data vandaan komt.

Willen we fouten in de data, zoals bias, herkennen, dan moet eigenlijk ook in dit geval het algoritme vertellen waarop het zijn beslissing heeft genomen. Is die beslissing verkeerd, dan moeten we iets doen aan de data waarmee we het leerproces zijn begonnen.

Methodes om ML-modellen te begrijpen

In de laatste jaren zijn er veel methodes ontwikkeld om machine learning begrijpelijker te maken. Het boek Interpretable Machine Learning van Christoph Molnar geeft een goed overzicht van de verschillende methodes. In het algemeen is er een onderscheid tussen methodes die de beslissingen van een machinelearningmodel voor een specifieke situatie proberen te begrijpen (waarom kent een model een bepaald huis een bepaalde waarde toe?), en methodes die zich erop richten het model in het algemeen te begrijpen: wat zijn belangrijke factoren voor het model voor de waarde van een huis?

Om het eerste systematisch te kunnen doen, zijn post-hocmethodes ontwikkeld om de resultaten van machine learning te interpreteren. Post-hocinterpreteerbaarheid verwijst naar de toepassing van interpretatiemethoden na de training van het machinelearningmodel. Het voordeel van deze methode is dat we de black box niet open hoeven te maken. Maar het nadeel is dat wanneer het algoritme fout blijkt te zijn, we het hele leerproces opnieuw moeten opzetten.

Beter zou het zijn wanneer we het model zelf zouden kunnen bekijken. Intrinsieke interpreteerbaarheid verwijst naar machinelearningmodellen die vanwege hun eenvoudige structuur als interpreteerbaar worden beschouwd. Maar helaas werkt deze methode alleen bij eenvoudige modellen, zoals korte beslisbomen of eenvoudige lineaire modellen. Het is dus niet algemeen inzetbaar.

Een model begrijpen via zijn parameters (voor simpele modellen)

De werking van sommige relatief simpele machinelearningmodellen, zoals op regels gebaseerde modellen, beslisbomen en univariate regressiemodellen, kan begrepen worden aan de hand van de parameters van de modellen. Voor modellen die regels opleveren of een beslisboom gebruiken, kunnen de meeste mensen dit begrijpen.

Univariate regressie richt zich op het bepalen van de relatie tussen één onafhankelijke (verklarende) variabele en één afhankelijke variabele. Regressie komt vooral van pas in situaties waarin de relatie tussen twee functies niet met het blote oog duidelijk is. Het interpreteren van de parameters van regressiemodellen is ingewikkelder en vereist meer statistische kennis. Dit heeft onder meer te maken met de correlatie tussen variabelen.

Een voorbeeld daarvan is een model dat we willen maken voor kansen op de arbeidsmarkt voor ouderen. Leeftijd en aantal jaren werkervaring zijn sterk gecorreleerd. Dit betekent niet dat oudere mensen altijd veel werkervaring hebben, maar wel dat mensen met veel werkervaring meestal een hogere leeftijd hebben. Omdat beide parameters (leeftijd en werkervaring) sterk met elkaar gecorreleerd zijn, is het moeilijk te bepalen wat de invloed is van een van de parameters. Als we de waarde van werkervaring verhogen, verhogen we daarmee ook impliciet de waarde voor leeftijd. De invloed van de variabele werkervaring is dus moeilijk los te koppelen van leeftijd.

Voor ingewikkeldere modellen met meer parameters en interacties tussen parameters is het interpreteren van parameters vaak zeer ingewikkeld zo niet onmogelijk en zijn andere methodes beter geschikt.

Effect op de output na verandering in de input(s)

Veel methodes pogen de invloed van één of twee individuele variabelen te meten door deze te veranderen en het effect op de output te meten. De methodes verschillen in hoe ze de samenhang van de ene inputvariabele met de andere inputvariabelen meenemen.

Sommige methodes houden geen rekening met de samenhang (bijvoorbeeld partial dependence plots, individual conditional expectation plots, permutation feature importance, Shapley values). Een nadeel hiervan is dat dit kan leiden tot onrealistische voorbeelden als inputvariabelen een bepaalde samenhang vertonen.

Een voorbeeld daarvan is een model voor kansen op de arbeidsmarkt met als variabelen leeftijd en jaren werkervaring. Bij deze methode kan het dus voorkomen dat we 20 jaar werkervaring hebben voor een persoon van 25 jaar. Zo’n persoon bestaat niet in Nederland en is dus geen reëel geval om te onderzoeken.

Andere methodes, zoals M-plots of ALE-plots, nemen de relaties tussen inputvariabelen wel mee. Deze methodes zijn vaak ingewikkelder om te interpreteren en hebben afhankelijk van de methode andere nadelen. Het gebruik van deze methodes is daarom beter voor datasets met sterk gecorreleerde inputvariabelen, terwijl de eerste methodes beter zijn voor datasets met weinig samenhang.

Een complex model benaderen met een simpeler model

Een andere methode om de invloed van de inputvariabelen van een relatief complex model in te schatten, is door een simpeler model te trainen om de uitkomsten van het complexe model te voorspellen. De parameters van het simpele model worden dan weer gebruikt om een inschatting te maken van het belang van de parameters van het complexere model. Dit werkt alleen goed als het simpelere model het complexe model goed kan nabootsen. Dit kan beide gedaan worden voor de gehele trainingsset (global surrogate) of om de uitkomst van het model voor individuele situaties te verklaren (local surrogate - LIME en scoped rules - anchors).

Een model begrijpen met karakteristieke voorbeelden

Machinelearningmethodes begrijpen kan ook door een aantal karakteristieke voorbeeldsituaties te geven, samen met de output van het model. Een voordeel hiervan is dat voorbeelden makkelijk te begrijpen zijn en dat er makkelijker consequenties en acties aan kunnen worden gekoppeld. Vragen die hiermee beantwoord kunnen worden, zijn:

  1. Wat zijn voorbeelden die erg op elkaar lijken maar een andere uitkomst geven?
    Een methode hiervoor is het vinden van (theoretische) inputvoorbeelden die zo veel mogelijk op elkaar lijken maar een andere uitkomst van het model geven. Voor een model dat kredietbeslissingen maakt, zou dat voor een klant wiens krediet is afgewezen een voorbeeldsituatie kunnen zijn waarin het krediet wel was verstrekt en die zo veel mogelijk lijkt op de situatie van de klant.
  2. Wat zijn typische en atypische voorbeelden?
    Een andere methode is met een beperkt aantal voorbeelden het gedrag van het model over de hele dataset zo goed mogelijk weer te geven. En eventueel ook een aantal voorbeelden te geven waarin het model zich juist atypisch gedraagt.
  3. Kan het model gemanipuleerd worden?
    Een derde manier om een model beter te begrijpen aan de hand van voorbeelden, is te kijken of het model gemanipuleerd kan worden om de foute uitkomst te geven door inputvariabelen te veranderen. Bijvoorbeeld door een kleine sticker op een stopbord te plakken waardoor zelfrijdende auto’s het voor een parkeerbord aanzien. Dit worden ook wel adversial-voorbeelden genoemd.
  4. Hoe robuust is het model?
    Een laatste manier is om samples in de trainingsset te veranderen en het effect daarvan op het model te zien.

Deze tekst is eerder gepubliceerd in het maartnummer 2020 van ag connect.

Foto Public Domain door Gerd Altmann via Pixabay