Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Validation Data

Validierungsdaten sind eine zurückgehaltene Teilmenge, die während der Entwicklung ausgewertet wird, um Hyperparameter anzupassen, Checkpoints auszuwählen und Overfitting vor dem abschließenden Test zu erkennen.

Validierungsdaten sind ein Teil der annotierten Daten, der vom Training zurückgehalten und während der Entwicklung wiederholt ausgewertet wird, um Modelle zu vergleichen, Hyperparameter abzustimmen, Checkpoints auszuwählen und Overfitting zu erkennen. Das Modell aktualisiert seine Gewichte nie anhand dieser Daten. Daher zeigt der Validierungswert, wie gut sich das Gelernte aus den Trainingsdaten auf bisher ungesehene Bilder übertragen lässt. Validierungsdatensatz und Entwicklungsdatensatz (Dev-Datensatz) sind Synonyme. Jede Entscheidung auf Grundlage von Validierungswerten passt das Modell ein wenig stärker an genau diese Aufteilung an. Deshalb wird ein separater Testdatensatz für die abschließende, unverzerrte Schätzung zurückgehalten.

Aufteilung in Trainings-, Validierungs- und Testsätze#

Ein annotierter Datensatz wird in der Regel in drei Teile aufgeteilt:

  • Trainingsdatensatz: Die Beispiele, an die der Optimierer die Gewichte anpasst; typischerweise 70 bis 80 Prozent der Daten.
  • Validierungsdatensatz: Wird nach Trainingsläufen oder Epochen ausgewertet, um Entscheidungen über die Lernrate, Modellgröße, Stärke der Datenaugmentation und den Zeitpunkt für den Abbruch zu treffen.
  • Testdatensatz: Wird einmal ausgewertet, nachdem alle Entscheidungen feststehen, um die erwartete Leistung in der Praxis anzugeben.

Bei Datensätzen mit Tausenden von Bildern sind Aufteilungen von 70/15/15 oder 80/10/10 üblich. Sehr große Datensätze benötigen für verlässliche Schätzungen einen geringeren Anteil: ImageNet-1k hält 50.000 Validierungsbilder gegenüber 1.281.167 Trainingsbildern zurück. Da die Testbeschriftungen nicht öffentlich zugänglich sind, wird die ImageNet-Genauigkeit üblicherweise anhand dieses Validierungsdatensatzes angegeben, der damit als Testdatensatz dient.

Ein nützlicher Validierungssatz bildet die Daten nach, auf die das Modell bei der Bereitstellung trifft, und hat keine Daten mit dem Trainingssatz gemeinsam. Zufällige Aufteilungen auf Bildebene führen zu Informationslecks, wenn mehrere Bilder aus demselben Video, von derselben Patientin oder demselben Patienten oder vom selben Ort stammen, weil das Modell die Szene statt des Objekts erkennen kann. Eine Aufteilung nach Gruppen, etwa nach Patient oder Aufnahmesitzung, verhindert dieses Datenleck.

Hyperparameterabstimmung und Modellauswahl#

Die Gewichte werden per Gradientenabstieg gelernt. Hyperparameter hingegen wählt man aus, indem man mehrere Kandidaten trainiert und denjenigen mit dem besten Validierungswert beibehält. Trainingswerte eignen sich nicht für diese Entscheidung, da größere und länger trainierte Modelle ihre Trainingsdaten fast immer besser anpassen. Das folgende scikit-learn-Skript stimmt die Tiefe eines Entscheidungsbaums anhand des enthaltenen Zifferndatensatzes ab:

from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier

# Split 1,797 digit images 60/20/20 into training, validation, and test sets
X, y = load_digits(return_X_y=True)
X_train, X_rest, y_train, y_rest = train_test_split(X, y, test_size=0.4, random_state=0, stratify=y)
X_val, X_test, y_val, y_test = train_test_split(X_rest, y_rest, test_size=0.5, random_state=0, stratify=y_rest)

# Fit one model per candidate tree depth and score each on the validation set
val_scores = {}
for depth in (2, 4, 8, 16):
    model = DecisionTreeClassifier(max_depth=depth, random_state=0).fit(X_train, y_train)
    val_scores[depth] = model.score(X_val, y_val)
    print(f"depth {depth}: train {model.score(X_train, y_train):.3f}, validation {val_scores[depth]:.3f}")

# Refit the winner and score the test set exactly once
best = max(val_scores, key=val_scores.get)
final = DecisionTreeClassifier(max_depth=best, random_state=0).fit(X_train, y_train)
print(f"Chosen depth {best}: test accuracy {final.score(X_test, y_test):.3f}")

Die Trainingsgenauigkeit steigt mit der Tiefe weiter an und erreicht bei Tiefe 16 den Wert 1.000, während die Validierungsgenauigkeit bei Tiefe 8 mit 0.836 ihren Höchstwert erreicht und bei Tiefe 16 auf 0.825 fällt, weil der Baum beginnt, sich die Daten einzuprägen. Die Validierung wählt Tiefe 8 aus, die im unberührten Testdatensatz einen Wert von 0.853 erzielt.

Vorzeitiger Abbruch und Checkpoint-Auswahl#

Beim Training mit Deep Learning wird der Validierungsdatensatz üblicherweise nach jeder Epoche ausgewertet. Der Trainingsverlust sinkt weiter, während das Netz seine Trainingsdaten immer genauer anpasst. Der Validierungsverlust oder die Validierungsgenauigkeit erreichen jedoch irgendwann einen Wendepunkt und verschlechtern sich anschließend. Beim vorzeitigen Abbruch endet das Training, sobald sich der Validierungswert über eine festgelegte Anzahl von Epochen, die Geduld genannt wird, nicht mehr verbessert. Beibehalten werden die Gewichte der besten Epoche.

Beim Training von YOLO26 mit Ultralytics läuft dieser Prozess standardmäßig folgendermaßen ab: Nach jeder Epoche wird die val-Aufteilung aus der Dataset-YAML-Datei ausgewertet. Die Epoche mit der höchsten Validierungsbewertung (mAP50-95 bei der Objekterkennung) wird als best.pt gespeichert. Nach patience Epochen ohne Verbesserung, standardmäßig 100, wird das Training beendet.

from ultralytics import YOLO

# Einen vortrainierten YOLO26-Nano-Detektor laden
model = YOLO("yolo26n.pt")

# Nach jeder Epoche die Validierungsaufteilung auswerten und nach 10 Epochen ohne Verbesserung abbrechen
results = model.train(data="coco8.yaml", epochs=50, patience=10)

Kreuzvalidierung bei kleinen Datensätzen#

Bei knappen Daten verschwendet eine einzige zurückgehaltene Aufteilung Beispiele und liefert einen unzuverlässigen Wert. Bei der K-fachen Kreuzvalidierung werden die Daten in K Teilmengen aufgeteilt. K Modelle werden trainiert, wobei jedes Modell eine andere Teilmenge zur Validierung zurückhält. Anschließend werden die K Werte gemittelt, sodass jedes Beispiel sowohl zum Training als auch zur Validierung verwendet wird. Fünf und zehn Teilmengen sind üblich. Stratifizierte und gruppierte Varianten halten die Klassenanteile gleichmäßig oder verwandte Bilder innerhalb jeder Teilmenge zusammen. Ein Testdatensatz bleibt außerhalb aller Teilmengen.

  • Testdaten: Werden am Ende einmal ausgewertet. Werden sie wiederverwendet, um Entscheidungen zu treffen, werden sie zu einem zweiten Validierungsdatensatz und ihr Wert ist keine unverzerrte Schätzung mehr.
  • Trainingsdaten: Die einzige Aufteilung, aus der der Optimierer Gewichte lernt.
  • Kreuzvalidierung: Ein Verfahren, bei dem abwechselnd verschiedene Beispiele als Validierungsdaten dienen und ein Datensatz so K Validierungswerte liefert.
  • Validierung in medizinischen und regulatorischen Dokumenten: In der Medizin und regulierten Branchen bedeutet die Validierung eines Modells oft, das fertige Modell anhand unabhängiger externer Daten zu evaluieren. In der Terminologie des maschinellen Lernens entspricht dies dem Testdatensatz.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens