BFGS method
From Wikipedia, the free encyclopedia
Prerequisites | |
---|---|
Gradient descent | |
Newton's method in optimization |
In mathematics, the Broyden-Fletcher-Goldfarb-Shanno (BFGS) method is a method to solve an unconstrained nonlinear optimization problem.
The BFGS method is derived from gradient descent. As such, it is a member of a broad class of hill-climbing optimization techniques.
The principal idea of the method is to construct an approximate Hessian matrix of second derivatives of the function to be minimized, by analyzing successive gradient vectors. This approximation of the function's derivatives allows the application of a quasi-Newton fitting method in order to move towards the minimum in the parameter space.
The Hessian matrix does not need to be computed at any stage. However, the method assumes that the function can be locally approximated as a quadratic in the region around the optimum.
Contents |
[edit] Rationale
The search direction at stage k is given by the solution of the analogue of the Newton equation
- .
A line search in the direction is then used to find the next point .
Instead of requiring the full Hessian matrix at the point to be computed as Bk + 1, the approximate Hessian at stage k is updated by the addition of two matrices.
- Bk + 1 = Bk + Uk + Vk
Both Uk and Vk are rank-one matrices but have different bases. The rank one assumption here means that we may write
So equivalently, Uk and Vk construct a rank-two update matrix which is robust against the scale problem often sufferred in the gradient descent searching.
(as in Broyden's method, the multidimensional analogue of the secant method). The quasi-Newton condition imposed on this update is
- .
[edit] Algorithm
From an initial guess and an approximate Hessian matrix B0 the following steps are repeated until x converges to the solution.
- Obtain by solving: .
- Perform a line search to find the optimal αk in the direction found in the first step, then update .
- .
- .
denotes the objective function to be minimized. Convergence can be checked by observing the norm of the gradient, . Practically, B0 can be initialized with B0 = I, so that the first step will be equivalent to a gradient descent, but further steps are more and more refined by Bk, the approximation to the Hessian.
The first step of the algorithm is carried out using an approximate inverse of the matrix Bk, which is usually obtained efficiently by applying the Sherman–Morrison formula to the fourth line of the algorithm, giving
Credible intervals or confidence intervals for the solution can be obtained from the inverse of the final Hessian matrix.
[edit] Bibliography
- Broyden, C. G. Journal of the Institute of Mathematics and Its Applications 1970, 6, 76-90
- Fletcher, R. Computer Journal 1970, 13, 317
- Goldfarb, D. Mathematics of Computation 1970, 24, 23
- Shanno, D. F. Mathematics of Computation 1970, 24, 647
- Avriel, Mordecai 2003. Nonlinear Programming: Analysis and Methods. Dover Publishing. ISBN 0-486-43227-0.