Sto eseguendo una ricerca di linea come parte di un algoritmo BFGS quasi-Newton. In un passaggio della ricerca della linea utilizzo un'interpolazione cubica per avvicinarmi al minimizer locale.
Sia la funzione di interesse. Voglio trovare un tale che .x ∗ f ′ ( x ∗ ) ≈ 0
Sia noto , f ′ ( x k ) , f ( x k + 1 ) e f ′ ( x k + 1 ) . Supponi anche 0 ≤ x k < x ∗ < x k + 1 . Io inserisco un polinomio cubico Q ( x ) = a x 3 + b x 2 + c x + din modo che , Q ′ ( 0 ) = f ′ ( x k ) , Q ( x k + 1 - x k ) = f ( x k + 1 ) e Q ′ ( x k + 1 - x k ) = f ′ ( x.
Risolvo l'equazione quadratica: per la mia cercata x ∗ usando la soluzione a forma chiusa.
Quanto sopra funziona bene nella maggior parte dei casi, tranne quando quanto la soluzione in forma chiusa per ( 1 ) si divide per un che diventa molto vicino o esattamente 0 .
La mia soluzione è quella di guardare e se è "troppo piccolo" semplicemente prendere la soluzione in forma chiusa per la Minimizer del polinomio quadratico Q 2 ( x ) = b x 2 + c x + d per il quale ho già i coefficienti b , c , d dal precedente adattamento a Q ( x ) .
La mia domanda è: come posso escogitare un buon test per quando eseguire l'interpolazione quadratica sul cubo? L'approccio ingenuo di prova per è male a causa di motivi numerici in modo da sto guardando | a | < ϵ τ dove ϵ è la precisione della macchina, ma non sono in grado di decidere un buon τ che sia invariante in scala di f .
Domanda bonus: ci sono problemi numerici con l'uso dei coefficienti, , dall'adattamento cubico fallito o dovrei eseguire un nuovo adattamento quadratico con il modo appropriato di calcolare i coefficienti?
Modifica per chiarimento: Nella mia domanda è in realtà ciò che viene comunemente chiamato ϕ ( α ) = f ( ˉ x k + α ¯ p k ) in letteratura. Ho appena semplificato la formulazione della domanda. Il problema di ottimizzazione che sto risolvendo non è lineare in 6 dimensioni. E sono ben consapevole che le condizioni di Wolfe sono sufficienti per la ricerca della linea BFGS, quindi affermando che ero interessato a f ′ ( x ∗ ) ≈ 0; Sto cercando qualcosa che soddisfi le forti condizioni di Wolfe e prendere il minimizzatore dell'approssimazione cubica è un buon passo lungo la strada.
La domanda non riguardava BFGS, ma piuttosto come determinare quando il coefficiente cubico è abbastanza piccolo da rendere più appropriata un'approssimazione quadratica.
Modifica 2: Aggiorna notazione, le equazioni sono invariate.