Optimieren Sie Modelle des maschinellen Lernens mit Validierungsdaten, um Overfitting zu vermeiden, Hyperparameter abzustimmen und eine robuste Leistung in der realen Welt sicherzustellen.
Validierungsdaten sind ein entscheidender Zwischenschritt im Entwicklungszyklus des maschinellen Lernens und dienen als stellvertretend für ungesehene Daten während des Modelltrainings. Es handelt sich um eine bestimmte Teilmenge des Datensatzes, die dazu dient, eine unvoreingenommene Bewertung der Anpassung eines Modells während der Abstimmung seiner Konfiguration. Durch regelmäßiges Testen des Modells anhand von Validierungsdaten können die Entwickler beurteilen, wie gut das System lernt, auf auf neue Informationen zu verallgemeinern, anstatt einfach das Auswendiglernen der Trainingsbeispiele. Diese Feedbackschleife ist wichtig, um Probleme frühzeitig zu erkennen und das Modells für eine robuste, praxisnahe Leistung.
Die Hauptfunktion der Validierungsdaten besteht darin, die Abstimmung der Hyperparameter zu erleichtern. Im Gegensatz zu internen Parametern wie den Modellgewichten, die direkt aus dem direkt aus dem Trainingsprozess gelernt werden, sind Hyperparameter wie die Lernrate oder Lernrateoder die Stapelgröße -manuell eingestellt oder durch Experimentieren optimiert werden. Der Validierungssatz ermöglicht es den Ingenieuren, verschiedene Modellarchitekturen und -konfigurationen zu vergleichen, um um die leistungsfähigste auszuwählen, ohne die endgültige Testmenge anzufassen.
Außerdem hilft die Überwachung der Leistung anhand von Validierungsdaten, eine Überanpassung. Eine Überanpassung liegt vor, wenn ein Modell die Rauschen und spezifische Details der Trainingsdaten zum Nachteil seiner Leistung bei neuen Daten lernt. Wenn der Trainingsfehler abnimmt, der Validierungsfehler jedoch zunimmt, deutet dies darauf hin, dass das Modell seine Fähigkeit zur Verallgemeinerung verliert, was ein Zeichen für die Notwendigkeit von Interventionstechniken wie dem frühzeitigen Abbruch.
Um eine zuverlässige Bewertung zu gewährleisten, wird ein vollständiger Datensatz in der Regel in drei verschiedene Teile unterteilt. Das Verständnis für den Zweck jeder Aufteilung zu verstehen, ist entscheidend für eine effektive Datenverwaltung.
Im Ultralytics ist die Validierung nahtlos in den Arbeitsablauf integriert. Bei der Definition einer Dataset YAML Konfiguration geben die Benutzer Pfade für Trainings- und Validierungsbilder an. Der ValidierungsmodusUltralytics kann dann aufgerufen werden, um Metriken wie Mittlere durchschnittliche Präzision (mAP) auf dem Validierungssatz.
So validieren Sie ein vortrainiertes YOLO11 mit Python:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Validate the model on the 'coco8.yaml' dataset
# The 'data' argument specifies the dataset configuration containing the validation split
metrics = model.val(data="coco8.yaml")
# Display the Mean Average Precision (mAP) at IoU 50-95
print(f"Validation mAP50-95: {metrics.box.map}")
Mit Hilfe von Validierungsdaten können die Entwickler die Modelle für bestimmte Branchen, in denen Präzision von größter Bedeutung ist, fein abstimmen.
In Szenarien, in denen nur wenige Daten zur Verfügung stehen, könnte ein statischer Validierungssplit zu viele wertvolle Trainingsdaten entfernen. In diesen Fällen verwenden Praktiker oft Kreuz-Validierung, insbesondere K-Fold Kreuz-Validierung. Bei dieser Technik werden die Daten in "K" Teilmengen aufgeteilt und es wird rotiert, welche Teilmenge als die Validierungsdaten dienen. Auf diese Weise wird sichergestellt, dass jeder Datenpunkt sowohl für das Training als auch für die Validierung verwendet wird, was zu einer statistisch robustere Schätzung der Modellleistung, wie in der scikit-learn Dokumentation zur Kreuzvalidierung beschrieben.
Die ordnungsgemäße Verwendung von Validierungsdaten ist ein Eckpfeiler von maschineller Lernverfahren (MLOps). Durch die strikte Trennung der Validierungsbeispiele vom Trainingsprozess stellen die Entwickler sicher, dass ihre Modelle nicht nur Fakten auswendig lernen, sondern wirklich lernen, die visuelle Welt zu interpretieren.