Verbesserung der Modellleistung durch umsortiertes Resampling
Das Neuanordnen von Datensplits verbessert die Hyperparameteroptimierung im maschinellen Lernen.
― 7 min Lesedauer
Inhaltsverzeichnis
In der Welt des maschinellen Lernens spielt die Hyperparameter-Optimierung (HPO) eine entscheidende Rolle dabei, wie gut Modelle abschneiden. Hyperparameter sind Einstellungen, die den Trainingsprozess von maschinellen Lernmodellen beeinflussen. Die richtige Kombination dieser Einstellungen zu finden, kann die Genauigkeit der Vorhersagen der Modelle erheblich verbessern.
Typischerweise bewerten Forscher verschiedene Kombinationen von Hyperparametern mithilfe von Resampling-Methoden. Dieser Prozess schätzt, wie gut das Modell mit neuen, ungesehenen Daten umgehen kann. Eine gängige Praxis ist es, feste Aufteilungen von Trainings- und Validierungsdatensätzen zu verwenden, was den Optimierungsprozess einschränken kann. Dieser Artikel untersucht die Idee, diese Aufteilungen neu zu mischen, und zeigt, dass dies zu einer besseren Generalisierung der Modellleistung führen kann.
Hyperparameter-Optimierung
HPO hat das Ziel, Hyperparameter zu identifizieren und auszuwählen, die dazu beitragen, die Fehler des Modells mit neuen Daten zu minimieren. Diese Aufgabe kann herausfordernd sein, weil es keine klare mathematische Beschreibung der Ziel-Funktion gibt, was es zu einem komplexen Problem macht. Ausserdem ist die Bewertung verschiedener Konfigurationen von Hyperparametern oft zeit- und ressourcenintensiv.
Traditionell erstellen Forscher feste Aufteilungen von Datensätzen, wobei ein Teil der Daten zum Trainieren des Modells und ein anderer Teil zur Validierung verwendet wird. Dadurch können verschiedene Hyperparameter-Konfigurationen fair verglichen werden. Da dieselben Aufteilungen für alle Konfigurationen verwendet werden, sollte dies die Varianz der Vergleiche minimieren, theoretisch also zu einer besseren Wahl von Hyperparametern führen.
Allerdings kann die Verwendung fester Aufteilungen den Optimierungsprozess verzerren. Nach der Bewertung vieler Konfigurationen könnte das Modell anfangen, bestimmten Hyperparametern, die bei den spezifischen gewählten Aufteilungen gut abschneiden, den Vorzug zu geben. Das führt zu einem Phänomen, das als "Overtuning" bekannt ist, bei dem das Modell zu stark auf den Validierungsdatensatz abgestimmt wird, ohne tatsächlich seine Leistung mit ungesehenen Daten zu verbessern.
In dieser Studie hinterfragen wir, ob das Neumischen der Aufteilungen für jede Hyperparameter-Konfiguration bessere Ergebnisse liefern könnte. Durch das Neumischen der Daten wollen wir herausfinden, ob die Generalisierungsleistung des Modells besser wird.
Bedeutung des Resamplings
Resampling ist eine Technik, die verwendet wird, um die Leistung eines Modells mit ungesehenen Daten zu schätzen, indem mehrere Teilmengen der ursprünglichen Daten erstellt werden. Zu den gängigen Methoden gehören Holdout-Sampling und Kreuzvalidierung. Beim Holdout-Sampling wird der Datensatz in zwei Teile unterteilt: einen zum Trainieren und einen zur Validierung. Bei der Kreuzvalidierung wird die Daten in mehrere Falten aufgeteilt, und das Modell wird mehrfach mit unterschiedlichen Kombinationen dieser Falten trainiert und validiert.
Beim Verwenden von neu gemischtem Resampling werden für jede Hyperparameter-Bewertung neue zufällige Aufteilungen erstellt, anstatt sich auf dieselben Aufteilungen zu verlassen. Dieser Ansatz kann Vorurteile verringern und eine bessere Darstellung dafür bieten, wie das Modell auf neue Daten generalisieren wird.
Theoretischer Rahmen
Wir analysieren, wie sich das Neumischen auf das Verhalten des Validierungsverlusts auswirkt, der den Fehler darstellt, den das Modell bei der Bewertung auf dem Validierungsdatensatz macht. Ein besseres Verständnis darüber, wie sich das Neumischen auf den Optimierungsprozess auswirkt, kann dazu beitragen, zu klären, warum es zu einer Verbesserung der Modellleistung führen könnte.
Beim Neumischen der Daten stellen wir fest, dass die Korrelation zwischen Validierungsverlusten über verschiedene Hyperparameter-Konfigurationen abnimmt. Diese geringere Korrelation deutet darauf hin, dass die Leistung des Modells zufälliger variieren kann, was eine klarere Sicht darauf ermöglicht, welche Konfigurationen tatsächlich gut abschneiden.
Die Oberfläche des Validierungsverlusts, die den Fehler des Modells für verschiedene Hyperparameter-Einstellungen darstellt, wird weniger voreingenommen, wenn Neumischen angewendet wird. Diese Veränderung bedeutet, dass Modelle eine breitere Palette von Konfigurationen erkunden können, ohne zu stark von einer bestimmten Aufteilung der Daten beeinflusst zu werden.
Simulationsstudie
Um unsere theoretischen Erkenntnisse zu unterstützen, haben wir eine Simulationsstudie durchgeführt, um die Auswirkungen des Neumischens auf die Modellleistung zu untersuchen. In diesem kontrollierten Setting haben wir eine einfache Ziel-Funktion erstellt, um das Verhalten eines Modells während der HPO zu simulieren. Indem wir den Grad der Korrelation im Rauschen und die Krümmung der Verlustoberfläche variierten, beobachteten wir, wie sich diese Faktoren auf die Ergebnisse auswirkten.
Unsere Studie zeigte, dass das Neumischen in der Regel zu einer verbesserten Leistung führt, wenn die Verlustoberfläche relativ flach ist und das Rauschen nicht hoch korreliert ist. Wenn das Rauschen jedoch stärker korreliert wird, schwinden die Vorteile des Neumischens. Das deutet darauf hin, dass die Vorteile des Neumischens von den spezifischen Eigenschaften des jeweiligen Problems abhängen.
Benchmark-Experimente
Als nächstes richteten wir unsere Aufmerksamkeit auf reale Anwendungen und führten Benchmark-Experimente durch, um zu bewerten, wie das Neumischen die HPO in praktischen Szenarien beeinflusst. Wir wählten mehrere Standarddatensätze für binäre Klassifizierungsaufgaben aus und testeten verschiedene Lernalgorithmen, einschliesslich Entscheidungsbäume und linearer Modelle.
In unseren Experimenten konzentrierten wir uns darauf, die Generalisierungsleistung von Modellen zu messen, die neu gemischtes Resampling verwendeten, im Vergleich zu denen, die auf festen Aufteilungen basierten. Unsere Ergebnisse zeigten, dass Modelle, die mit neu gemischten Daten trainiert wurden, konstant besser abschnitten als die mit festen Aufteilungen, besonders in Einstellungen mit weniger Trainingsproben.
Damit haben wir gezeigt, dass das Neumischen zu verlässlicheren Schätzungen der Generalisierungsleistung in der HPO führen kann.
Ergebnisse und Diskussion
Die experimentellen Ergebnisse bestätigten unsere Hypothese, dass das Neumischen die Generalisierungsleistung von Modellen verbessert. Der neu gemischte Holdout-Ansatz lieferte Ergebnisse, die ähnlich waren wie die, die durch komplexere Methoden wie Kreuzvalidierung erzielt wurden. Diese Einfachheit bei der Erreichung verlässlicher Ergebnisse deutet darauf hin, dass das Neumischen eine praktische Alternative zu ressourcenintensiveren Resampling-Methoden sein könnte.
Zudem hob unsere Studie hervor, dass die Leistungsgewinne durch das Neumischen am deutlichsten im Fall des Holdout-Samplings waren. Dieses Ergebnis stimmt mit unseren theoretischen Vorhersagen überein und legt nahe, dass weniger intensive Sampling-Methoden erheblich von Neumischung profitieren können.
Wir haben jedoch auch einige Einschränkungen festgestellt. Beispielsweise verbesserte das Neumischen nicht konstant die Leistung über alle Datensätze und Konfigurationen hinweg. In Szenarien, in denen der Validierungsverlust sehr empfindlich war oder die Daten extrem klein waren, führte das Neumischen manchmal zu schlechteren Ergebnissen.
Ausserdem ist es wichtig, die Rechenkosten zu berücksichtigen, die mit der HPO verbunden sind. Während das Neumischen die Leistung verbessern kann, kann es auch zusätzliche Berechnungen erfordern, da mehr Modellbewertungen nötig sind. Dieser Kompromiss zwischen Leistung und Recheneffizienz muss bei der Anwendung dieser Techniken in der Praxis berücksichtigt werden.
Fazit
Das Neumischen von Resampling-Aufteilungen während der Hyperparameter-Optimierung stellt eine einfache, aber effektive Methode dar, um die Leistung von maschinellen Lernmodellen zu verbessern. Unsere theoretische Analyse und umfangreiche experimentelle Ergebnisse zeigen, dass das Neumischen die Generalisierungsleistung fördert, insbesondere beim Holdout-Sampling.
Während das Neumischen klare Vorteile zeigt, ist es wichtig, seine Einschränkungen und die spezifischen Kontexte zu verstehen, in denen es am vorteilhaftesten ist. Zukünftige Forschungen können untersuchen, wie sich das Neumischen auf verschiedene Arten von Lernalgorithmen und Datensätzen auswirkt, was potenziell zu verbesserten Strategien für die Hyperparameter-Optimierung führen könnte.
Zusammenfassend könnte die Einführung des Neumischens als Standardpraxis in der HPO den Praktikern ermöglichen, eine bessere Modellleistung zu erzielen, ohne auf kompliziertere Resampling-Methoden zurückgreifen zu müssen. Dieser unkomplizierte Ansatz könnte zu einer effizienteren Nutzung der Ressourcen beim Training von maschinellen Lernmodellen führen und letztlich das Feld weiter voranbringen.
Titel: Reshuffling Resampling Splits Can Improve Generalization of Hyperparameter Optimization
Zusammenfassung: Hyperparameter optimization is crucial for obtaining peak performance of machine learning models. The standard protocol evaluates various hyperparameter configurations using a resampling estimate of the generalization error to guide optimization and select a final hyperparameter configuration. Without much evidence, paired resampling splits, i.e., either a fixed train-validation split or a fixed cross-validation scheme, are often recommended. We show that, surprisingly, reshuffling the splits for every configuration often improves the final model's generalization performance on unseen data. Our theoretical analysis explains how reshuffling affects the asymptotic behavior of the validation loss surface and provides a bound on the expected regret in the limiting regime. This bound connects the potential benefits of reshuffling to the signal and noise characteristics of the underlying optimization problem. We confirm our theoretical results in a controlled simulation study and demonstrate the practical usefulness of reshuffling in a large-scale, realistic hyperparameter optimization experiment. While reshuffling leads to test performances that are competitive with using fixed splits, it drastically improves results for a single train-validation holdout protocol and can often make holdout become competitive with standard CV while being computationally cheaper.
Autoren: Thomas Nagler, Lennart Schneider, Bernd Bischl, Matthias Feurer
Letzte Aktualisierung: 2024-11-07 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2405.15393
Quell-PDF: https://arxiv.org/pdf/2405.15393
Lizenz: https://creativecommons.org/licenses/by/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.
Referenz Links
- https://github.com/sumny/reshuffling
- https://github.com/scikit-learn/scikit-learn/blob/8721245511de2f225ff5f9aa5f5fadce663cd4a3/sklearn/model_selection/_search.py#L1263
- https://github.com/scikit-learn/scikit-learn/blob/8721245511de2f225ff5f9aa5f5fadce663cd4a3/sklearn/model_selection/_search.py#L1644
- https://github.com/huawei-noah/HEBO/blob/b60f41aa862b4c5148e31ab4981890da6d41f2b1/HEBO/hebo/sklearn_tuner.py#L73
- https://github.com/optuna/optuna-integration/blob/15e6b0ec6d9a0d7f572ad387be8478c56257bef7/optuna_integration/sklearn/sklearn.py#L223
- https://github.com/scikit-learn/scikit-learn/blob/8721245511de2f225ff5f9aa5f5fadce663cd4a3/sklearn/model_selection/_validation.py#L186
- https://github.com/optuna/optuna-examples/blob/dd56b9692e6d1f4fa839332edbcdd93fd48c16d8/pytorch/pytorch_simple.py#L79
- https://github.com/optuna/optuna-examples/blob/dd56b9692e6d1f4fa839332edbcdd93fd48c16d8/xgboost/xgboost_simple.py#L22
- https://github.com/scikit-learn/scikit-learn/blob/8721245511de2f225ff5f9aa5f5fadce663cd4a3/sklearn/model_selection/_split.py#L2597
- https://github.com/scikit-learn/scikit-learn/blob/8721245511de2f225ff5f9aa5f5fadce663cd4a3/sklearn/model_selection/_validation.py#L631
- https://github.com/bayesian-optimization/BayesianOptimization/blob/c7e5c3926944fc6011ae7ace29f7b5ed0f9c983b/examples/sklearn_example.py#L32
- https://github.com/facebook/Ax/blob/ac44a6661f535dd3046954f8fd8701327f4a53e2/tutorials/tune_cnn_service.ipynb#L39
- https://github.com/facebook/Ax/blob/ac44a6661f535dd3046954f8fd8701327f4a53e2/ax/utils/tutorials/cnn_utils.py#L154
- https://github.com/scikit-optimize/scikit-optimize/blob/a2369ddbc332d16d8ff173b12404b03fea472492/examples/hyperparameter-optimization.py#L82C21-L82C36
- https://github.com/automl/SMAC3/blob/9aaa8e94a5b3a9657737a87b903ee96c683cc42c/examples/1_basics/2_svm_cv.py#L63
- https://github.com/dragonfly/dragonfly/blob/3eef7d30bcc2e56f2221a624bd8ec7f933f81e40/examples/tree_reg/skltree.py#L111
- https://aws.amazon.com/blogs/architecture/field-notes-build-a-CV-machine-learning-model-pipeline-at-scale-with-amazon-sagemaker/
- https://github.com/ray-project/ray/blob/3f5aa5c4642eeb12447d9de5dce22085512312f3/doc/source/tune/examples/tune-pytorch-cifar.ipynb#L120
- https://github.com/ray-project/ray/blob/3f5aa5c4642eeb12447d9de5dce22085512312f3/doc/source/tune/examples/tune-xgboost.ipynb#L335
- https://github.com/hyperopt/hyperopt-sklearn/blob/4bc286479677a0bfd2178dac4546ea268b3f3b77/hpsklearn/estimator/_cost_fn.py#L144
- https://openml.org
- https://openml.org/d/23517
- https://openml.org/d/1169
- https://openml.org/d/41147
- https://openml.org/d/4135
- https://openml.org/d/1461
- https://openml.org/d/1590
- https://openml.org/d/41150
- https://openml.org/d/41162
- https://openml.org/d/42733
- https://openml.org/d/42742
- https://nips.cc/public/guides/CodeSubmissionPolicy
- https://neurips.cc/public/EthicsGuidelines