41

Capisco cosa fa Gradient Descent. Fondamentalmente, tenta di spostarsi verso la soluzione ottimale locale spostandosi lentamente lungo la curva. Sto cercando di capire qual è la differenza effettiva tra la discesa del gradiente di piano e il metodo di Newton?Qual è la differenza tra la discesa del gradiente e la discesa del gradiente di Newton?

Da Wikipedia, ho letto questa breve frase "Il metodo di Newton utilizza le informazioni di curvatura per prendere una via più diretta." Cosa significa intuitivamente?

+2

La curvatura si riferisce a come il metodo di Newton utilizza la derivata del secondo ordine della fuction. La discesa del gradiente è in genere il primo ordine. – akk

+1

Guarda questa lezione dall'inizio alla fine: https://www.youtube.com/watch?v=sTCtkkqrY8A&index=15&list=PL3940DD956CDF0622 –

risposta

49

Al minimo locale (o massimo) x, la derivata della funzione target f scompare: f'(x) = 0 (presupponendo una congruenza sufficiente di)).

La discesa di pendenza tenta di trovare tale minimo x utilizzando le informazioni dalla prima derivata di f: Semplicemente segue la discesa più ripida dal punto corrente. Questo è come far rotolare una palla lungo il grafico di f finché non si ferma (trascurando l'inerzia).

il metodo di Newton cerca di trovare un punto di x soddisfare f'(x) = 0 approssimando f' con una funzione lineare g e poi risolvere per la radice di quella funzione esplicitamente (questo è chiamato metodo di radice-finding di Newton). La radice di g non è necessariamente la radice di f', ma è in molte circostanze una buona ipotesi (il Wikipedia article on Newton's method for root finding ha più informazioni sui criteri di convergenza). Mentre si avvicina a f', il metodo di Newton utilizza f'' (la curvatura di f). Ciò significa che ha requisiti più elevati sulla scorrevolezza di f, ma significa anche che (utilizzando più informazioni) converge spesso più velocemente.

+0

Ho sempre visto menzioni di scelta del 'più ripido discesa'. Cosa significa? È il numero più negativo di 'f '(x)'? –

+0

@Chowza: se il tuo dominio è multidimensionale, ad es. se 'f' esegue il mapping di punti 2D su numeri reali, quindi il gradiente di' f' in qualsiasi punto non è un numero scalare ma un vettore. La ragione è che la "pendenza" di "f" in quel punto dipende dalla direzione in cui stai guardando. È come stare in cima a una montagna: se guardi a nord, la montagna potrebbe cadere molto bruscamente, ma verso l'altro i lati potrebbero essere meno ripidi. Scegliere la discesa più ripida significa quindi scegliere quella direzione che causa il maggior cambiamento nella funzione target. –

8

In parole semplici, discesa gradiente basta fare un piccolo passo verso dove si pensa che lo zero sia e poi ricalcolare; Il metodo di Newton, vai fino in fondo.

+0

È "tutto il modo" vero per una funzione non quadratica? – bers

+1

Sì, per le funzioni non quadratiche si sta solo approssimando la prima derivata con una linea. Questo è un po 'mano ondulata, ma penso che va bene per l'intuizione. – dashnick

+0

Ok, sono d'accordo. Fino a "dove * pensi che * sia lo zero" è indubbiamente corretto. – bers