Pratica ottimizzazione dell'iperparametro: ricerca casuale vs. griglia


41

Attualmente sto esaminando la ricerca casuale di Bengio e Bergsta per l'ottimizzazione dell'iper -parametro [1], in cui gli autori affermano che la ricerca casuale è più efficiente della ricerca in griglia per ottenere prestazioni approssimativamente uguali.

La mia domanda è: le persone qui sono d'accordo con tale affermazione? Nel mio lavoro ho usato la ricerca della griglia principalmente a causa della mancanza di strumenti disponibili per eseguire facilmente la ricerca casuale.

Qual è l'esperienza delle persone che usano la griglia rispetto alla ricerca casuale?


La ricerca casuale è migliore e dovrebbe essere sempre preferita. Tuttavia, sarebbe ancora meglio usare librerie dedicate per l'ottimizzazione dell'iperparametro, come Optunity , hyperopt o bayesopt.
Marc Claesen,

Bengio et al. scrivici qui: papers.nips.cc/paper/… Quindi, GP funziona al meglio, ma anche RS funziona alla grande.
Guy L

10
@Marc Quando fornisci un link a qualcosa in cui sei coinvolto, dovresti chiarire la tua associazione con esso (una o due parole possono bastare, anche qualcosa di breve come riferirsi ad esso come our Optunitydovrebbe fare); come dice l'aiuto sul comportamento, "se qualche ... riguarda il tuo prodotto o sito Web, va bene. Tuttavia, devi rivelare la tua affiliazione"
Glen_b -Reststate Monica

Risposte:


39

La ricerca casuale ha una probabilità del 95% di trovare una combinazione di parametri entro l'ottima del 5% con solo 60 iterazioni. Inoltre, rispetto ad altri metodi, non si impantana in optima locale.

Controllare questo grande post sul blog al Dato da Alice Zheng, in particolare la sezione algoritmi di ottimizzazione iperparametro .

Adoro i film in cui vince il perdente e adoro i documenti di apprendimento automatico in cui le soluzioni semplici si dimostrano sorprendentemente efficaci. Questa è la trama di "Ricerca casuale per l'ottimizzazione dell'iperparametro" di Bergstra e Bengio. [...] La ricerca casuale non era stata presa molto sul serio prima. Questo perché non cerca su tutti i punti della griglia, quindi non può assolutamente battere l'ottimale trovato dalla ricerca della griglia. Ma poi arrivarono Bergstra e Bengio. Hanno dimostrato che, in molti casi sorprendentemente, vengono eseguite ricerche casuali e ricerche sulla griglia. Tutto sommato, provare 60 punti casuali campionati dalla griglia sembra essere abbastanza buono.

Con il senno di poi, c'è una semplice spiegazione probabilistica per il risultato: per qualsiasi distribuzione su uno spazio campione con un massimo finito, il massimo di 60 osservazioni casuali si trova all'interno del primo 5% del massimo reale, con una probabilità del 95%. Può sembrare complicato, ma non lo è. Immagina l'intervallo del 5% attorno al massimo vero. Ora immagina di campionare punti dal suo spazio e vedere se qualcuno di questi atterra entro quel massimo. Ogni sorteggio casuale ha una probabilità del 5% di atterrare in quell'intervallo, se disegniamo n punti in modo indipendente, allora la probabilità che tutti perdano l'intervallo desiderato è (1-0.05)n. Quindi la probabilità che almeno uno di loro riesca a colpire l'intervallo è 1 meno quella quantità. Vogliamo almeno una probabilità di successo di 0,95. Per capire il numero di pareggi di cui abbiamo bisogno, risolvi semplicemente per n nell'equazione:

1-(1-0.05)n>0.95

n60

La morale della storia è: se la regione di iperparametri quasi ottimale occupa almeno il 5% della superficie della griglia, la ricerca casuale con 60 prove troverà quella regione con alta probabilità.

Puoi migliorare quella possibilità con un numero maggiore di prove.

Tutto sommato, se hai troppi parametri da mettere a punto, la ricerca della griglia potrebbe diventare irrealizzabile. Questo è quando provo la ricerca casuale.


3
Il link al post del blog non è attivo :( Potrebbe trattarsi dello stesso articolo? Oreilly.com/ideas/evaluating-machine-learning-models/page/5/...
n1k31t4

@DexterMorgan Ehi, grazie per il testa a testa. Sì, a quanto pare il blog non funziona e non sono sicuro che dovrei collegarmi ad altre fonti che potrebbero non esserlo "ufficiali" , quindi lo lascerò così com'è per ora penso.
Firebug,

Il blog è ancora inattivo ... grazie per averlo citato e @ n1k31t4 grazie per aver fornito un link per ulteriori letture!
ll

8

Guarda di nuovo l'immagine dal foglio (Figura 1). Supponi di avere due parametri, con la ricerca in griglia 3x3 controlli solo tre diversi valori di parametro da ciascuno dei parametri (tre righe e tre colonne sul grafico a sinistra), mentre con la ricerca casuale controlli nove (!) Diversi valori di parametro di ciascuno dei parametri (nove righe distinte e nove colonne distinte).

Griglia vs ricerca casuale

Ovviamente, la ricerca casuale, per caso, potrebbe non essere rappresentativa di tutta la gamma dei parametri, ma all'aumentare della dimensione del campione, le possibilità di questo diventano sempre più piccole.


6

Se riesci a scrivere una funzione per la ricerca in griglia, è probabilmente ancora più semplice scrivere una funzione per fare una ricerca casuale perché non devi pre-specificare e memorizzare la griglia in primo piano.

A parte questo, metodi come LIPO, ottimizzazione dello sciame di particelle e ottimizzazione bayesiana fanno scelte intelligenti su quali iperparametri sono probabilmente migliori, quindi se è necessario mantenere il numero di modelli adattarsi al minimo assoluto (diciamo, perché è costoso adattarsi a un modello), questi strumenti sono opzioni promettenti. Sono anche ottimizzatori globali, quindi hanno un'alta probabilità di individuare il massimo globale. Alcune delle funzioni di acquisizione dei metodi BO hanno limiti di rimpianto dimostrabili, che li rendono ancora più attraenti.

Ulteriori informazioni sono disponibili in queste domande:

Quali sono alcuni degli svantaggi dell'ottimizzazione dei parametri iper bayesiani?

Ottimizzazione quando la funzione di costo è lenta da valutare


2

Per impostazione predefinita, la ricerca casuale e la ricerca in griglia sono algoritmi terribili a meno che una delle seguenti affermazioni sia valida.

  • Il tuo problema non ha una struttura globale, ad esempio se il problema è multimodale e il numero di optima locali è enorme
  • Il problema è rumoroso, ovvero valutare due volte la stessa soluzione porta a valori di funzione obiettivo diversi
  • Il budget delle chiamate di funzioni obiettive è molto ridotto rispetto al numero di variabili, ad esempio, inferiore a 1x o 10x.
  • Il numero di variabili è molto piccolo, ad esempio inferiore a 5 (in pratica).
  • alcune altre condizioni.

Molte persone affermano che la ricerca casuale è migliore della ricerca in griglia. Tuttavia, si noti che quando il numero totale di valutazioni delle funzioni è predefinito, la ricerca nella griglia porterà a una buona copertura dello spazio di ricerca che non è peggiore della ricerca casuale con lo stesso budget e la differenza tra i due è trascurabile. Se inizi ad aggiungere alcuni presupposti, ad esempio, che il tuo problema è separabile o quasi separabile, troverai argomenti per supportare la ricerca in griglia. Nel complesso, entrambi sono relativamente terribili se non in pochissimi casi. Pertanto, non è necessario distinguerli a meno che non vengano prese in considerazione alcune ipotesi aggiuntive sul problema.


puoi proporre qualcosa di meglio? Come possiamo sapere cosa è meglio se non ci proviamo? Mi sembra che la ricerca casuale su molti modelli sia la migliore soluzione di compromesso.
JPErwin,

0

Trovare un punto entro il 95% dei massimi in una topografia 2D con un solo massimo richiede 100% / 25 = 25%, 6,25%, 1,5625% o 16 osservazioni. Finché le prime quattro osservazioni determinano correttamente in quale quadrante si trovano i massimi (estremi). La topografia 1D impiega 100/2 = 50, 25, 12,5, 6,25, 3,125 o 5 * 2. Immagino che le persone alla ricerca di più massimi locali lontani utilizzino la ricerca della griglia iniziale grande quindi la regressione o qualche altro metodo di predizione. Una griglia di 60 osservazioni dovrebbe avere un'osservazione entro 100/60 = 1,66% dell'estremità. Global Optimization Wikipedia Penso ancora che esista sempre un metodo migliore della casualità.


La ricottura simulata è una forma di ricerca casuale che esiste da diversi anni.
Michael R. Chernick,

-1

Come ha mostrato Tim, puoi testare più valori di parametro con la ricerca casuale che con la ricerca della griglia. Ciò è particolarmente efficace se alcuni dei parametri testati finiscono per non avere un impatto sul problema, come il 'parametro non importante' nella Figura 1 dell'articolo.

inserisci qui la descrizione dell'immagine

Ho pubblicato un post sull'ottimizzazione degli iperparametri in cui spiego le differenze tra ricerca della griglia, ricerca casuale e ottimizzazione bayesiana. Puoi verificarlo (e fammi sapere se è stato utile, il feedback è apprezzato!)

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.