Angenommen, ich habe eine kleine Stichprobengröße, z. B. N = 100, und zwei Klassen. Wie soll ich die Trainings-, Kreuzvalidierungs- und Testsatzgrößen für maschinelles Lernen auswählen?
Ich würde intuitiv auswählen
- Trainingsset Größe als 50
- Kreuzvalidierungssatz Größe 25 und
- Testgröße als 25.
Aber wahrscheinlich macht das mehr oder weniger Sinn. Wie soll ich diese Werte wirklich bestimmen? Darf ich verschiedene Optionen ausprobieren (obwohl ich denke, dass dies nicht so vorzuziehen ist ... erhöhte Wahrscheinlichkeit des Überlernens)?
Was wäre, wenn ich mehr als zwei Klassen hätte?
machine-learning
sampling
svm
cross-validation
sample-size
Europäische Sommerzeit
quelle
quelle
Antworten:
Sie haben sicherlich die sehr ähnliche Frage gefunden: Wahl von K bei der K-fachen Kreuzvalidierung ?
(Einschließlich des Links zu Ron Kohavis Arbeit)
Wenn Ihre Stichprobengröße bereits klein ist, empfehle ich, datengesteuerte Optimierungen zu vermeiden. Beschränken Sie sich stattdessen auf Modelle, bei denen Sie Hyperparameter durch Ihr Wissen über Modell und Anwendung / Daten korrigieren können. Dies macht eine der Validierungs- / Teststufen unnötig und lässt mehr Ihrer wenigen Fälle für das Training der Ersatzmodelle in der verbleibenden Kreuzvalidierung übrig.k (z. B. 5-fach vs. 10-fach) - mit der wichtigen Ausnahme, dass das Auslassen im Allgemeinen nicht empfohlen wird.
IMHO, Sie können sich sowieso keine sehr ausgefallenen Modelle mit dieser Stichprobengröße leisten. Und mit ziemlicher Sicherheit können Sie es sich nicht leisten, aussagekräftige Modellvergleiche durchzuführen (ganz sicher nicht, wenn Sie nicht die richtigen Bewertungsregeln und gepaarten Analysetechniken verwenden).
Diese Entscheidung ist weitaus wichtiger als die genaue Wahl von
Interessanterweise ist bei diesen sehr kleinen Klassifizierungsproblemen mit Stichprobengröße die Validierung (im Hinblick auf die Anforderungen an die Stichprobengröße) oft schwieriger als das Training eines anständigen Modells. Wenn Sie dazu Literatur benötigen
, lesen
Sie z. B. unser Papier zur Stichprobengrößenplanung: Beleites, C. und Neugebauer, U. und Bocklitz, T. und Krafft, C. und Popp, J.: Stichprobengrößenplanung für Klassifizierungsmodelle. Anal Chim Acta, 2013, 760, 25 & ndash; 33. DOI: 10.1016 / j.aca.2012.11.007
akzeptiertes Manuskript auf arXiv: 1211.1323
Ein weiterer wichtiger Punkt ist, die Möglichkeit zu nutzen, die Kreuzvalidierung zu wiederholen / zu wiederholen (was einer der Gründe gegen LOO ist): Auf diese Weise können Sie die Stabilität der Vorhersagen gegen Störungen (dh wenige verschiedene Fälle) des Trainings messen Daten.
Literatur:
DOI: 10.1007 / s00216-007-1818-6
DOI: 10.1016 / j.chemolab.2009.07.016
Wenn Sie sich für einen einzelnen Lauf in einem Hold-Out-Test-Set entscheiden (keine Iterationen / Wiederholungen),
quelle
Angesichts der geringen Stichprobengröße empfiehlt es sich, den Abschnitt zur Kreuzvalidierung wegzulassen und ein Verhältnis von 60 - 40 oder 70 - 30 zu verwenden.
Wie Sie in Abschnitt 2.8 der Einführung in Clementine und Data Mining sowie in MSDN Library - Data Mining - Trainings- und Testsätze sehen können ein Verhältnis von 70 bis 30 üblich. Laut Andrew Ngs Vorlesungen über maschinelles Lernen wird ein Verhältnis von 60 - 20 - 20 empfohlen.
Hoffe ich war hilfreich. Freundliche Grüße.
quelle