Maschinelles Lernen

Epileptische Anfälle vorhersagen

21. August 2018, 11:00 Uhr | Dr. Gareth Jones
© Fotolia/psdesign

Mediziner, Mathematiker und Informatiker arbeiten daran, epileptische Anfälle im Vorfeld zu erkennen und Patienten rechtzeitig zu warnen. Dieser Aufgabe nahmen sich auch die Teilnehmer des Kaggle- Wettbewerbs an. Die besten Ergebnisse lieferten Matlab-Algorithmen.

Etwa 20 bis 40 % der epileptischen Anfälle sprechen nicht auf Antikonvulsiva (Antiepileptika) an. Infolgedessen haben die Patienten keine Möglichkeit zu erkennen, wann sie einen Anfall bekommen. Deshalb können alltägliche Aktivitäten wie Autofahren oder Schwimmen, bei denen ein Anfall besonders gefährlich wäre, problematisch für sie sein. Dieses Problem wurde im vergangen Jahr in einem Kaggle-Wettbewerb aufgegriffen. Die Teilnehmer sollten Algorithmen entwickeln, die epileptische Anfälle anhand von Aufzeichnungen des menschlichen intrakraniellen Elektroenzephalogramms (EEG) vorhersagen können und so die Betroffenen möglichst frühzeitig warnen (Bild 1).

An dem von MathWorks, dem US-amerikanischen »National Institutes of Health« (NINDS), der Amerikanischen Gesellschaft für Epilepsie (AES) und der Universität von Melbourne unterstützten Wettbewerb beteiligten sich 478 Teams und 646 Wettbewerber aus aller Welt. Die hier besprochenen Algorithmen erhielten die höchste Bewertung unter den Einzelteilnehmern und die dritthöchste im Gesamtwettbewerb. 

University College of London
Bild 1. Von Kaggle zur Verfügung gestellte EEG-Daten.
© Kaggle

Zugriff auf die EEG-Daten und Vorverarbeitung

Die EEG-Daten stammten aus einer von der Universität von Melbourne durchgeführten Langzeitstudie. In dieser wurden über mehrere Monate intrakranielle EEG-Aufzeichnungen von 15 Epilepsie-Patienten über 16 chirurgisch eingepflanzte Elektroden mit einer Abtastrate von 400 Hz erfasst. In der ursprünglichen Studie konnten die Forscher bei etwa 50 % der Testpersonen keine zuverlässige Vorhersage der Anfälle machen. 

Allen Teilnehmern stand es frei, ihre Algorithmen in einer Sprache ihrer Wahl zu verfassen. Die Organisatoren stellten allerdings kostenfreie Matlab-Zugänge und -Dateien zur Verfügung. Den Kaggle-Teilnehmern wurden fast 100 GByte an EEG-Daten von drei der Testpersonen zur Verfügung gestellt. Jeder zehnminütige Abschnitt enthielt entweder präiktale Daten, die vor einem Anfall, oder interiktale Daten, die über einen langen Zeitraum ohne Anfall aufgezeichnet wurden. Die Aufgabe bestand darin, Algorithmen zu entwickeln, mit denen sich zuvor übersehene Abschnitte als präiktal oder interiktal klassifizieren lassen. Dafür wurden die Abschnitte zunächst verknüpft (Bild 2) und die gesamten Daten anschließend in Perioden unterteilt, die in der Länge von 50 Sekunden bis zu 400 Sekunden variierten, . Wichtig war dabei, unterschiedliche Periodenlängen auszuprobieren, da aus den Daten nicht hervorging, in welchen Zeiträumen voraussagbare Merkmale in den Daten vorhanden waren oder wie schnell sie sich mit der Zeit ändern.

Extraktion von Merkmalen und Identifizierung der geeignetsten Modelle

Anders als bei vielen anderen Datenanalyse-Wettbewerben konnten die Kaggle-Teilnehmer mit Rohdaten anstatt mit vorgefertigten Tabellen arbeiten. Abgesehen vom Re-Referenzieren waren die Daten in keiner Weise zusätzlich vorverarbeitet. Dadurch ließen sie sich optimal nutzen, individuell vorverarbeiten und zum Trainieren von maschinellen Lernmodellen geeigneten Merkmale mit Matlab aus den Daten extrahieren.

Konkret wurden Algorithmen entwickelt, die für jede Periode die Leistungen im Frequenzband, statistische Kenngrößen für jeden Kanal (wie z.B. Mittelwert, Standardabweichung, Quadratisches Mittel, Schiefe und Kurtosis) sowie die Korrelation zwischen Kanalpaaren im Zeit- und Frequenzbereich errechnen. Indem mit der Parallel Computing Toolbox die Trainings- und Testdaten auf verschiedenen Prozessorkernen gleichzeitig verarbeitet wurden, halbierte sich die Verarbeitungszeit nahezu.

Um möglichst schnell den besten Klassifikationsmodelltyp für die extrahierten Merkmale zu finden, verwendeten die Algorithmen die Classification-Learner-App in der Statistics and Machine Learning Toolbox. Innerhalb von Minuten trainierte und bewertete die App Modelle automatisch, basierend auf Entscheidungsbäumen, Diskriminanzanalyse, Support Vector Machines, logistischer Regression, Nearest Neighbors und Ensemble-Verfahren mit Entscheidungsbäumen mit Boosting. Mit Python oder R hätte das Tage, wenn nicht sogar Wochen an Entwicklungszeit gekostet.

University College of London
Bild 2. In sequenzielle Perioden unterteilte EEG-Daten aus den Matlab-Dateien.
© Kaggle

  1. Epileptische Anfälle vorhersagen
  2. Verbesserung der Vorhersagegenauigkeit

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu University College London