Migliorare le prestazioni del modello con un campionamento rimescolato
Il riordino delle suddivisioni dei dati migliora l'ottimizzazione degli iperparametri nel machine learning.
― 6 leggere min
Indice
Nel mondo del machine learning, l'Ottimizzazione degli iperparametri (HPO) gioca un ruolo fondamentale nel decidere quanto bene si comportano i modelli. Gli iperparametri sono impostazioni che influenzano il processo di addestramento dei modelli di machine learning. Trovare la giusta combinazione di queste impostazioni può migliorare notevolmente l'accuratezza delle previsioni fatte dai modelli.
Di solito, i ricercatori valutano diverse combinazioni di iperparametri usando metodi di campionamento. Questo processo stima quanto bene il modello si comporterà su dati nuovi e non visti. Tuttavia, una prassi comune è utilizzare suddivisioni fisse dei set di dati di addestramento e validazione, il che può limitare il processo di ottimizzazione. Questo articolo esplora l'idea di rimescolare queste suddivisioni, dimostrando che farlo può portare a una migliore generalizzazione delle prestazioni del modello.
Ottimizzazione degli Iperparametri
L'HPO punta ad identificare e scegliere iperparametri che aiutano a minimizzare gli errori fatti dal modello su nuovi dati. Questo compito può essere complicato perché non c'è una descrizione matematica diretta della funzione obiettivo, rendendolo un problema complesso. Inoltre, valutare diverse configurazioni di iperparametri è spesso costoso in termini di tempo e risorse.
Tradizionalmente, i ricercatori creano suddivisioni fisse dei set di dati, dove una parte dei dati è usata per addestrare il modello e un'altra parte per la validazione. Questo consente un confronto equo delle diverse configurazioni di iperparametri. Dato che le stesse suddivisioni sono usate per tutte le configurazioni, dovrebbe minimizzare la varianza nei confronti, portando teoricamente a una migliore scelta degli iperparametri.
Tuttavia, usare suddivisioni fisse può causare un bias nel processo di ottimizzazione. Dopo aver valutato molte configurazioni, il modello potrebbe iniziare a privilegiare alcuni iperparametri che si comportano bene sulle specifiche suddivisioni scelte. Questo porta a un fenomeno noto come "overtuning", dove il modello diventa troppo sintonizzato sul set di validazione senza effettivamente migliorare le sue prestazioni su dati non visti.
In questo studio, ci chiediamo se rimescolare le suddivisioni per ogni configurazione di iperparametri potrebbe portare a risultati migliori. Rimescolando i dati, ci proponiamo di vedere se le Prestazioni di generalizzazione del modello migliorano.
Importanza del Campionamento
Il campionamento è una tecnica usata per stimare le prestazioni di un modello su dati non visti creando più sottoinsiemi dei dati originali. Metodi comuni includono il campionamento holdout e la cross-validazione. Nel campionamento holdout, il set di dati è diviso in due parti: una per l'addestramento e una per la validazione. Nella cross-validazione, i dati sono divisi in diversi fold, e il modello è addestrato e validato più volte su diverse combinazioni di questi fold.
Usare campionamenti rimescolati significa che vengono create nuove suddivisioni casuali per ogni valutazione di iperparametri, invece di fare affidamento sulle stesse suddivisioni. Questo approccio può ridurre il bias e fornire una migliore rappresentazione di come il modello si generalizzerà su nuovi dati.
Framework Teorico
Analizziamo come il rimescolamento influenzi il comportamento della Perdita di validazione, che è l'errore fatto dal modello quando valutato sul set di validazione. Una migliore comprensione di come il rimescolamento impatti il processo di ottimizzazione può aiutare a chiarire perché potrebbe portare a un miglioramento delle prestazioni del modello.
Quando rimescoliamo i dati, osserviamo che la correlazione tra le perdite di validazione attraverso diverse configurazioni di iperparametri diminuisce. Questa minore correlazione suggerisce che le prestazioni del modello possono variare in modo più casuale, permettendo una visione più chiara di quali configurazioni si comportano realmente bene.
La superficie di perdita di validazione, che rappresenta l'errore del modello per diverse impostazioni di iperparametri, diventa meno influenzata dal bias quando viene applicato il rimescolamento. Questo cambiamento significa che i modelli possono esplorare una gamma più ampia di configurazioni senza essere eccessivamente influenzati da alcuna specifica suddivisione dei dati.
Studio di Simulazione
Per supportare le nostre intuizioni teoriche, abbiamo condotto uno studio di simulazione per esaminare gli effetti del rimescolamento sulle prestazioni del modello. In questo contesto controllato, abbiamo creato una semplice funzione obiettivo per simulare il comportamento di un modello durante l'HPO. Variando il grado di correlazione nel rumore e la curvatura della superficie di perdita, abbiamo osservato come questi fattori influenzassero i risultati.
Il nostro studio ha mostrato che il rimescolamento di solito porta a prestazioni migliori quando la superficie di perdita è relativamente piatta e il rumore non è altamente correlato. Tuttavia, man mano che il rumore diventa più correlato, i vantaggi del rimescolamento diminuiscono. Questo suggerisce che i benefici del rimescolamento dipendono dalle caratteristiche specifiche del problema in questione.
Esperimenti di Benchmark
Successivamente, abbiamo rivolto la nostra attenzione alle applicazioni nel mondo reale, eseguendo esperimenti di benchmark per valutare come il rimescolamento influisce sull'HPO in scenari pratici. Abbiamo selezionato diversi set di dati standard per compiti di classificazione binaria e testato vari algoritmi di apprendimento, inclusi alberi decisionali e modelli lineari.
Nei nostri esperimenti, ci siamo concentrati sul misurare le prestazioni di generalizzazione di modelli che utilizzavano il campionamento rimescolato rispetto a quelli che si basavano su suddivisioni fisse. I nostri risultati hanno indicato che i modelli addestrati con dati rimescolati superavano costantemente quelli utilizzanti suddivisioni fisse, specialmente in contesti con meno campioni di addestramento.
In questo modo, abbiamo dimostrato che il rimescolamento può portare a stime più affidabili delle prestazioni di generalizzazione nell'HPO.
Risultati e Discussione
I risultati sperimentali hanno confermato la nostra ipotesi che il rimescolamento migliora le prestazioni di generalizzazione dei modelli. L'approccio holdout rimescolato ha dato risultati simili a quelli ottenuti attraverso metodi più complessi, come la cross-validazione. Questa semplicità nel raggiungere risultati affidabili suggerisce che il rimescolamento potrebbe essere un'alternativa pratica a metodi di campionamento più intensivi in termini di calcolo.
Inoltre, il nostro studio ha evidenziato che i benefici delle prestazioni del rimescolamento erano più pronunciati nel caso del campionamento holdout. Questa scoperta è in linea con le nostre previsioni teoriche, suggerendo che metodi di campionamento meno intensivi possono trarre significativamente vantaggio dal rimescolamento.
Tuttavia, abbiamo anche notato alcune limitazioni. Ad esempio, il rimescolamento non ha migliorato costantemente le prestazioni su tutti i set di dati e configurazioni. In scenari in cui la perdita di validazione era altamente sensibile o i dati erano estremamente limitati, il rimescolamento a volte portava a risultati peggiori.
Inoltre, è essenziale considerare i costi computazionali associati all'HPO. Sebbene il rimescolamento possa migliorare le prestazioni, può anche richiedere calcoli aggiuntivi a causa della necessità di più valutazioni del modello. Questo compromesso tra prestazioni ed efficienza computazionale deve essere preso in considerazione quando si applicano queste tecniche nella pratica.
Conclusione
Rimescolare le suddivisioni di campionamento durante l’ottimizzazione degli iperparametri presenta un metodo semplice ma efficace per migliorare le prestazioni dei modelli di machine learning. La nostra analisi teorica e i risultati sperimentali estesi mostrano che il rimescolamento beneficia le prestazioni di generalizzazione, in particolare quando si utilizza il campionamento holdout.
Anche se il rimescolamento dimostra chiari vantaggi, è importante comprendere le sue limitazioni e i contesti specifici in cui è più vantaggioso. Ricerche future possono esplorare come il rimescolamento interagisce con diversi tipi di algoritmi di apprendimento e set di dati, potenzialmente portando a strategie migliorate per l'ottimizzazione degli iperparametri.
In conclusione, adottare il rimescolamento come pratica standard nell'HPO potrebbe consentire ai praticanti di ottenere migliori prestazioni del modello senza la necessità di metodi di campionamento più complessi. Questo approccio diretto potrebbe portare a un uso più efficiente delle risorse nel training dei modelli di machine learning, avanzando ulteriormente il campo.
Titolo: Reshuffling Resampling Splits Can Improve Generalization of Hyperparameter Optimization
Estratto: 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.
Autori: Thomas Nagler, Lennart Schneider, Bernd Bischl, Matthias Feurer
Ultimo aggiornamento: 2024-11-07 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2405.15393
Fonte PDF: https://arxiv.org/pdf/2405.15393
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.
Link di riferimento
- 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