Overfitting und Underfitting

Die beiden gravierendsten Fehler des maschinellen Lernens

|

Die beiden gravierendsten Fehler, die einem Modell des maschinellen Lernens passieren können, sind: Nutzloses Wissen aufzubauen oder aus einem vorhandenem Trainingsdatensatz keine relevanten Lerninformationen ziehen zu können. Diese Phänomene werden als Overfitting (Überanpassung) und Underfitting (Unteranpassung) bezeichnet.

Overfitting

Als Overfitting wird eine bestimmte Korrektur eines Modells an einem vorgegeben Datensatz bezeichnet. Statistisch gesehen bedeutet dies die Spezifizierung eines Modells, dass zu viele erklärende Variablen enthält. Man könnte es mit menschlichen Halluzinationen vergleichen. Beim halluzinieren sieht man Dinge, die in Wirklichkeit gar nicht da sind. Im Fall des maschinellen Lernens beutetet Overfitting, dass der Algorithmus nicht vorhandene Muster im Datensatz erkennt und darauf seine Lerndatei bildet. Die Aufgabe eines Machine-Learning- oder Deep-Learning-Algorithmus besteht darin, Regeln abzuleiten, die auf unbekannte Eingaben angewendet werden können und eine Vorhersage liefern. Beim Overfitting gibt der Algorithmus dann, aufgrund seiner falschen Rückschlüsse, auch falsche Ergebnisse aus. Ein weiterer Part im Overfitting könnte als auswendig Lernen bezeichnet werden. Hierbei wird der Algorithmus so oft mit den vorhandenen Daten trainiert, dass diese sozusagen auswendig gelernt werden. Der Maschine-Learning-Algorithmus funktioniert dann super mit den vorhandenen Daten, kann aber bei neuen Eingaben keine brauchbaren Ergebnisse liefern. Overfitting ist ein nicht zu unterschätzendes Problem für Machine-Learning-Algorithmen, für das es aber leider keine einfache Lösung gibt. Ein Overfitting  liegt in der Regel vor, wenn es eine signifikante Lücke zwischen Trainings- und Testfehlern gibt.
 

Folgenden Faktoren begünstigen Overfitting:

  1. Bei der Auswahl des Datensatzes spielen insbesondere die Zahl der Beobachtungen und Messpunkten eine große Rolle für die Modellbildung. D.h. die Auswahl des Datensatzes entscheidet darüber, ob die aus diesen Daten gewonnenen Annahmen überhaupt Rückschlüsse auf die Wirklichkeit ermöglichen. Anders ausgedrückt: Will man aus vorhandenen Daten nach bestimmten Regeln oder Trends suchen, muss der datensatz auch die dazu geeigneten Daten enthalten.

  2. Ein Fehlverhalten des Modells (engl. Bias), die aus einer Verzerrung bei der Auswahl der Stichprobe oder durch Voreingenommenheit bei der Datenerfassung oder Auswertung.

  3. Verzerrung – im statistischen Sinn als mittlere systematische Abweichung zwischen dem erwarteten („richtigen“) Modellergebnis und dem mittleren wirklich eingetretenen Modellergebnis.
  4. Training ist gut, aber zu viel Training gibt Muskelkater. Ein übertrainiertes Modell ist sehr gut mit den vorhandenen Daten, aber nicht mehr mit neuen, unbekannten Daten. Wird zu viel trainiert, beschreibet das Modell nur noch die Trainingsdaten und eine Übertragung auf neue Daten scheitert. 

Underfitting

Underfitting, zu deutsch Unteranpassung, könnte man dagegen als Lernschwäche oder Lernstörung bezeichnen. Der Algorithmus kann aus den vorhandenen Daten keine relevanten Schlüsse ziehen um später Aussagen über neue Daten treffen zu können. Die anfänglichen Trainingsdaten sind also zu schwach, um daraus gültiges Wissen ableiten zu können. Vereinfacht ausgedrückt sind Underfitting-Modelle also ziemlich dumm. Underfitting liegt in der Regel vor, wenn der Trainingsfehler hoch ist, das Modell also nicht in der Lage ist einen ausreichend niedrigen Fehler aus dem Trainingssatz zu erhalten.
 

Vereinfacht ausgedrückt gibt es also zwei einfache Regeln um Overfitting und Underfitting zu erkennen:

  1. Reduzieren des Trainingsfehlers
  2. Verringern der Lücke zwischen Trainings- und Testfehlern

Mit dem ChatBot4You-Baukasten erhalten Sie für beide Regeln einfache Hilfsmittel. Zum einen wird von Ihrer Lerndatei automatisch ein prozentualer Anteil zum testen verwendet, zum anderen können Sie über die intuitive Oberfläche die neuen Dateneingaben prüfen und die Lerndatei stetig verbessern um die Lücke zu schließen.