Kreuzvalidierungsverfahren

Validierung der Anpassungsgüte eines statistischen Modells
(Weitergeleitet von Stratifizierte Kreuzvalidierung)

Kreuzvalidierungsverfahren sind auf Resampling basierende Testverfahren der Statistik, die z. B. im Data-Mining die zuverlässige Bewertung von Maschinen gelernten Algorithmen erlauben. Es wird unterschieden zwischen der einfachen Kreuzvalidierung, der stratifizierten Kreuzvalidierung und der Leave-One-Out-Kreuzvalidierung.

Problemstellung

Bearbeiten
 
Das lineare Interpolationspolynom (blau) als Modell für die 10 Beobachtungen (schwarz) hat einen großen Fehler (Unteranpassung). Das quadratische Interpolationspolynom (grün) war die Grundlage die Daten zu generieren. Das Interpolationspolynom der Ordnung 9 (rot) interpoliert die Daten selbst exakt, jedoch zwischen den Beobachtungen sehr schlecht (Überanpassung).

Um einen verlässlichen Wert für die Anpassungsgüte (Qualität) eines statistischen Modells zu bekommen, gibt es in der Statistik verschiedene Verfahren. In der Regel werden dafür Kennzahlen benutzt, z. B. das (korrigierte) Bestimmtheitsmaß in der linearen Regression oder das Akaike- oder Bayes-Informationskriterium bei Modellen basierend auf der Maximum-Likelihood-Methode. Zum Teil basieren solche Kennzahlen auf asymptotischer Theorie, d. h., sie können nur für große Stichprobenumfänge verlässlich geschätzt werden. Ihre Schätzung bei kleinen Stichprobenumfängen ist daher problematisch. Oft ist auch die exakte Zahl der zu schätzenden Parameter, die für die Kennzahl benötigt wird, nicht berechenbar; ein Beispiel hierfür ist die nichtparametrische Statistik.

Des Weiteren gibt es das Problem, dass zu hoch parametrisierte Modelle dazu tendieren, sich zu stark an die Daten anzupassen. Ein Beispiel ist die Polynominterpolation. Hat man   Beobachtungen  , kann man ein Interpolationspolynom   bestimmen, so dass   für alle   gilt. Zwischen den Beobachtungspunkten werden die Daten jedoch sehr schlecht interpoliert (sogenannte Überanpassung). Würde man nun den Fehler (in-sample error) berechnen, so würde man die Modellqualität überschätzen.

Um den zuvor genannten Problemen zu entgehen, wird der Datensatz in zwei Teile geteilt. Mit dem ersten Teil werden nur die Modellparameter geschätzt und auf Basis des zweiten Teils wird der Modellfehler berechnet (out-of-sample error). Die Verallgemeinerung dieses Verfahrens sind die Kreuzvalidierungsverfahren.

Einfache Kreuzvalidierung

Bearbeiten
 
Illustration der k-fachen Kreuzvalidierung, wobei N = 12 Beobachtungen vorliegen und k = 3 gewählt wurde. Nach dem Mischen der Daten, werden 3 Modelle trainiert und getestet.

Die zur Verfügung stehende Datenmenge, bestehend aus   Elementen, wird in   möglichst gleich große Teilmengen   aufgeteilt. Nun werden   Testdurchläufe gestartet, bei denen die jeweils  -te Teilmenge   als Testmenge und die verbleibenden   Teilmengen   als Trainingsmengen verwendet werden.

Die Gesamtfehlerquote errechnet sich als Durchschnitt aus den Einzelfehlerquoten der   Einzeldurchläufe. Diese Testmethode nennt man k-fache Kreuzvalidierung.

Werden die Trainings- und Testmengen durch Ziehen ohne Zurücklegen erzeugt – dann spricht man von Monte Carlo Cross-Validation (bzw. shuffle split cross-validation).

Der Kreuzvalidierungs-Fehler (z. B. MSE) wird dann mit folgendem gewichteten Mittelwert berechnet:  , mit   der quadratische Fehler im k-ten Holdout.

Stratifizierte Kreuzvalidierung

Bearbeiten

Aufbauend auf der einfachen k-fachen Kreuzvalidierung, achtet die k-fache stratifizierte Kreuzvalidierung darauf, dass jede der k Teilmengen eine annähernd gleiche Verteilung besitzt. Dadurch wird die Varianz der Abschätzung verringert.

Leave-One-Out-Kreuzvalidierung

Bearbeiten

Bei der Leave-One-Out-Kreuzvalidierung (engl. leave-one-out cross validation LOO-CV) handelt es sich um einen Spezialfall der k-fachen Kreuzvalidierung, bei der k = N (N = Anzahl der Elemente). Somit werden N Durchläufe gestartet und deren Einzelfehlerwerte ergeben als Mittelwert die Gesamtfehlerquote.

Ein Nachteil dieser Methode ist, dass eine Stratifizierung der Teilmengen, wie bei der stratifizierten Kreuzvalidierung, nicht mehr möglich ist. Dadurch kann es in Extremfällen dazu kommen, dass dieses Testverfahren falsche Fehlerwerte liefert. Beispiel: Eine vollständig zufällige Datenmenge bei gleichmäßiger Verteilung und nur zwei Klassen würde zu einem LOO-CV mit einer Genauigkeit von etwa 0 führen. Aus N Elementen werden zum Training N / 2 Elemente der einen Klasse und N / 2 − 1 Elemente der anderen Klasse verwendet. Die wahre Fehlerquote betrüge jeweils 50 %. Da der Klassifikator immer den Gegenpart zur Mehrheitsklasse der Testdaten prognostiziert, liefert der Test für jede Klasse die falsche Vorhersage. Die daraus ermittelte Gesamtfehlerquote beträgt also 100 %.[1]

Ein weiterer Nachteil ist, dass die Anzahl der Trainingsläufe zu einem sehr hohen Rechenaufwand führt.

Gruppen-Kreuzvalidierung

Bearbeiten

Bei der Gruppen-Kreuzvalidierung (engl. Group cross-validation G-CV oder leave-one-cluster-out cross validation LOCO-CV) handelt es sich um eine Art der Kreuzvalidierung, bei der die Daten mit Hilfe von Domänenwissen in Cluster eingeteilt werden.[2] Danach werden die Daten auf einem oder mehreren dieser Cluster trainiert und anschließend auf einem separaten Cluster getestet. So kann sichergestellt werden, dass die Vorhersagen eines Modells eine Allgemeingültigkeit besitzen und nicht auf einen bestimmten Bereich in der Domäne beschränkt sind.[3] Außerdem kann durch die Gruppen-Kreuzvalidierung vermieden werden, dass das Modell in einem Bereich zu optimistisch ist.

Gruppen-Kreuzvalidierung wird besonders beim Einsatz von Künstlicher Intelligenz in der Materialwissenschaft verwendet.[4] Dabei werden die untersuchten Materialien nach ihren chemischen Strukturräumen in Cluster eingeteilt. Dies ist besonders wichtig, da bestimmte Korrelationen in den Daten in einem Strukturraum sehr präsent sein können, aber nicht auf andere Räume angewendet werden können.

Wiederholtes zufälliges Subsampling

Bearbeiten

Beim wiederholten zufälligen Subsampling (repeated random sub-sampling) werden wiederholt zufällige Unterstichproben gezogen. Ein Beispielalgorithmus, welcher Subsampling nutzt, ist der RANSAC-Algorithmus.[5]

Holdout-Methode

Bearbeiten

Der typische Train-Test-Split eines Datensatzes in einen Trainingsdatensatz und einen Testdatensatz kann als einfachste Form von Kreuzvalidierung angesehen werden.[6] Durch Anwenden der Holdout-Methode kann Überanpassung erkannt werden. Bei der Holdout-Methode ist zu beachten, dass sowohl der Trainings- als auch der Testdatensatz dieselbe Verteilung repräsentieren. Pseudoreplikation aufgrund hoher Autokorrelation der Daten ist beim Test-Train-Split zu berücksichtigen.

Anwendung

Bearbeiten

Trainiert man ein Modell auf einem Trainingsdatensatz   und bestimmt den empirischen Mittelwert der Verlustfunktion L (vgl. empirische Risikominimierung) auf Test-Daten  , so wird der bedingte Erwartungswert des Testfehlers   geschätzt. Dies ist der auf den Trainingsdatensatz bedingte Testfehler. Cross-Validation (und auch Bootstrapping-Verfahren) können benutzt werden um den erwarteten Testfehler[7] zu schätzen, indem die Trainingsdatensätze (Und Testdatensätze) durch Resampling neu erzeugt werden:  

Bearbeiten
Commons: Kreuzvalidierungsverfahren – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

Bearbeiten
  1. Ian H. Witten, Eibe Frank und Mark A. Hall: Data Mining: Practical Machine Learning Tools and Techniques. 3. Auflage. Morgan Kaufmann, Burlington, MA 2011, ISBN 978-0-12-374856-0 (waikato.ac.nz).
  2. Bryce Meredig, Erin Antono, Carena Church, Maxwell Hutchinson, Julia Ling: Can machine learning identify the next high-temperature superconductor? Examining extrapolation performance for materials discovery. In: Molecular Systems Design & Engineering. Band 3, Nr. 5, 2018, S. 819–825, doi:10.1039/C8ME00012C.
  3. Sterling G. Baird, Marianne Liu, Hasan M. Sayeed, Taylor D. Sparks: Data-Driven Materials Discovery and Synthesis using Machine Learning Methods. 28. Februar 2022, arxiv:2202.02380v2.
  4. Steven K. Kauwe, Jake Graser, Antonio Vazquez, Taylor D. Sparks: Machine Learning Prediction of Heat Capacity for Solid Inorganics. In: Integrating Materials and Manufacturing Innovation. Band 7, Nr. 2, 1. Juni 2018, S. 43–51, doi:10.1007/s40192-018-0108-9.
  5. Cantzler, H. "Random sample consensus (ransac)." Institute for Perception, Action and Behaviour, Division of Informatics, University of Edinburgh (1981). http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.106.3035&rep=rep1&type=pdf
  6. https://www.cs.cmu.edu/~schneide/tut5/node42.html
  7. Hastie, T., Tibshirani, R., Friedman, J., Friedman, J. H. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition. Niederlande: Springer New York. Seite 254 ff