Articulo de referencia

Rango uno simétrico

El método de rango simétrico 1 ( SR1 ) es un método cuasi-Newton para actualizar la segunda derivada (hessiana) a partir de las derivadas (gradientes) calculadas en dos puntos. ...

El método de rango simétrico 1 ( SR1 ) es un método cuasi-Newton para actualizar la segunda derivada (hessiana) a partir de las derivadas (gradientes) calculadas en dos puntos. Es una generalización del método de la secante para un problema multidimensional. Esta actualización mantiene la simetría de la matriz, pero no garantiza que sea definida positiva .

La secuencia de aproximaciones de la matriz hessiana generada por el método SR1 converge a la matriz hessiana verdadera bajo condiciones leves, en teoría; en la práctica, las matrices hessianas aproximadas generadas por el método SR1 muestran un progreso más rápido hacia la matriz hessiana verdadera que las alternativas populares ( BFGS o DFP ), en experimentos numéricos preliminares. [ 1 ] [ 2 ] El método SR1 tiene ventajas computacionales para problemas dispersos o parcialmente separables . [ 3 ]

Una función dos veces continuamente diferenciableincógnitaF(incógnita){\displaystyle x\mapsto f(x)}tiene un gradiente (F{\displaystyle \nabla f}) y matriz hessianaB{\displaystyle B}: La funciónF{\displaystyle f}tiene una expansión como serie Taylor enincógnita0{\displaystyle x_{0}}, que puede ser truncado

F(incógnita0+Δincógnita)F(incógnita0)+F(incógnita0)TΔincógnita+12ΔincógnitaTBΔincógnita{\displaystyle f(x_{0}+\Delta x)\approx f(x_{0})+\nabla f(x_{0})^{T}\Delta x+{\frac {1}{2}}\Delta x^{T}{B}\Delta x};

Su gradiente también tiene una aproximación de serie de Taylor.

F(incógnita0+Δincógnita)F(incógnita0)+BΔincógnita{\displaystyle \nabla f(x_{0}+\Delta x)\approx \nabla f(x_{0})+B\Delta x},

que se utiliza para actualizarB{\displaystyle B}La ecuación de la secante anterior no tiene por qué tener una solución única. B{\displaystyle B}La fórmula SR1 calcula (mediante una actualización de rango 1) la solución simétrica que está más cerca del valor aproximado actual. Bk{\displaystyle B_{k}}:

Bk+1=Bk+(ykBkΔincógnitak)(ykBkΔincógnitak)T(ykBkΔincógnitak)TΔincógnitak{\displaystyle 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}}}},

dónde

yk=F(incógnitak+Δincógnitak)F(incógnitak){\displaystyle y_{k}=\nabla f(x_{k}+\Delta x_{k})-\nabla f(x_{k})}.

La actualización correspondiente a la inversa aproximada de la matriz hessianaHk=Bk1{\displaystyle H_{k}=B_{k}^{-1}}es

Hk+1=Hk+(ΔincógnitakHkyk)(ΔincógnitakHkyk)T(ΔincógnitakHkyk)Tyk{\displaystyle 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}}}}.

Uno podría preguntarse por qué no se conserva la positividad definida; después de todo, una actualización de rango 1 de la formaBk+1=Bk+vvT{\displaystyle B_{k+1}=B_{k}+vv^{T}}es definida positiva siBk{\displaystyle B_{k}}es. La explicación es que la actualización podría ser de la formaBk+1=BkvvT{\displaystyle B_{k+1}=B_{k}-vv^{T}}en cambio, porque el denominador puede ser negativo, y en ese caso no hay garantías de que sea positivo definido.

La fórmula SR1 se ha redescubierto varias veces. Dado que el denominador puede desaparecer, algunos autores han sugerido que la actualización se aplique solo si

|ΔincógnitakT(ykBkΔincógnitak)|rΔincógnitakykBkΔincógnitak{\displaystyle |\Delta x_{k}^{T}(y_{k}-B_{k}\Delta x_{k})|\geq r\|\Delta x_{k}\|\cdot \|y_{k}-B_{k}\Delta x_{k}\|},

dónder(0,1){\displaystyle r\in (0,1)}es un número pequeño, por ejemplo108{\displaystyle 10^{-8}}. [ 4 ]

Memoria limitada

La actualización SR1 mantiene una matriz densa, lo que puede ser prohibitivo para problemas grandes. Similar al método L-BFGS también existe un algoritmo SR1 de memoria limitada (L-SR1). [ 5 ] En lugar de almacenar la aproximación completa del Hessiano, un método L-SR1 solo almacena lametro{\displaystyle m}pares más recientes{(si,yi)}i=kmetrok1{\displaystyle \{(s_{i},y_{i})\}_{i=km}^{k-1}}, dóndeΔincógnitai:=si{\displaystyle \Delta x_{i}:=s_{i}}ymetro{\displaystyle m}es un número entero mucho menor que el tamaño del problema (metronorte{\displaystyle m\ll n}La matriz de memoria limitada se basa en una representación matricial compacta .

Bk=B0+Jknortek1JkT,Jk=YkB0Sk,nortek=Dk+Lk+LkTSkTB0Sk{\displaystyle B_{k}=B_{0}+J_{k}N_{k}^{-1}J_{k}^{T},\quad J_{k}=Y_{k}-B_{0}S_{k},\quad N_{k}=D_{k}+L_{k}+L_{k}^{T}-S_{k}^{T}B_{0}S_{k}}

Sk=[skmetroskmetro+1sk1],{\displaystyle S_{k}={\begin{bmatrix}s_{km}&s_{k-m+1}&\ldots &s_{k-1}\end{bmatrix}},}Yk=[ykmetroykmetro+1yk1],{\displaystyle Y_{k}={\begin{bmatrix}y_{km}&y_{k-m+1}&\ldots &y_{k-1}\end{bmatrix}},}

(Lk)ij=si1Tyj1,(Dk)ii=si1Tyi1,kmetroik1{\displaystyle {\big (}L_{k}{\big )}_{ij}=s_{i-1}^{T}y_{j-1},\quad (D_{k})_{ii}=s_{i-1}^{T}y_{i-1},\quad km\leq i\leq k-1}

Dado que la actualización puede ser indefinida, el algoritmo L-SR1 es adecuado para una estrategia de región de confianza . Debido a la matriz de memoria limitada, el algoritmo L-SR1 de región de confianza escala linealmente con el tamaño del problema, al igual que L-BFGS.

Véase también

Referencias

  1. Conn, AR; Gould, NIM; Toint, Ph. L. (marzo de 1991). "Convergencia de matrices cuasi-Newton generadas por la actualización simétrica de rango uno". Mathematical Programming . 50 (1). Springer Berlin/Heidelberg: 177–195 . doi : 10.1007/BF01594934 . ISSN 0025-5610 . S2CID 28028770 .  
  2. Khalfan, H. Fayez; et al. (1993). "Un estudio teórico y experimental de la actualización simétrica de rango uno". SIAM Journal on Optimization . 3 (1): 1– 24. doi : 10.1137/0803001 . 
  3. Byrd, Richard H.; et al. (1996). "Análisis de un método de región de confianza de rango uno simétrico". SIAM Journal on Optimization . 6 (4): 1025– 1039. doi : 10.1137/S1052623493252985 . 
  4. Nocedal, Jorge; Wright, Stephen J. (1999). Optimización numérica . Springer. ISBN 0-387-98793-2.
  5. Brust, J.; et al. (2017). "Sobre la resolución de subproblemas de región de confianza L-SR1". Optimización computacional y aplicaciones . 66 : 245–266 . arXiv : 1506.07222 . doi : 10.1007/s10589-016-9868-3 .