Viele denken, alles verfügbare Datenmaterial gehöre ins Training und der Rest sei egal für die Bewertung. Das klingt plausibel, weil mehr Daten meist bessere Modelle ergeben. Auch erscheint es naheliegend, mehrere Varianten am Testdatensatz zu vergleichen und die beste Zahl zu veröffentlichen.
Die Trainingsmenge passt die Parameter, also die vom Modell selbst gelernten Gewichte. Die Validierungsmenge dient der Auswahl zwischen Varianten und dem Abstimmen von Hyperparametern wie Lernrate oder Epochenanzahl, die vorab festgelegt werden. Die Testmenge liefert genau einmal eine unverfälschte Schätzung.
Der Irrtum entsteht, weil die drei Mengen im Code wie ein Datensatz wirken. Ein Split, also die Aufteilung des Gesamtbestands in feste Anteile, wirkt im Code wie eine Nebensache, und das Testergebnis wie eine freie Rückmeldung.
Ein Beispiel: Bei einem E-Mail-Spamfilter werden Hyperparameter mit der Validierungsmenge abgestimmt, etwa die Zahl der Trainingsepochen. Überwacht man dort den Fehler, stoppt man rechtzeitig, sobald er trotz sinkendem Trainingsfehler zu stagnieren beginnt. Erst am Schluss wird die Testmenge einmal geprüft.
Woran man es erkennt: Die Testmenge wurde mehr als einmal angefasst, etwa für Vergleiche oder Vorberechnungen. Ein Datenleck (Leakage) entsteht schon dadurch, dass über alle Daten vor dem Split normalisiert wird, statt die Werte nur auf den Trainingsdaten zu berechnen.
Test heißt nicht nochmal vergleichen, sondern einmal ehrlich messen. Wer die Testmenge wiederholt für Entscheidungen nutzt, verwandelt sie in eine Validierungsmenge, und die berichtete Leistung fällt zu optimistisch aus.
📌 Generalisierung · Leakage · Testmenge
📚 KI von Grund auf · Tag 3 von 30
#machinelearning #Evaluation #ki