Die Mitarbeiterin, die alles auswendig wusste
Eine neue Mitarbeiterin lernt im ersten Monat alle Kundenanfragen aus dem Archiv auswendig. Zu jeder weiß sie die Antwort.
Dann kommt eine Anfrage, die nicht im Archiv steht. Sie weiß nicht weiter.
Auch Modelle können so lernen. Man nennt das Überanpassung. Heute lernen Sie, sie zu erkennen.
Am Ende dieser Lektion
Notiz
Ich kann ein Modell erkennen, das die Beispiele auswendig gelernt hat.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Überanpassung | Das Modell hat die Trainingsbeispiele auswendig gelernt und löst neue Fälle schlecht | |
| Muster | etwas, das in vielen Beispielen wiederkehrt | lange Fahrten sind selten pünktlich |
| Zufall in den Daten | ein Ausreißer, der kein Muster ist | eine pünktliche Fahrt bei Stau |
| Abstand | der Unterschied zwischen Trainings- und Testergebnis, in Prozentpunkten | |
| Einfaches Modell | ein Modell mit wenig Regeln oder wenigen Zahlen |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Muster lernen, nicht Beispiele
Ein gutes Modell findet Muster: Dinge, die in vielen Beispielen wiederkehren. Zum Beispiel: Je weiter die Fahrt, desto öfter kommt sie zu spät.
In echten Daten steckt auch Zufall. Eine Lieferung kommt pünktlich an, obwohl die Strecke lang war. Das ist ein Ausreißer, kein Muster.
Bei der Überanpassung lernt das Modell auch den Zufall. Es kennt dann jedes Beispiel, aber nicht das Muster.
Rechenbeispiel: drei Modelle im Vergleich
| Modell | Ergebnis im Training | Ergebnis im Test | Abstand |
|---|---|---|---|
| A: lernt alles auswendig | 100 % | 40 % | 60 Punkte |
| B: einfache Regel | 90 % | 100 % | kein Nachteil |
| C: etwas zu einfach | 60 % | 60 % | 0 Punkte |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Die Tabelle lesen
Modell A ist im Training perfekt, im Test schlecht. Der Abstand ist groß. Das ist das typische Zeichen der Überanpassung.
Modell C hat keinen Abstand, aber beide Werte sind niedrig. Es ist zu einfach und hat auch das Muster nicht gefunden.
Wichtig ist der Test. Er zeigt, wie das Modell im Betrieb arbeitet.
In der Aufgabe unten gilt als Faustregel: Ein Abstand von mehr als 15 Punkten ist ein Warnzeichen.
Auswendig gegen Regel in Python
# Pünktlich? Entfernung in km und ob die Lieferung pünktlich war.
km_training = [2, 4, 6, 8, 9, 11, 12, 14, 16, 18]
puenktlich_training = ["ja", "ja", "ja", "ja", "ja", "nein", "ja", "nein", "nein", "nein"]
km_test = [3, 5, 7, 10, 12, 13, 15, 17, 1, 19]
puenktlich_test = ["ja", "ja", "ja", "ja", "nein", "nein", "nein", "nein", "ja", "nein"]
gelernt = {} # Modell A lernt jede Zeile auswendig
for i in range(len(km_training)):
gelernt[km_training[i]] = puenktlich_training[i]
def modell_a(km):
if km in gelernt:
return gelernt[km]
return "nein"
def modell_b(km): # Modell B hat nur eine einfache Regel
if km <= 10:
return "ja"
return "nein"
def richtige(modell, kms, antworten):
zaehler = 0
for i in range(len(kms)):
if modell(kms[i]) == antworten[i]:
zaehler = zaehler + 1
return zaehler
print("A, Training:", richtige(modell_a, km_training, puenktlich_training), "von 10; Test:", richtige(modell_a, km_test, puenktlich_test))
print("B, Training:", richtige(modell_b, km_training, puenktlich_training), "von 10; Test:", richtige(modell_b, km_test, puenktlich_test))
Was die Ausgabe zeigt
Modell A erreicht im Training 10 von 10 und im Test nur 4 von 10. Es kennt die Beispiele, aber kein Muster.
Modell B hat im Training einen Fehler, denn die Fahrt mit 12 km war Zufall. Dafür trifft es im Test 10 von 10.
Das einfachere Modell gewinnt. Das ist bei Überanpassung oft so.
Ein häufiger Irrtum
Warnung
Viele denken: Je besser das Training, desto besser das Modell. Das stimmt nur bis zu einem Punkt. Danach lernt das Modell den Zufall mit. Achten Sie auf den Testwert und auf den Abstand.
Was man gegen Überanpassung tut
Es gibt vier übliche Wege.
- Mehr Daten sammeln. Der Zufall mittelt sich dann heraus.
- Ein einfacheres Modell wählen, mit weniger Regeln oder Zahlen.
- Früher aufhören zu trainieren, sobald der Wert auf den Validierungsdaten nicht mehr steigt.
- Fehler in den Daten beseitigen, zum Beispiel doppelte Zeilen.