Vijf praktische tips om machine learning toe te passen in de zorg
Machine learning is niet langer een mooi idee dat alleen in films over de toekomst terugkomt, maar realiteit. De verwachting is dat de opruk van de data scientist de medische wereld wel eens op zijn kon kan zetten. Kosten drukken, kwaliteit verbeteren en gepersonaliseerde zorg is de belofte, maar kan die belofte wel worden waargemaakt?
Data genoeg
Er is steeds meer zorgdata beschikbaar: dossierdata, metingen, laboratoriumuitslagen en röntgenfoto’s zijn nagenoeg ‘real-time’ beschikbaar in steeds meer ziekenhuizen. De combinatie van deze verschillende databronnen zou een algoritme in staat moeten kunnen stellen een goed beeld te krijgen van de patiënt. Objectief geredeneerd zou een computer in staat moeten zijn om de kleinste veranderingen over tijd te kunnen waarnemen, en dat misschien nog wel eerder dan een mens.
Data genoeg dus, en daarnaast ook een grote opkomst van tools die je in staat stellen om snel en eenvoudig een model te ontwikkelen. Je kunt nu door eenvoudigweg te googelen (machine learning for beginners levert al ruim 300 miljoen resultaten op) zelf al aan de slag. Gratis online tools zoals ‘Weka’ en ‘H2O flow’ bieden de mogelijkheid om met een paar klikken op de knop een voorspellend model te maken. Daar komt geen regel programmeercode aan te pas.
Data science is een relatief jong vakgebied. Er zijn nog geen standaarden en regels die voor veel andere zaken in de zorg wel al ontwikkeld zijn, zoals bij het implementeren van nieuwe medische apparatuur. Een model wordt niet inhoudelijk gecontroleerd en voor je het kunt inzetten is het dus zaak om zelf kritisch naar eigen werk te blijven kijken om zo de kwaliteit te waarborgen. Er wordt soms vergeten dat het niet alleen gaat om het schrijven van regels programmeercode, maar juist ook om het begrijpen van je data en de wiskundige theorie achter de beschikbare modellen. Zo is niet ieder model geschikt voor elk probleem: bij het classificeren van beelden kies je waarschijnlijk eerder voor een ‘convolutionair neuraal netwerk’ terwijl bij een tijdsreeks een ‘long short term memory netwerk’ beter geschikt zal zijn.
Juist in de zorg zijn fouten in een voorspellend model kwalijk: een onnauwkeurig geconstrueerd model kan zelfs schadelijk zijn. De ervaring leert dat er een aantal valkuilen zijn die je goed kunt voorkomen – mits je hierop bedachtzaam bent. De volgende vijf praktische tips kunnen daarbij helpen.
1. Kies bewust
Hoewel bij machine learning vaak wordt gedacht dat het willekeurig toevoegen van zoveel mogelijk kenmerken en rijen data het model versterkt, is dat niet altijd het geval. Een voorbeeld is het voorspellen van het toe- of afnemen van de grootte van een tumor aan de hand van beelden van een CT- of MRI-scan in combinatie met gestructureerde data uit het elektronisch patiëntendossier door Kaggle . Er bleek dat perfect voorspeld kon worden bij wie het tumorvolume op een specifiek moment in de tijd afnam, namelijk nadat de tumor chirurgisch verwijderd was… Op andere tijdstippen was dit model een stuk minder nauwkeurig.
Op sommige momenten dus een perfect voorspellend model, maar van echte intelligentie is hier geen sprake.
2. It’s raining cats (ehh… dogs)
Het voorspellen van de ontslagdatum van een patiënt is wereldwijd een populair probleem om met machine learning aan te pakken. Hierbij is zaak om van tevoren de definitie van de uitkomstmaat helder te krijgen.
Voorspel je enkel wanneer een patiënt van de afdeling wordt ontslagen, of als deze daadwerkelijk naar huis gaat? Wat als de patiënt niet naar huis gaat maar geen bed meer bezet omdat de patiënt is komen te overlijden? Wat als de patiënt niet naar huis gaat, maar naar een ander ziekenhuis om daar verder behandeld te worden?
Voor al deze patiënten zal er een ander patroon te vinden zijn in de data voorafgaand aan het vrijkomen van hun bed. Om een goed model te maken dat aansluit bij de behoeften van de gebruiker is het vaststellen van de definitie van het ontslag belangrijk. Iedereen zal kunnen beamen dat een patiënt die bijna naar huis gaat omdat die hersteld is hele andere data zal hebben dan een patiënt die morgen zal komen te overlijden waardoor zijn bed vrijkomt.
3. De meeste patiënten gaan via de voordeur weer naar buiten
Bij veel problemen die geschikt zijn om aan te pakken met machine learning is er sprake van een scheve verdeling van de data. Bijvoorbeeld bij het voorspellen van de mortaliteit van een patiënt zal – gelukkig – het grootste deel van de patiënten die dag niet komen te overlijden.
Je dataset bestaat dan uit heel veel regels met patiënten die die zag zullen overleven, en een heel kleine groep die komt te overlijden. Als je nu het allersimpelste model zou trainen dat voorspelt of een patiënt wel of niet die dag komt te overlijden, dan zou dat model als je overal in zou vullen ‘overleven’ maar een paar fouten maken. Een model dat in meer dan 90% van de gevallen goed weet te voorspellen klinkt dan heel intelligent en nauwkeurig, maar is in dit geval nog steeds heel dom.
Bedenk dus van te voren goed of je data goed verdeeld is, los dit vervolgens op met bijvoorbeeld under- of oversampling of door modellen die de 100 momenten van overlijden niet goed herkennen zwaarder te straffen.Vervolgens is het ook een goed idee om bij voorbaat na te denken over de maat om de prestatie van het model te meten: in dit geval geeft de ‘accuracy’ niet goed de kwaliteit van het model weer.
4. Wat de boer niet kent dat vreet hij niet
Sommige modellen worden gezien als zogenaamde ‘black box’ modellen, waarbij het niet direct inzichtelijk is waar de uitkomst van een model op gebaseerd is. Bedenk voordat je begint aan het ontwikkelen van een model wat het doel van het model is. Zal het de arts ondersteunen in zijn behandeling? Dan is het wellicht handig om niet voor een zeer complex neuraal netwerk te kiezen maar een inzichtelijkere methode, of na te denken over het inzichtelijk maken van de belangrijkste kenmerken per patiënt. Een goed begin is om voor je start met het ontwikkelen van een model, met de beoogde gebruiker te zitten om inzicht te krijgen hoe de data voor hen het meest inzichtelijk zou zijn.
5. Bezint eer ge begint
Wanneer men wil voorspellen wanneer een patiënt een ernstige bloedinfectie gaat ontwikkelen, is het goed om bij voorbaat al stil te staan bij de impact van het project. Zal de arts daadwerkelijk eerder antibiotica starten en wil die dan een advies over welke antibiotica mogelijk het eerste aanslaat? Of is de verwachting enkel inzicht te krijgen in de patiënten die potentieel risico lopen? Als van te voren nagedacht is over de implicaties van een model kan er tijdens het ontwikkelen al rekening mee worden gehouden.
Het creëren van een valide, goed model heeft alles te maken met de juiste houding. Als data scientist moet je vooral niet vergeten om als scientist te blijven denken. Wees kritisch op je werk en je data. Bespreek bedenkingen en opvallendheden die je tegenkomt tijdens het ontwikkelen van een model met experts: de arts of de verpleegkundige. Data science doe je namelijk niet alleen, maar samen met de kliniek.