Symmetric rank-one

From Wikipedia, the free encyclopedia
  (Redirected from SR1 formula)
Jump to: navigation, search

The Symmetric Rank 1 (SR1) method is a quasi-Newton method to update the second derivative (Hessian) based on the derivatives (gradients) calculated at two points. It is a generalization to the secant method for a multidimensional problem. This update maintains the symmetry of the matrix but does not guarantee that the update be positive definite.

The sequence of Hessian approximations generated by the SR1 method converges to the true Hessian under mild conditions, in theory; in practice, the approximate Hessians generated by the SR1 method show faster progress towards the true Hessian than do popular alternatives (BFGS or DFP), in preliminary numerical experiments.[1] The SR1 method has computational advantages for sparse or partially separable problems.

A twice continuously differentiable function x \mapsto f(x) has a gradient (\nabla f) and Hessian matrix B: The function f has an expansion as a Taylor series at x_0, which can be truncated

f(x_0+\Delta x)=f(x_0)+\nabla f(x_0)^T \Delta x+\frac{1}{2} \Delta x^T {B} \Delta x ;

its gradient has a Taylor-series approximation also

\nabla f(x_0+\Delta x)=\nabla f(x_0)+B \Delta x,

which is used to update B. The above secant-equation need not have a unique solution B. The SR1 formula computes (via an update of rank 1) the symmetric solution that is closest to the current approximate-value B_k:

B_{k+1}=B_{k}+\frac {(y_k-B_k \Delta x_k) (y_k-B_k \Delta x_k)^T}{(y_k-B_k \Delta x_k)^T \Delta x_k},

where

y_k=\nabla f(x_k+\Delta x_k)-\nabla f(x_k).

The corresponding update to the approximate inverse-Hessian H_k=B_k^{-1} is

H_{k+1}=H_{k}+\frac {(\Delta x_k-H_k y_k)(\Delta x_k-H_k y_k)^T}{(\Delta x_k-H_k y_k)^T y_k}.

The SR1 formula has been rediscovered a number of times. A drawback is that the denominator can vanish. Some authors have suggested that the update be applied only if

|\Delta x_k^T (y_k-B_k \Delta x_k)|\geq r \|\Delta x_k\|\cdot \|y_k-B_k \Delta x_k\| ,

where r\in(0,1) is a small number, e.g. 10^{-8}.[2]

See also[edit]

Notes[edit]

  1. ^ Conn, Gould & Toint (1991)
  2. ^ Nocedal & Wright (1999)

References[edit]

  • Byrd, Richard H. (1996) Analysis of a Symmetric Rank-One Trust Region Method. SIAM Journal on Optimization 6(4)
  • Conn, A. R.; Gould, N. I. M.; Toint, Ph. L. (March 1991). "Convergence of quasi-Newton matrices generated by the symmetric rank one update". Mathematical Programming (Springer Berlin/ Heidelberg) 50 (1): 177–195. doi:10.1007/BF01594934. ISSN 0025-5610. PDF file at Nick Gould's website. 
  • Khalfan, H. Fayez (1993) A Theoretical and Experimental Study of the Symmetric Rank-One Update. SIAM Journal on Optimization 3(1)
  • Nocedal, Jorge & Wright, Stephen J. (1999). Numerical Optimization. Springer-Verlag. ISBN 0-387-98793-2.