Perché i derivati ​​di secondo ordine sono utili nell'ottimizzazione convessa?


18

Immagino che questa sia una domanda di base e abbia a che fare con la direzione del gradiente stesso, ma sto cercando esempi in cui i metodi del 2 ° ordine (ad es. BFGS ) sono più efficaci della semplice discesa del gradiente.


3
È troppo semplicistico osservare semplicemente che "trova il vertice di un paraboloide" è un'approssimazione molto migliore al problema "trova un minimo" di "trova il minimo di questa funzione lineare" (che, ovviamente, non ha alcun minimo perché è lineare)?

Risposte:


20

Ecco un framework comune per interpretare sia la discesa del gradiente che il metodo di Newton, che è forse un modo utile di pensare alla differenza come supplemento alla risposta di @Sycorax. (BFGS si avvicina al metodo di Newton; non ne parlerò in particolare qui.)

Stiamo riducendo al minimo la funzione f , ma non sappiamo come farlo direttamente. Quindi, invece, prendiamo un'approssimazione locale nel nostro punto corrente x e la minimizziamo.

f(y)Nx(y):=f(x)+f(x)T(yx)+12(yx)T2f(x)(yx),
f(x)fx2f(x)xargminyNx(y) e si ripete.

txtf(x)

xtf(x)=argmaxy[f(x)+f(x)T(yx)+12tyx2]=argmaxy[f(x)+f(x)T(yx)+12(yx)T1tI(yx)].
Gx(y):=f(x)+f(x)T(yx)+12(yx)T1tI(yx).

1tIGfN

f(x)=12xTAx+dTx+c

N=f

Gx(y)=f(x)+(Ax+d)Ty+12(xy)T1tI(xy)
xUN

1
Questo è simile alla risposta di @ Aksakal , ma in modo più approfondito.
Dougal,

1
(+1) Questa è una grande aggiunta!
Sycorax dice di ripristinare Monica

17

In sostanza, il vantaggio di un metodo di derivata seconda come il metodo di Newton è che ha la qualità della terminazione quadratica. Ciò significa che può minimizzare una funzione quadratica in un numero finito di passaggi. Un metodo come la discesa gradiente dipende in larga misura dalla velocità di apprendimento, che può far sì che l'ottimizzazione converga lentamente perché rimbalza intorno all'ottimale o diverge completamente. Si possono trovare tassi di apprendimento stabili ... ma comportano il calcolo dell'assia. Anche quando si utilizza un tasso di apprendimento stabile, è possibile che si verifichino problemi come l'oscillazione attorno all'ottimale, ovvero che non si prenda sempre un percorso "diretto" o "efficiente" verso il minimo. Quindi possono essere necessarie molte iterazioni per terminare, anche seci sei relativamente vicino. Il metodo di BFGS e Newton può convergere più rapidamente anche se lo sforzo computazionale di ogni passaggio è più costoso.

F(X)=12XTUNX+dTX+c
F(X)=UNX+d
XK+1=XK-α(UNXK+d)=(io-αUN)XK-αd.

Questo sarà stabile se le magnitudini degli autovettori di io-αUN sono inferiori a 1. Possiamo usare questa proprietà per dimostrare che un tasso di apprendimento stabile soddisfa

α<2λmun'X,
dove λmun'X is the largest eigenvalue of A. The steepest descent algorithm's convergence rate is limited by the largest eigenvalue and the routine will converge most quickly in the direction of its corresponding eigenvector. Likewise, it will converge most slowly in directions of the eigenvector of the smallest eigenvalue. When there is a large disparity between large and small eigenvalues for A, gradient descent will be slow. Any A with this property will converge slowly using gradient descent.

In the specific context of neural networks, the book Neural Network Design has quite a bit of information on numerical optimization methods. The above discussion is a condensation of section 9-7.


Great answer! I'm accepting @Dougal 's answer as I think it provides a simpler explanation.
Bar

6

In convex optimization you are approximating the function as the second degree polynomial in one dimensional case:

f(x)=c+βx+αx2

In this case the the second derivative

2f(x)/x2=2α

If you know the derivatives, then it's easy to get the next guess for the optimum:

guess=β2α

The multivariate case is very similar, just use gradients for derivatives.


2

@Dougal already gave a great technical answer.

The no-maths explanation is that while the linear (order 1) approximation provides a “plane” that is tangential to a point on an error surface, the quadratic approximation (order 2) provides a surface that hugs the curvature of the error surface.

The videos on this link do a great job of visualizing this concept. They display order 0, order 1 and order 2 approximations to the function surface, which just intuitively verifies what the other answers present mathematically.

Also, a good blogpost on the topic (applied to neural networks) is here.

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.