Video: Modul 5a - Manuelle Annotation und Evaluation 2024
Manchmal erfordert maschinelles Lernen, dass Sie auf Kreuzvalidierung zurückgreifen müssen. Ein auffälliges Problem bei der Aufteilung von Zug- und Testsätzen besteht darin, dass Sie eine Verzerrung in Ihren Tests einführen, da Sie die Größe Ihrer In-Sample-Trainingsdaten reduzieren. Wenn Sie Ihre Daten aufteilen, halten Sie möglicherweise einige nützliche Beispiele aus dem Training heraus. Darüber hinaus sind Ihre Daten manchmal so komplex, dass ein Testset, obwohl es anscheinend dem Trainingssatz ähnelt, nicht wirklich ähnlich ist, da die Kombinationen von Werten unterschiedlich sind (was typisch für hochdimensionale Datensätze ist).
Diese Probleme erhöhen die Instabilität von Sampling-Ergebnissen, wenn Sie nicht viele Beispiele haben. Das Risiko, Ihre Daten ungünstig aufzuteilen, erklärt auch, warum der Zug / Test-Split nicht die bevorzugte Lösung für Maschinelle Lernende ist, wenn Sie eine Machine-Learning-Lösung evaluieren und abstimmen müssen.
Kreuzvalidierung basierend auf k-folds ist eigentlich die Antwort. Es basiert auf zufälliger Aufteilung, aber dieses Mal teilt es Ihre Daten in eine Anzahl k von Falten (Teile Ihrer Daten) von gleicher Größe auf. Dann wird jede Falte abwechselnd als Testset gehalten und die anderen werden zum Training verwendet. Jede Iteration verwendet eine andere Faltung als Test, was eine Fehlerschätzung ergibt.
In der Tat wird nach dem Abschluss des Tests auf eine Falte gegen die anderen, die als Training verwendet werden, eine aufeinanderfolgende Falte, die sich von der vorherigen unterscheidet, herausgehalten und das Verfahren wird wiederholt, um eine weitere Fehlerabschätzung zu erzeugen… Der Prozess wird fortgesetzt, bis alle k-Faltungen einmal als Testsatz verwendet wurden und Sie eine k Anzahl von Fehlerschätzungen haben, die Sie in eine mittlere Fehlerschätzung (die Kreuzvalidierungsbewertung) und einen Standardfehler der Schätzungen berechnen können.
Dieses Verfahren bietet die folgenden Vorteile:
- Es funktioniert gut, unabhängig von der Anzahl der Beispiele, denn wenn Sie die Anzahl der verwendeten Falten erhöhen, erhöhen Sie tatsächlich die Größe Ihres Trainingssatzes (größeres k, größeres Trainingsset, reduzierter Bias) und die Größe des Testsatzes verringert.
- Verteilungsunterschiede für einzelne Falten spielen keine Rolle. Wenn eine Falte im Vergleich zu den anderen eine andere Verteilung hat, wird sie nur einmal als Testgruppe verwendet und während der verbleibenden Tests mit anderen als Teil des Trainingssatzes gemischt.
- Sie testen tatsächlich alle Beobachtungen, also testen Sie Ihre Maschinelle Lernhypothese mit allen Daten, die Sie haben.
- Wenn Sie den Mittelwert der Ergebnisse einnehmen, können Sie eine Vorhersageleistung erwarten. Darüber hinaus kann Ihnen die Standardabweichung der Ergebnisse sagen, wie viel Variation Sie bei echten Out-of-Sample-Daten erwarten können. Höhere Abweichungen in den kreuzvalidierten Leistungen informieren Sie über extrem vielfältige Daten, die der Algorithmus nicht richtig erfassen kann.
Die Verwendung der k-fachen Kreuzvalidierung ist immer die optimale Wahl, es sei denn, die Daten, die Sie verwenden, haben eine bestimmte Reihenfolge, auf die es ankommt. Zum Beispiel könnte es sich um eine Zeitreihe wie den Verkauf handeln. In diesem Fall sollten Sie keine zufällige Stichprobenmethode verwenden, sondern sich stattdessen auf einen Zug / Test-Split basierend auf der ursprünglichen Sequenz verlassen, damit die Reihenfolge erhalten bleibt und Sie die letzten Beispiele dieser geordneten Serie testen können.