Ottimizzazione dei parametri iper: ricerca casuale vs ottimizzazione bayesiana


14

Quindi, sappiamo che la ricerca casuale funziona meglio della ricerca in griglia, ma un approccio più recente è l'ottimizzazione bayesiana (utilizzando processi gaussiani). Ho cercato un confronto tra i due e non ho trovato nulla. So che al cs231n di Stanford menzionano solo la ricerca casuale, ma è possibile che volessero mantenere le cose semplici.

La mia domanda è: quale approccio è generalmente migliore e se la risposta è "ricerca a volte casuale, a volte bayesiana", quando dovrei preferire un metodo a un altro?


2
Google sta vendendo i propri servizi cloud di deep learning ora e sta promuovendo una funzione che sintonizza automaticamente i tuoi iperparametri con l'ottimizzazione bayesiana ... ovviamente affermando che fa il meglio ed è anche più veloce (ricerca dell'iperspazio in modo più efficiente). Esistono diversi articoli che valutano BO vs RS e mostrano anche che BO sta facendo leggermente meglio. IMO da quello che ho visto, il diff è qualcosa che ti interesserà di più in una competizione Kaggle che nella vita reale.
JPJ

Risposte:


9

Penso che la risposta qui sia la stessa di ovunque nella scienza dei dati: dipende dai dati :-)

Potrebbe accadere che un metodo superi un altro (qui https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/ persone confronta l'ottimizzazione dell'iperparametro bayesiano e ottiene un risultato migliore sulla sfida del crimine di San Francisco rispetto a con ricerca casuale), tuttavia dubito che ci sia una regola generale per questo. Puoi vedere una bella gif qui ( http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html ) dove le persone mostrano il 'percorso' che l'ottimizzazione bayesiana prende nel paesaggio degli iperparametri, in particolare, non sembra sovraperformare la ricerca casuale in generale ...

Penso che il motivo per cui le persone tendono ad usare l'ottimizzazione dell'iperparametro bayesiano sia che bastano meno passaggi di allenamento per ottenere un risultato comparabile rispetto alla ricerca casuale con un numero sufficientemente elevato di esperimenti.

Riassumendo in una frase:

* Quando il tempo di allenamento è fondamentale, utilizzare l'ottimizzazione dell'iperparametro bayesiano e se il tempo non è un problema, selezionare uno di entrambi ... *

Di solito sono troppo pigro per implementare la roba bayesiana con i processi gaussiani se riesco a ottenere lo stesso risultato con la ricerca casuale ... Alleno insiemi Bossient Gradient su "pochi" dati, quindi per me il tempo non è un problema ...


5

L'ottimizzazione bayesiana è migliore, perché prende decisioni più intelligenti. Puoi consultare questo articolo per saperne di più: Ottimizzazione dell'iperparametro per le reti neurali . Questo articolo contiene anche informazioni su pro e contro per entrambi i metodi + alcune tecniche extra come la ricerca della griglia e gli stimatori parzen strutturati ad albero. Anche se è stato scritto per mostrare pro e contro di diversi metodi per reti neurali, la conoscenza principale è generalizzabile per qualsiasi altro dominio di machine learning


1
Volevo solo sottolineare che nella tua prima frase, il vero motivo per cui l'ottimizzazione bayesiana è migliore non è che le decisioni prese sono più intelligenti , si tratta delle decisioni prese affatto .
Alexander Rossa,

1

Da notare, l'ottimizzazione dell'iperparametro bayesiano è un processo sequenziale, quindi potrebbe richiedere più tempo di altri approcci in grado di cercare o essere condotti in parallelo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.