Glossar

Kreuzvalidierung

Entdecke die Macht der Kreuzvalidierung beim maschinellen Lernen, um die Modellgenauigkeit zu verbessern, eine Überanpassung zu verhindern und eine robuste Leistung sicherzustellen.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Die Kreuzvalidierung ist eine wichtige Technik beim maschinellen Lernen (ML), um zu beurteilen, wie gut ein Modell auf neue, ungesehene Daten verallgemeinert werden kann. Sie stellt sicher, dass sich das Modell nicht nur die Trainingsdaten merkt - ein Problem, das als Overfitting bekannt ist -, sondern Muster lernt, die im weiteren Sinne anwendbar sind. Bei dieser Technik werden die verfügbaren Daten in mehrere Teilmengen oder "Foldings" unterteilt. Das Modell wird auf einem Teil der Daten trainiert und auf dem verbleibenden Teil validiert. Dieser Prozess wird mehrmals wiederholt, wobei unterschiedliche Teilmengen für Training und Validierung verwendet werden.

Bedeutung für die Modellbewertung

Die Kreuzvalidierung bietet eine zuverlässigere Einschätzung der Leistung eines Modells als die Verwendung einer einzigen Trainings-/Testaufteilung. Durch das Trainieren und Validieren des Modells auf verschiedenen Teilmengen der Daten wird das Risiko verringert, dass das Modell nur auf einem bestimmten Datensatz zufällig gut abschneidet. Dies ist besonders wichtig, wenn die Datenmenge begrenzt ist, da so die Nutzung der verfügbaren Daten für Training und Validierung maximiert wird. Diese Methode hilft auch bei der Abstimmung von Hyperparametern, so dass Praktiker die besten Einstellungen wählen können, die über verschiedene Foldings hinweg eine optimale Leistung erzielen. Die aus der Kreuzvalidierung gewonnenen Erkenntnisse können zur Verbesserung des Modelldesigns und des Trainings beitragen, was letztlich zu robusteren und zuverlässigeren Modellen führt.

Arten der Kreuzvalidierung

Es gibt verschiedene Arten von Kreuzvalidierungsmethoden, die jeweils für unterschiedliche Szenarien geeignet sind:

K-Fold Cross-Validation

Bei der K-Fold-Kreuzvalidierung wird der Datensatz in K gleich große Folds unterteilt. Das Modell wird auf K-1 Folds trainiert und auf dem verbleibenden Fold validiert. Dieser Vorgang wird K-mal wiederholt, wobei jeder Fold einmal als Validierungsset dient. Die Leistungskennzahl, z. B. die Genauigkeit oder der F1-Score, wird dann über alle K Iterationen gemittelt, um eine umfassende Bewertung der Leistung des Modells zu erhalten.

Stratifizierte K-Fold Cross-Validation

Stratified K-Fold ist eine Variante der K-Fold-Kreuzvalidierung, die sicherstellt, dass jeder Fold den gleichen Anteil an Klassen hat wie der ursprüngliche Datensatz. Dies ist besonders nützlich für unausgewogene Datensätze, bei denen eine Klasse deutlich in der Überzahl ist. Indem die Klassenverteilung in jedem Fold beibehalten wird, trägt stratified K-Fold dazu bei, dass die Leistung des Modells nicht durch das Ungleichgewicht der Klassen verzerrt wird.

Leave-One-Out Cross-Validation (LOOCV)

Bei der Leave-One-Out-Kreuzvalidierung wird jeder Datenpunkt einmal als Validierungssatz verwendet, während der Rest der Daten zum Training genutzt wird. Diese Methode ist zwar rechenintensiv, bietet aber eine gründliche Auswertung, vor allem bei kleinen Datensätzen. Sie ist besonders nützlich, wenn der Datensatz sehr klein ist und jeder Datenpunkt für das Training und die Validierung entscheidend ist.

Anwendungen in KI/ML-Projekten der realen Welt

Die Kreuzvalidierung wird in vielen realen Anwendungen eingesetzt, um die Zuverlässigkeit und Robustheit von maschinellen Lernmodellen sicherzustellen. Zum Beispiel:

  1. Medizinische Diagnose: In der medizinischen Diagnose kann die Kreuzvalidierung eingesetzt werden, um die Leistung von Modellen zu bewerten, die Krankheiten anhand von Patientendaten vorhersagen. Durch das Training und die Validierung des Modells an verschiedenen Untergruppen von Patientendaten können Forscher sicherstellen, dass das Modell in verschiedenen Patientengruppen genau und zuverlässig ist. Dies ist wichtig, um fundierte medizinische Entscheidungen zu treffen und die Ergebnisse für die Patienten zu verbessern. Erfahre mehr über KI im Gesundheitswesen.

  2. Betrugsaufdeckung: In der Finanzbranche hilft die Kreuzvalidierung beim Aufbau robuster Betrugserkennungssysteme. Durch das Trainieren von Modellen anhand historischer Transaktionsdaten und deren Validierung anhand verschiedener Teilmengen können Finanzinstitute sicherstellen, dass ihre Modelle betrügerische Aktivitäten genau erkennen und gleichzeitig die Zahl der falsch-positiven Ergebnisse minimieren. Dies hilft, die Kunden zu schützen und die Integrität der Finanzsysteme zu wahren. Erfahre mehr über KI im Finanzwesen.

Kreuzvalidierung im Vergleich zu anderen Bewertungstechniken

Die Kreuzvalidierung ist zwar eine leistungsstarke Technik, aber es ist wichtig zu verstehen, wie sie sich von anderen Bewertungsmethoden unterscheidet:

  • Train-Test Split: Bei einem einfachen Train-Test-Split werden die Daten in zwei Teile geteilt: einen zum Trainieren und einen zum Testen. Diese Methode ist zwar schneller und einfacher, kann aber zu einer hohen Streuung bei den Leistungsschätzungen führen, wenn die Testmenge nicht repräsentativ für die Gesamtdaten ist. Die Kreuzvalidierung entschärft dieses Problem, indem sie mehrere Trainings- und Testdatensätze verwendet. Erfahre mehr über Trainingsdaten, Validierungsdaten und Testdaten, um mehr über Datensplits zu erfahren.

  • Bootstrapping: Beim Bootstrapping werden wiederholt Stichproben aus dem Datensatz gezogen, um mehrere Trainingssätze zu erstellen. Es ist zwar nützlich, um die Variabilität der Modellleistung abzuschätzen, aber es kann rechenintensiv sein und ist bei der Modellauswahl möglicherweise nicht so effektiv wie die Kreuzvalidierung.

  • Hold-Out-Methode: Ähnlich wie bei der Aufteilung zwischen Training und Test wird auch bei der Hold-Out-Methode ein Teil der Daten für die Validierung beiseite gelegt. Im Gegensatz zur Kreuzvalidierung werden bei dieser Methode jedoch nicht mehrere Iterationen von Training und Validierung durchgeführt, wodurch die Leistungsschätzung weniger zuverlässig sein kann.

Tools und Bibliotheken

Mehrere Tools und Bibliotheken unterstützen die Implementierung von Kreuzvalidierung in Machine-Learning-Projekten. Unter Python bietet die Bibliothek scikit-learn umfassende Funktionen für verschiedene Kreuzvalidierungsverfahren, darunter K-Fold und stratified K-Fold. Außerdem können Frameworks wie TensorFlow und PyTorch Hilfsprogramme für die Integration der Kreuzvalidierung in die Trainingspipelines von Modellen. Unter Ultralytics YOLO findest du eine ausführliche Anleitung zur Implementierung der K-Fold Kreuzvalidierung in der Dokumentation zur K-Fold Kreuzvalidierung.

Alles lesen