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] [2] The SR1 method has computational advantages for sparse or partially separable problems.[3]
A twice continuously differentiable function
x\mapstof(x)
\nablaf
B
f
x0
f(x0+\Deltax) ≈ f(x0)+\nabla
T | |
f(x | |
0) |
\Deltax+
1 | |
2 |
\DeltaxT{B}\Deltax
\nablaf(x0+\Deltax) ≈ \nablaf(x0)+B\Deltax
B
B
Bk
Bk+1=Bk+
| |||||||||||||
|
yk=\nablaf(xk+\Deltaxk)-\nablaf(xk)
Hk=B
-1 | |
k |
Hk+1=Hk+
| |||||||||
|
One might wonder why positive-definiteness is not preserved — after all, a rank-1 update of the form
Bk+1=Bk+vvT
Bk
Bk+1=Bk-vvT
The SR1 formula has been rediscovered a number of times. Since the denominator can vanish, some authors have suggested that the update be applied only if
|\Delta
T | |
x | |
k |
(yk-Bk\Deltaxk)|\geqr\|\Deltaxk\| ⋅ \|yk-Bk\Deltaxk\|
r\in(0,1)
10-8
The SR1 update maintains a dense matrix, which can be prohibitive for large problems. Similar to the L-BFGS method also a limited-memory SR1 (L-SR1) algorithm exists.[5] Insteadof storing the full Hessian approximation, a L-SR1 method only stores the
m
\{(si,yi)
k-1 | |
\} | |
i=k-m |
\Deltaxi:=si
m
m\lln
Since the update can be indefinite, the L-SR1 algorithm is suitable for a trust-region strategy. Because of the limited-memory matrix, the trust-region L-SR1 algorithm scales linearly with the problem size, just like L-BFGS.