Quando utilizzare la discesa gradiente rispetto a Monte Carlo come tecnica di ottimizzazione numerica


11

Quando un insieme di equazioni non può essere risolto analiticamente, allora possiamo usare un algoritmo di discesa gradiente. Ma sembra che ci sia anche il metodo di simulazione Monte Carlo che può essere usato per risolvere problemi che non hanno soluzioni analitiche.

Come capire quando usare la discesa gradiente e quando usare Monte Carlo? O sto semplicemente confondendo il termine "simulazione" con "ottimizzazione"?

Grazie mille!

Risposte:


4

Queste tecniche fanno cose diverse.

La discesa del gradiente è una tecnica di ottimizzazione, quindi è comune in qualsiasi metodo statistico che richiede la massimizzazione (MLE, MAP).

La simulazione Monte Carlo è per il calcolo degli integrali campionando da una distribuzione e valutando alcune funzioni sui campioni. Pertanto è comunemente usato con tecniche che richiedono il calcolo delle aspettative (inferenza bayesiana, test di ipotesi bayesiana).


Quindi la discesa del gradiente è collegata alla differenziazione (massimi, minimi) e il monte carlo è associato all'integrazione?
Victor,

Il gradiente è una (una delle tante) generalizzazioni della derivata. Quindi la discesa del gradiente è legata alla differenziazione. Ma direi che "La pendenza del gradiente usa i derivati ​​per motivi di ottimizzazione" e "Monte Carlo usa il campionamento per motivi di integrazione", se dovessi usare il minor numero di parole possibile.
jlimahaverford,

4

Queste sono entrambe grandi famiglie di algoritmi, quindi è difficile darti una risposta precisa, ma ...

L'ascesa a gradiente (o la discesa) è utile quando si desidera trovare un massimo (o minimo). Ad esempio, potresti trovare la modalità di una distribuzione di probabilità o una combinazione di parametri che minimizzano alcune funzioni di perdita. Il "percorso" necessario per trovare questi extrema può dirti un po 'della forma generale della funzione, ma non è previsto; infatti, meglio funziona, meno saprai di tutto tranne che degli estremi.

I metodi Monte Carlo prendono il nome dal casinò Monte Carlo perché, come il casinò, dipendono dalla randomizzazione. Può essere utilizzato in molti modi diversi, ma la maggior parte di questi si concentra su distribuzioni approssimative. Gli algoritmi Markov Chain Monte Carlo, ad esempio, trovano il modo di campionare in modo efficiente da complicate distribuzioni di probabilità. Altre simulazioni Monte Carlo potrebbero generare distribuzioni su possibili risultati.


I "metodi Monte Carlo" si riferiscono in genere a ciò che si fa con i campioni anziché ai metodi per ottenere i campioni. In MCMC la "Catena di Markov" si riferisce al processo di acquisizione dei campioni.
jlimahaverford,

Veramente? Ho sempre pensato che Monte Carlo implica che c'è una sorta di randomizzazione in corso e non significa molto di più. In MCMC, è vero che sono coinvolte le catene Markov, ma stai anche campionando casualmente dalle catene (da qui Monte-Carlo) /
Matt Krause,

Forse questa è una questione di opinione. Se avessi usato MCMC per approssimare la media di una distribuzione posteriore, avrei usato passeggiate casuali su una catena di Markov per campionare approssimativamente dalla mia distribuzione non normalizzata, avrei usato Monte Carlo Integration per approssimare la media. Considero i metodi di campionamento come strumenti che abilitano i metodi Monte Carlo. Ad esempio, non definirei il campionamento del rifiuto un metodo Monte Carlo, ma posso immaginare qualcuno che li usi insieme.
Jlimahaverford,

Detto questo, Wikipedia considera il rifiuto di campionare un metodo Monte Carlo. Quindi è del tutto possibile che le mie idee qui siano completamente sbagliate.
Jlimahaverford,

2

Come spiegato da altri, la discesa / salita del gradiente esegue l'ottimizzazione, ovvero trova il massimo o il minimo di una funzione. Monte Carlo è un metodo di simulazione stocastica, ovvero approssima una funzione di distribuzione cumulativa mediante ripetuti campionamenti casuali. Questo è anche chiamato "integrazione Monte Carlo" perché il cdf di una distribuzione continua è in realtà un integrale.

La cosa comune tra la discesa a gradiente e Monte Carlo è che sono entrambi particolarmente utili nei problemi in cui non esiste una soluzione a forma chiusa. È possibile utilizzare una semplice differenziazione per trovare il punto massimo o minimo di qualsiasi funzione convessa ogni volta che è possibile una soluzione analitica. Quando tale soluzione non esiste, è necessario utilizzare un metodo iterativo come la discesa del gradiente. È lo stesso per la simulazione Monte Carlo; puoi fondamentalmente usare la semplice integrazione per calcolare analiticamente qualsiasi cdf ma non c'è garanzia che una soluzione così chiusa sia sempre possibile. Il problema diventa nuovamente risolvibile con la simulazione Monte Carlo.

Puoi usare la discesa gradiente per la simulazione e Monte Carlo per l'ottimizzazione? La semplice risposta è no. Monte Carlo ha bisogno di un elemento stocastico (una distribuzione) da cui campionare e la discesa gradiente non ha alcun mezzo per gestire i problemi di informazioni stocastiche. Tuttavia, è possibile combinare la simulazione con l'ottimizzazione per produrre algoritmi di ottimizzazione stocastica più potenti in grado di risolvere problemi molto complessi che la semplice discesa del gradiente non è in grado di risolvere. Un esempio di ciò sarebbe la Ricottura simulata di Monte Carlo.


2

Questa risposta è parzialmente sbagliata. Puoi infatti combinare i metodi Monte Carlo con la discesa gradiente. È possibile utilizzare i metodi Monte Carlo per stimare il gradiente di una funzione di perdita, che viene quindi utilizzata dalla discesa gradiente per aggiornare i parametri. Un popolare metodo Monte Carlo per stimare il gradiente è lo stimatore del gradiente del punteggio , che può ad esempio essere utilizzato nell'apprendimento per rinforzo. Vedi la stima del gradiente di Monte Carlo in Machine Learning (2019) di Shakir Mohamed et al. per maggiori informazioni.

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.