TL; DR
Consiglio di usare LIPO. È decisamente corretto e decisamente migliore della pura ricerca casuale (PRS). È anche estremamente semplice da implementare e non ha iperparametri. Non ho condotto un'analisi che paragona LIPO a BO, ma la mia aspettativa è che la semplicità e l'efficienza di LIPO implichino che supererà BO.
(Vedi anche: quali sono alcuni degli svantaggi dell'ottimizzazione dei parametri iper bayesiani? )
Ottimizzazione bayesiana
I metodi del tipo di ottimizzazione bayesiana costruiscono modelli surrogati del processo gaussiano per esplorare lo spazio dei parametri. L'idea principale è che le tuple di parametri che sono più vicine avranno valori di funzione simili, quindi l'assunzione di una struttura di co-varianza tra i punti consente all'algoritmo di fare ipotesi ponderate su quale sia la migliore tupla di parametro che valga la pena di provare. Questa strategia aiuta a ridurre il numero di valutazioni delle funzioni; in effetti, la motivazione dei metodi BO è quella di mantenere il numero di valutazioni delle funzioni il più basso possibile mentre "si utilizza l'intero bufalo" per fare buone ipotesi su quale punto testare successivamente. Esistono diverse figure di merito (miglioramento atteso, miglioramento quantico atteso, probabilità di miglioramento ...) che vengono utilizzati per confrontare i punti da visitare successivamente.
Confrontalo con qualcosa come una ricerca in griglia, che non utilizzerà mai alcuna informazione delle precedenti valutazioni delle funzioni per informare su dove andare dopo.
Per inciso, questa è anche una potente tecnica di ottimizzazione globale , e come tale non fa ipotesi sulla convessità della superficie. Inoltre, se la funzione è stocastica (ad esempio, le valutazioni hanno un certo rumore casuale intrinseco), questo può essere spiegato direttamente nel modello GP.
D'altra parte, dovrai adattare almeno un GP ad ogni iterazione (o diversi, scegliere il "migliore", o fare la media su alternative o metodi completamente bayesiani). Quindi, il modello viene utilizzato per fare (probabilmente migliaia) di previsioni, di solito sotto forma di ottimizzazione locale multistart, con l'osservazione che è molto più economico valutare la funzione di previsione GP rispetto alla funzione in fase di ottimizzazione. Ma anche con questo sovraccarico computazionale, tende ad essere il caso che anche le funzioni non convesse possano essere ottimizzate con un numero relativamente piccolo di chiamate di funzione.
Un articolo ampiamente citato sull'argomento è Jones et al , "Efficienza globale efficiente delle costose funzioni della scatola nera". Ma ci sono molte varianti su questa idea.
Ricerca casuale
Anche quando la funzione di costo è costosa da valutare, la ricerca casuale può essere comunque utile. La ricerca casuale è semplice da implementare. L'unica scelta che un ricercatore deve fare è impostare la probabilità che si desidera che i risultati si trovino in qualche quantile ; il resto procede automaticamente utilizzando i risultati della probabilità di base.pq q
Supponiamo che il tuo quantile sia e desideri una probabilità che i risultati del modello siano tra i primi percento di tutte le tuple dell'iperparametro. La probabilità che tutte le tuple tentate non si trovino in quella finestra è (perché sono state scelte indipendentemente dalla stessa distribuzione in modo casuale), quindi la probabilità che almeno una tupla si trovi in quella regione è . Mettendo tutto insieme, abbiamoq= 0,95p = 0,95100 × ( 1 - q) = 5nq n = 0,95 n 1 - 0,95 nqn= 0,95n1 - 0,95n
1 - qn≥ p⟹n ≥ log( 1 - p )log( q)
che nel nostro caso specifico produce .n ≥ 59
Questo risultato è il motivo per cui molte persone raccomandano tuple tentate per la ricerca casuale. Vale la pena notare che è paragonabile al numero di esperimenti richiesti per ottenere buoni risultati con i metodi basati sul processo gaussiano quando esiste un numero moderato di parametri. A differenza dei processi gaussiani, il numero di tuple di query non cambia con il numero di iperparametri su cui cercare; in effetti, per un gran numero di iperparametri, un metodo gaussiano basato sul processo può richiedere molte iterazioni per fare progressi.n = 60n = 60
Dato che hai una caratterizzazione probabilistica di quanto siano buoni i risultati, questo risultato può essere uno strumento persuasivo per convincere il tuo capo che eseguire ulteriori esperimenti produrrà rendimenti marginali decrescenti.
LIPO e le sue varianti
Questo è un arrivo emozionante che, se non è nuovo , è sicuramente nuovo per me. Procede alternando il posizionamento dei limiti informati sulla funzione, il campionamento dal limite migliore e l'utilizzo di approssimazioni quadratiche. Sto ancora lavorando su tutti i dettagli, ma penso che questo sia molto promettente. Questo è un bel post-blog , e l'articolo è Cédric Malherbe e Nicolas Vayatis " Ottimizzazione globale delle funzioni di Lipschitz ".