Kreuzvalidierungsverfahren

aus Wikipedia, der freien Enzyklopädie
(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

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

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.

Stratifizierte Kreuzvalidierung

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

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

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

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

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.

Anwendungsbeispiel

Ein Psychologe entwickelt einen neuen Test, mit dem er Depressivität messen will.

Um zu überprüfen, wie gut der Test das zu messende Merkmal (Depressivität) misst, lässt er in einem ersten Schritt eine große Gruppe von Personen, bei denen die jeweilige Ausprägung des Merkmals bekannt ist (vorher durch Experten oder einen anderen Test bestimmt), an diesem Test teilnehmen.

Im nächsten Schritt unterteilt er die große Gruppe in zwei zufällig zusammengestellte Untergruppen (bzw. k-Teilmengen, siehe weiter oben), nennen wir sie Untergruppe A und Untergruppe B. Der Psychologe benutzt nun die Daten der Untergruppe A, um mit ihnen eine Vorhersagegleichung für das Merkmal, das der Test messen soll, zu erstellen. D. h., er bildet eine Regel, nach der aus den Testdaten einer Person Rückschlüsse auf die Ausprägung des gesuchten Merkmals bei ihr gezogen werden können. Diese Vorhersagegleichung wendet er nun auf alle Mitglieder der Untergruppe B an und versucht, aus den Testdaten von Untergruppe B, mithilfe der an Untergruppe A entwickelten Vorhersagegleichung, auf deren jeweilige Ausprägung des Merkmals zu schließen.

Anschließend wird der Prozess umgekehrt, also B genutzt um A vorherzusagen. Die Kreuzvalidierung besteht darin den Durchschnitt der Genauigkeit beider Vorhersagen zu bilden. Dieses Verfahren kann mit beliebig vielen Untergruppen(k) durchgeführt werden, wobei k-1 Gruppen genutzt werden um die verbleibende Test-Gruppe vorherzusagen.

Einzelnachweise

  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, ISSN 2058-9689, S. 819–825, doi:10.1039/C8ME00012C (rsc.org [abgerufen am 15. Juni 2022]).
  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, ISSN 2193-9772, 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