Entdecken Sie die Bedeutung der Genauigkeit im maschinellen Lernen, ihre Berechnung, Einschränkungen bei unausgewogenen Datensätzen und Möglichkeiten zur Verbesserung der Modellleistung.
Die Genauigkeit ist eine der grundlegendsten Messgrößen für die Bewertung der Leistung eines Klassifizierungsmodells. Sie stellt den Anteil der richtigen Vorhersagen des Systems an der Gesamtzahl der verarbeiteten Vorhersagen dar. In der breiteren Landschaft des maschinellen Lernens (ML) ist die Genauigkeit oft die die erste Zahl, die Entwickler prüfen, um festzustellen, ob ein Modell effektiv lernt oder nur rät. Sie liefert zwar eine schnelle Momentaufnahme der Effektivität bietet, wird sie häufig zusammen mit anderen Bewertungsmetriken verwendet, um ein um ein umfassendes Verständnis des Modellverhaltens zu gewährleisten, insbesondere bei der Unterscheidung zwischen Klassen in komplexen Datensätzen.
Die Berechnung der Genauigkeit ist einfach, so dass sie für alle Beteiligten - von Datenwissenschaftlern Wissenschaftler bis hin zu Geschäftsführern. Sie ist mathematisch definiert als die Anzahl wahrer positiver und wahrer negativer Ergebnisse geteilt durch die Gesamtzahl der Fälle. Für Aufgaben des überwachten Lernens zeigt diese Metrik an, wie oft der Algorithmus mit der Grundwahrheit in den Trainingsdaten übereinstimmt. Trainingsdaten übereinstimmt. Eine hohe Genauigkeit bedeutet jedoch nicht immer ein perfektes Modell; seine Zuverlässigkeit hängt stark von der Verteilung der zugrunde liegenden Daten ab.
Die Genauigkeit spielt in verschiedenen Branchen, in denen automatisierte Entscheidungsprozesse menschliche Experten unterstützen, eine entscheidende Rolle.
Bei der Entwicklung von Modellen mit dem ultralytics Paket ist die Bewertung der Genauigkeit ein Standardbestandteil des
Validierungs-Workflows. Das folgende Beispiel zeigt, wie man ein
YOLO11 Klassifizierungsmodell und validieren es, um die
Genauigkeitsmetriken.
from ultralytics import YOLO
# Load a pretrained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")
# Validate the model on the MNIST160 dataset
# The function returns a metrics object containing top1 and top5 accuracy
metrics = model.val(data="mnist160")
# Display the Top-1 accuracy (percentage of times the top prediction was correct)
print(f"Top-1 Accuracy: {metrics.top1:.2f}")
Die Genauigkeit ist zwar intuitiv, kann aber bei einem unausgewogenen Datensatz. Dieses Phänomen ist als Genauigkeitsparadoxon bekannt. In einem Szenario der Betrugserkennung, in dem nur 1 % der Transaktionen Transaktionen betrügerisch sind, erreicht ein Modell, das einfach "legitim" für jede Transaktion vorhersagt, eine 99 % Genauigkeit. Allerdings würde es bei seiner Hauptaufgabe, der Betrugserkennung, völlig versagen. In solchen Fällen würde das Modell zwar eine hohe Genauigkeit, aber keine Vorhersagekraft für die Minderheitenklasse.
Um dieses Problem zu lösen, verwenden Praktiker Datenerweiterung, um Klassen auszugleichen oder verschiedene Metriken, die die Art der gemachten Fehler aufschlüsseln.
Um die Leistung eines Modells vollständig zu verstehen, muss die Genauigkeit von verwandten Begriffen unterschieden werden:
Die Verbesserung der Genauigkeit erfordert einen iterativen Prozess des Experimentierens. Die Entwickler nutzen oft die Hyperparameter-Tuning, um die Lernraten und Lernraten und Stapelgrößen für eine optimale Konvergenz anzupassen. Außerdem werden fortschrittliche Architekturen wie Transformers oder die neuesten Iterationen von Ultralytics YOLO können erhebliche Vorteile bringen. Schließlich hilft die Sicherstellung eines sauberen und vielfältigen Trainingsdatensatzes durch aktives Lernen, damit das Modell besser auf auf ungesehene reale Daten.