Einleitung
Maschinelles Lernen (Machine learning, ML) ist die Fähigkeit von
Computer-Algorithmen, Wissen aus Beispielen zu erlernen und dieses Wissen dann auf
andere, unbekannte Fälle anzuwenden. Das Programm sucht hierbei nach immanenten
Mustern, die in großen Datenmengen vorhanden sein können. Maschinelles Lernen gehört
zum Gebiet der Künstlichen Intelligenz (KI), einem Teilgebiet der Informatik. Beide
Begriffe erscheinen häufig auch im Zusammenhang mit den Begriffen „Data Science“
oder „Big Data“. Eine klare Abgrenzung ist jedoch nicht möglich.
Erste Ansätze der KI gab es bereits in den sechziger und siebziger Jahren des letzten
Jahrhunderts. Die Künstliche Intelligenz (KI) wurde durch das „Dartmouth Summer
Research Project on Artificial Intelligence“ akademisch [1]. Die erste Welle der KI brachte jedoch nicht die erhofften Erfolge, so
dass die Euphorie schnell wieder verflog. Bedingt durch die stete Zunahme an
verfügbaren Daten einerseits und die exponentiell verbesserte Rechenkapazität
moderner Computer, die die notwendigen komplexen Rechenoperationen erst möglich
machen, hat die Anwendung von ML in den letzten Jahren einen erneuten Aufschwung
erfahren.
So ergibt eine Suche bei Pubmed zum Begriff „machine learning“ für die letzten 5
Jahre fast 30 000 Textstellen.
ML wird die Medizin in den nächsten 10 Jahren grundlegend verändern [2]. Wir Ärzte werden zunehmend bei der
Diagnosestellung und Therapiewahl von ML unterstützt werden, wenn auch nicht
ersetzt. Die großen digitalen Konzerne wie Apple, Google, Microsoft und andere
arbeiten daran, das Thema Gesundheit in den nächsten Jahren mitzubestimmen.
Verständlich, da dies weltweit der größte Wachstumsmarkt ist. Die vielen Daten, die
sie von den Nutzern erhalten, werden mittels ML bearbeitet und für individuelle oder
globale Prognosen benutzt.
Es ist daher wichtig, dass Ärzte die grundlegenden Prinzipien des ML kennen und auch
über Probleme und Grenzen dieser Methode informiert sind.
Was ist maschinelles Lernen?
Maschinelles Lernen ist keine einheitliche Methode oder ein spezielles
Computerprogramm, sondern eine Vielzahl verschiedener Algorithmen, die dem Ziel
dienen, aus vorhandenen Daten zu lernen und das erlernte Wissen auf neue Fälle
anzuwenden. Im Gegensatz zu klassischen Computerprogrammen, die eine feste Abfolge
von Befehlen ausführen, um eine definierte Aufgabe zu erledigen, sind die Ergebnisse
der ML-Algorithmen abhängig von den vorhandenen Daten. Das Vorgehen des ML ist
vergleichbar mit einem jungen Arzt, der seine Kenntnisse im Laufe der Zeit aus einer
Vielzahl von Fällen gewinnt. Während der junge Arzt hierfür Monate oder Jahre
benötigt, kann der Computer Millionen von Fällen in Minuten „durchsehen“,
analysieren und daraus lernen. Aufgrund der riesigen Anzahl analysierter Fälle kann
ML Zusammenhänge in den Daten erkennen, die dem Menschen verborgen bleiben. Hinzu
kommt, dass wir Menschen nicht mehr als drei Dimensionen wahrnehmen können, während
Computer auch mit mehreren tausend Dimensionen arbeiten können. Außerdem haben wir
im Gegensatz zum Computer Schwierigkeiten, nicht lineare Zusammenhänge zu erkennen.
Da aber die meisten biologischen Phänomene nicht linear sind, fällt uns eine
Zuordnung insbesondere bei Vorhandensein mehrere Faktoren schwer oder ist gar
unmöglich.
Auch wenn es keine einheitlichen ML-Algorithmen gibt, so können doch mehrere
prinzipielle Arten von Lernprozessen unterschieden werden.
Überwachtes Lernen (supervised learning)
Hierbei werden dem Algorithmus während des Lernvorgangs die zu lernenden Klassen
(diskret) oder Werte (kontinuierlich) mit den Daten präsentiert. Das Programm
kann also jedem Datensatz einen Ergebniswert zuordnen. Die einfachste Form ist
das Erlernen von zwei Klassen (gesund oder krank, hell oder dunkel, Auto oder
Fahrrad usw.), aber auch Mehrklassenmodelle (gesund, verdächtig, krank; Auto,
Fahrrad, Motorrad, Fußgänger) sind denkbar. Während des Lernvorgangs lernt der
Computer die Charakteristika der Klassen und kann das „Wissen“ dann auf neue
Fälle anwenden. Beispiele aus der Medizin sind die Erkennung der diabetischen
Retinopathie auf Bildern vom Augenhintergrund [3] oder die Vorhersage der Sterblichkeit bei Koronarstenose [4]. Überwachtes Lernen wird häufig zur
Vorhersage von Verläufen eingesetzt. Es soll die Frage beantwortet werden, ob
eine spezielle Befundkonstellation zu einem Ereignis (Krankheit, Tod etc.) in
der Zukunft führt. Statt Klassen (gesund, krank) können aber auch
kontinuierliche numerische Werte als Lern- und Vorhersagewert dienen. Beispiel
ist die Vorhersage der Luftverschmutzung in bestimmten Gebieten als Prädiktor
für Atemwegserkrankungen.
Unüberwachtes Lernen (unsupervised learning)
Beim unüberwachten Lernen gibt es keine Klassen oder Zahlen, die vorhergesagt
werden müssen. Hier ist es Aufgabe des Programms, Muster innerhalb der Daten
selbstständig zu erkennen ([
Abb. 1
]).
Die identifizierten Muster (Cluster) werden dann häufig in einem zweiten Schritt
als Klassen für überwachtes Lernen verwendet. Anwendungsgebiete sind häufig die
Suche nach unbekannten Zusammenhängen. So kann z. B. die Suche nach Mustern in
der Immunpathologie oder Genetik zu Erkenntnissen zu unbekannten Zusammenhängen
und neuen Forschungsansätzen führen [5].
Abb. 1 Unüberwachtes Lernen (K-mean). In der Abbildung links oben
sind die Ausgangsdaten. Diese sind primär unstrukturiert. Man kann die
Daten dann durch den Lernprozess in verschiedene Cluster (farbig
gekennzeichnet) unterteilen lassen. Die beste Genauigkeit der Zuordnung
ergibt sich für 3 Cluster (zweite Reihe links).
Andere Verfahren
Neben den beiden oben genannten Ansätzen, gibt es weitere Verfahren, die
letztlich Modifikationen der beiden Verfahren sind, wie z. B. teilüberwachtes
Lernen und bestärkendes Lernen. Speziell für Daten, bei denen eine der Klassen
in sehr geringer Anzahl vorkommt, braucht man spezielle Verfahren, um diese
Ausnahmen zu erkennen (anomaly detection). Diese Methode wird u. a. in der
Genanalyse benutzt.
Vorbereitung und Durchführung
Beim überwachten Lernen wird aus den vorhandenen Daten (Merkmalen, features,
predictors) auf das vorherzusagende Ereignis (target, outcome) geschlossen.
[
Abb. 2
] zeigt den
Entscheidungsbaum nach ML anhand des „PIMA Indians Diabetes Dataset“ [6]. Das Programm gestattet anhand von wenigen
Daten und Parametern (Blutzuckerwert unter/über 128 mg/ml bzw. unter/über
155 mg/ml; Alter unter/über 29 Jahre bzw. unter/über 43 Jahre; Body Mass Index
(BMI) unter/über 30 bzw. unter/über 34; etc.), die schlicht mit „ja“ oder „nein“
zu beantworten sind, vorherzusagen, ob ein Diabetes mellitus vorhanden ist oder
nicht (ja = 1, nein = 0) ([
Abb.
2
]).
Abb. 2 Entscheidungsbaum für den Lernprozess des Pimal Indian
Diabetes Dataset. Mit einfachen Ja/Nein-Entscheidungen wird eine
Genauigkeit von ca. 80 % erreicht.
Nach der Datenerfassung liegen die Daten in der Regel nicht in einer Form vor, in
der sie direkt vom ML verarbeitet werden können. Deswegen sind verschiedene
Schritte der Vorverarbeitung nötig. Deren Aufwand übersteigt in der Regel den
Aufwand des eigentlichen Lernprozesses.
Die meisten ML-Algorithmen können nur mit Zahlen arbeiten, so dass sowohl Text
als auch kategorische Variablen wie z. B. Geschlecht, Familienstand u. a. in
Zahlen umgewandelt werden müssen. Das Geschlecht wird dann mit 0 = männlich,
1 = weiblich und 2 = unbekannt kodiert. Texte werden analysiert und die im Text
vorkommenden Worte nach Häufigkeit in einem Wörterbuch sortiert. Die Nummern der
Einträge im Wörterbuch werden dann zur weiteren Analyse verwendet.
Welche Merkmale das Ergebnis mitbestimmen oder es evtl. sogar verfälschen, ist
primär nicht bekannt. Daher stellt die Analyse und Bearbeitung der Merkmale
(feature-engineering) einen wesentlichen Teil der Vorbereitung dar. Häufig
müssen durch Modifikation oder Hinzufügen neue Merkmale geschaffen werden, die
das Ergebnis verbessern. Die Einteilung des Patientenalters in Klassen (20–29,
30–39 etc.) kann z. B. als neues Merkmal die Präzision des ML erhöhen.
Weitere wichtige Methoden sind die Suche nach fehlenden Werten und nach
Fehleingaben, das Zusammenfassen von Werten durch Addition sowie Varianzanalysen
zum Angleich der statistischen Verteilung durch verschiedene mathematische
Verfahren. Die Kunst einer guten Analyse, die eine hohe Genauigkeit erreicht,
liegt häufig in diesen Schritten. Andererseits besteht hier auch ein gewisses
Gefahrenmoment. Die Veränderungen an den Originaldaten erhöhen die Genauigkeit
der Analyse, erschweren aber eine Interpretation der Ergebnisse. Im Beispiel
müssen alle Patienten mit unrealistischen Werten entfernt werden, z. B.
Patienten mit einem Blutzuckerwert oder einem BMI von 0. Die Entfernung der
unrealistischen Werte erhöht die Genauigkeit von 85 % auf 87 %. Nach der
Vorverarbeitung folgt der eigentliche Lernprozess.
Algorithmen
Es gibt inzwischen mehr als hundert ML-Algorithmen. Eine prinzipielle Betrachtung
einiger häufiger Algorithmen reicht jedoch aus, um die grundlegenden Stärken und
Schwächen des ML zu verstehen.
Alle Verfahren arbeiten im Prinzip so, dass ein Modell aus den Gesamtdaten
errechnet wird. Mit dem Modell werden dann Vorhersagen für die einzelnen
Datensätze gemacht und mit dem bekannten Ergebnis abgeglichen. Danach nimmt man
einzelne Datensätze und wendet das erstellte Modell darauf an. Die so erhaltenen
Vorhersagen vergleicht man mit dem bekannten Ergebnis aus den Gesamtdaten. Dann
werden die Parameter des Modells, nicht die Daten, modifiziert und das Modell
erneut berechnet. Dieser Prozess wird so lange wiederholt, bis die Differenz
zwischen der Modell-Vorhersage für einzelne Datensätze und dem bekannten
Ergebnis aus den Gesamtdaten möglichst gering ist. Für das Beispiel des PIMA
Indians Diabetes Dataset bedeutet dies, dass man die Grenzwerte für den
Blutzuckerwert, das Alter, den BMI etc. solange hin- und herschiebt, bis in 85 %
und mehr bei Anwendung des errechneten Modells auf einzelne Datensätze die
Vorhersage (Diabetes mellitus vorhanden oder nicht) mit dem bekannten Ergebnis
des Einzelfalls übereinstimmt.
Regression
Die Regression ist die einfachste Form der ML-Algorithmen für die Vorhersage
kontinuierlicher Daten. Einfache oder multivariate Regression wird derzeit
in vielen wissenschaftlichen Arbeiten für die Analyse von Auswirkungen
verschiedener Variablen auf ein Ergebnis benutzt [7]. In den meisten Fällen handelt es sich jedoch um eine
explorative Analyse der Daten und nicht um die Vorhersage unbekannter
Ereignisse. Für letzteren Anwendungsbereich besteht ein wesentliches Problem
in der Tatsache, dass eine Extrapolation über den Datenbereich des Trainings
hinaus mit großen Fehlern behaftet sein kann. Dies bedeutet, dass z. B. bei
der Regression über das Alter mit Trainingsdaten, die zwischen 20 und 65
Jahren liegen, eine Vorhersage für Patienten darunter oder darüber nicht
valide ist.
Für die Klassifikation gibt es die logistische Regression. Diese ist sehr
stabil, benötigt aber für exakte Vorhersagen sehr große Datenmengen [8].
Support-vector machines
Diese häufig benutzten Algorithmen sind sehr stabil und geeignet für
verschiedene Anwendungen. Das Prinzip besteht darin, dass der Algorithmus
versucht, eine Trennebene zwischen die Daten der einzelnen Klassen so zu
legen, dass diese möglichst gut voneinander abgegrenzt sind. Daten mit zwei
Merkmalen werden durch Linien getrennt ([
Abb.
3
]), Daten mit drei Merkmalen durch Ebenen im Raum,
höher-dimensionale Daten durch sogenannte Hyperplanes. Das sind
n-1-dimensionale Ebenen im n-dimensionalen Raum. Die Optimierung der
Steuerung der Myoelektrik der oberen Extremität kann z. B. mit dieser
Methode erreicht werden [9].
Abb. 3 Lernprozess für einen Datensatz mit 3 Klassen. Die vom
Programm errechneten Areale für die Klassen entsprechen den
Hintergrundfarben, die Kreuze den Fällen der entsprechenden Klassen.
Klasse1: grüner Hintergrund, schwarze Kreuze. Klasse2: gelber
Hintergrund, rote Kreuze. Klasse 3: weißer Hintergrund, grüne
Kreuze. Die meisten Fälle werden korrekt zugeordnet, einzelne Fälle
liegen jedoch im falschen Areal und sind damit nicht korrekt
klassifiziert.
Baum-orientierte Verfahren
In den letzten Jahren haben sich diese Verfahren in diversen Modifikationen
(z. B. XGBoost) als sehr verlässlich herausgestellt. Diese Algorithmen
ordnen die Merkmale in Entscheidungsbäumen an. [
Abb. 2
] zeigt einen möglichen Entscheidungsbaum für
das Beispiel der Diabetes Daten.
Einfache baum-orientierte Verfahren wie in der Abbildung erlauben eine gute
Interpretation der Entscheidungsbäume. Komplexere Verfahren, bei denen die
Bäume einer Bewertung und Umverteilung unterzogen werden (XGBoost), sind
kaum interpretierbar.
Neuronale Netze und Deep Learning
Neuronale Netze versuchen die Struktur des menschlichen Gehirns nachzubilden.
Sie arbeiten mit mindestens einer Schicht Eingabe-Neuronen, einer verdeckten
Schicht und einer Schicht Ausgabe-Neuronen. In komplexen Fällen können auch
mehrere verdeckte Schichten notwendig sein. Neuronale Netze sind sehr
rechenintensiv. Durch die Steigerung der Rechenleistung moderner Computer
haben sie in den letzten Jahren, speziell für die Bilderkennung, wieder an
Bedeutung gewonnen. Weiterentwicklungen wie das sogenannte „deep learning“
sind neuronale Netze mit sehr vielen Zwischenschichten. AlphaGO, das
Programm, das den weltbesten Go-Spieler mehrfach geschlagen hat, arbeitet
mit deep learning. Auch die Ergebnisse der neuronalen Netze sind nicht
interpretierbar.
K-means Cluster (unüberwachtes Lernen)
Dieses unüberwachte Verfahren versucht innerhalb der Daten Cluster
zusammenhängender Daten zu finden. Diese Daten sollten um den Mittelpunkt
des entsprechenden Clusters liegen und die Summe der Abstände zum
Mittelpunkt sollte minimal sein ([
Abb.
1
]). Die so erlernten Cluster können dann z. B. als Klassen
für überwachtes Lernen verwendet werden.
Stärken und Schwächen
Auf die mangelnde Interpretation der Modelle bei den einzelnen ML-Algorithmen
wurde bereits hingewiesen. Einige weitere Punkte sind aber für den „Nutzer“ von
ML noch von Interesse. Viele Programme geben als Ergebnis der Klassifikation
keine Ja/Nein-Ergebnisse aus, sondern ermitteln die Wahrscheinlichkeit für
positiv = 1 oder negativ = 0 als dezimalen Wert. Mittels eines Wertes
(threshold) wird dann festgelegt, ab welcher Grenze das Ergebnis positiv sein
soll. Dieser Grenzwert muss nicht zwangsläufig bei 0,5 liegen. Einerseits muss
man sich dessen bewusst sein und die „Entscheidung“ des Algorithmus nicht als
absoluten Wert wahrnehmen. Anderseits hat dies den Vorteil, dass bei einer
Verschiebung des Grenzwerts z. B. unter 0,5 mehr Fälle als positiv eingestuft
werden, die Anzahl der negativen Fälle aber abnimmt. Dies hat den Vorteil, dass
über den Grenzwert gesteuert werden kann, ob man eine höhere Sensitivität (mehr
Kranke werden erkannt) oder eine höhere Spezifität (Gesunde werden als Gesunde
identifiziert) haben will. Diese Entscheidung kann je nach Anwendungsfall
unterschiedlich ausfallen.
Ein bekanntes Problem des ML ist das sogenannte „overfitting“. Dieses bedeutet,
dass sich das Programm so lange optimiert, bis es die Trainingsdaten zu 100 %
zuordnen kann. Dies führt dann aber dazu, dass neue Daten nicht korrekt
klassifiziert werden, da das Programm zwar die Trainingsdaten perfekt gelernt
hat, aber nicht über die zu betrachtende Population generalisieren kann. Dieses
Problem sollte durch geeignete Maßnahmen beim Training vermieden werden. Dazu
wird der Lernprozess nicht direkt mit den Trainingsdaten validiert, sondern mit
einem speziellen Datensatz, der nicht für das Training verwendet wurde. Der
Nutzer sollte dieses Problem dennoch kennen, da eine vermeintliche hohe
Genauigkeit zu schlechten Ergebnissen in der Realität führen kann.
Ein prinzipieller Fehler der statistischen Betrachtungsweise gilt auch für das
ML. Korrelation ist nicht Ursächlichkeit. Speziell beim ML finden die Programme
viele Zusammenhänge zwischen Merkmalen und dem Ergebnis. Die meisten Algorithmen
können den Einfluss der einzelnen Merkmale auf das Ergebnis prozentual
darstellen. Dies darf aber nicht zur Annahme führen, dass dieses Merkmal
ursächlich für das Ergebnis ist.
Letztendlich ist die Genauigkeit der erlernten Prognosen immer von der Qualität
der ursprünglichen Daten abhängig. Wenn diese Daten schlecht sind, wird ML sie
nicht verbessern. Mit guten Daten in ausreichender Menge lassen sich aber gute
Vorhersagen entwickeln.
Qualitativ ausreichende Daten in digitaler Form liegen derzeit bereits überall
dort vor, wo viel digitalisiert wird, z. B. in der Radiologie, in der Pathologie
und in der Genetik. Aber auch die Intensivmedizin mit einer hohen Anzahl an
digitalen Parametern bietet sich für ML an.
ML in Hand- und plastischer Chirurgie
Wenn eine breitere Öffentlichkeit über die Möglichkeiten und Grenzen des ML
informiert ist, wird dies verschiedene Effekte haben. Mit dem zunehmenden
Bewusstsein wird es auch einen Anstieg an sinnvollen Anwendungen geben. Nicht
nur in Deutschland gibt es eine Vielzahl von Datenbanken mit interessanten
Daten, z. B. das TraumaRegister der DGU, das Endoprothesenregister (ERPD), das
Herzschrittmacher-Register u. a. Die dort vorhandenen Daten können als Grundlage
für die Analyse mit ML dienen, wenn Fragestellungen nicht mit „klassischen“
statistischen Methoden bearbeitet werden können.
ML wird zunächst die mit der Handchirurgie und Plastischen Chirurgie assoziierten
Disziplinen betreffen, hier speziell alle Disziplinen, die mit Bildern arbeiten;
Radiologie und Pathologie. Deep learning erreicht eine Genauigkeit von 83 % bei
der Frakturanalyse auf Röntgenbildern von Hand, Hand- und Sprunggelenk [10].
Aber auch andere Anwendungen sind möglich, wie die automatisierte Überwachung der
Lappenperfusion [11] oder die Vorhersage der
Heilungsdauer bei Verbrennungen [12]. Die
Steuerung von myoelektrischen Prothesen wird zunehmend durch ML verfeinert [9]. Mittels ML lassen sich aus der
Druckverteilung der Hand mit Druckmessplatten [13] mehr Rückschlüsse ziehen als mit konventionellen Methoden [14]. Die automatische Texterkennung und Analyse
NLP (natural language processing) wird wesentliche Anwendungen in der Zukunft
ermöglichen. So kann z. B. die automatisierte Fallkodierung [15] die tägliche Arbeit erleichtern und
präzisieren.
Die zunehmende Kenntnis des ML wird die häufig noch vorhandene Angst vor dieser
Methode reduzieren und gleichzeitig eine kritische Betrachtung der Ergebnisse im
Kontext des Arztberufes und der modernen Medizin ermöglichen. Bei der Analyse
des Nutzens des ML muss man sich immer die Frage stellen, welchen Gewinn der
Einsatz von ML im speziellen Umfeld bringt. So erlaubt die automatische
Klassifikation von Bildern des Cervix uteri in medizinisch schlecht versorgten
Gebieten eine Verbesserung der medizinischen Versorgung, die mit normalen
Mitteln nicht zu erreichen wäre [16]. Die oben
erwähnte Genauigkeit von 83 % in der Frakturanalyse [10] kann in nicht spezialisierten Zentren schon deutlich über der
Genauigkeit der örtlichen Kollegen liegen.
Eigene Kenntnisse sammeln
Es ist im Rahmen dieser Arbeit nur möglich, einige grundlegende Prinzipien des ML
zu beleuchten. Wer daran interessiert ist, sich weiter mit dem Thema zu
beschäftigen und ggfs. auch selber in die Programmierung einzusteigen, dem seien
die sehr guten Online-Kursangebote auf den verschiedenen Plattformen wie
Coursera, Khan Academy, EdX oder das reichhaltige Kursangebot der
Online-Plattformen speziell der amerikanischen Universitäten (MIT, Harvard,
Stanford) empfohlen. Einen guten Einstieg für Anfänger ohne mathematische
Vorkenntnisse bietet der Kurs „Chromebook Data Science“ [17].