En optimización numérica , el método del gradiente conjugado no lineal generaliza el método del gradiente conjugado a la optimización no lineal . Para una función cuadrática
el mínimo dese obtiene cuando el gradiente es 0:
- .
Mientras que el método del gradiente conjugado lineal busca una solución a la ecuación lineal. El método del gradiente conjugado no lineal se utiliza generalmente para encontrar el mínimo local de una función no lineal utilizando su gradiente.funciona por sí solo. Funciona cuando la función es aproximadamente cuadrática cerca del mínimo, lo cual ocurre cuando la función es dos veces diferenciable en el mínimo y la segunda derivada no es singular allí.
Dada una funcióndevariables a minimizar, su gradienteindica la dirección de máximo aumento. Simplemente se empieza en la dirección opuesta ( descenso más pronunciado ):
con longitud de paso ajustabley realiza una búsqueda lineal en esta dirección hasta que alcanza el mínimo de:
- ,
Después de esta primera iteración en la dirección más pronunciadaLos siguientes pasos constituyen una iteración de movimiento a lo largo de una dirección conjugada subsiguiente., dónde:
- Calcula la dirección de mayor pendiente:,
- CalcularSegún una de las fórmulas que aparecen a continuación,
- Actualizar la dirección conjugada:
- Realizar una búsqueda lineal: optimizar,
- Actualizar el puesto:,
Con una función cuadrática pura, el mínimo se alcanza en N iteraciones (excepto por errores de redondeo), pero una función no cuadrática avanza más lentamente. Las direcciones de búsqueda subsiguientes pierden conjugación, lo que requiere que la dirección de búsqueda se restablezca a la dirección de descenso más pronunciado al menos cada N iteraciones, o antes si el progreso se detiene. Sin embargo, restablecer la dirección en cada iteración convierte el método en un descenso más pronunciado . El algoritmo se detiene cuando encuentra el mínimo, determinado cuando no se produce ningún progreso después de restablecer la dirección (es decir, en la dirección de descenso más pronunciado), o cuando se alcanza algún criterio de tolerancia.
Dentro de una aproximación lineal, los parámetrosyson los mismos que en el método del gradiente conjugado lineal, pero se han obtenido mediante búsquedas lineales. El método del gradiente conjugado puede seguir valles estrechos ( mal condicionados ), mientras que el método del descenso más pronunciado se ralentiza y sigue un patrón entrecruzado.
Cuatro de las fórmulas más conocidas parareciben su nombre de sus desarrolladores:
- Fletcher–Reeves: [ 1 ]
- Polak–Ribière: [ 2 ]
- Hestenes–Stiefel: [ 3 ]
- Dai-Yuan: [ 4 ]
- .
Estas fórmulas son equivalentes para una función cuadrática, pero para la optimización no lineal la fórmula preferida es una cuestión de heurística o preferencia. Una opción popular es, que proporciona un restablecimiento de dirección automático. [ 5 ]
Los algoritmos basados en el método de Newton convergen potencialmente mucho más rápido. En ellos, tanto la dirección como la longitud del paso se calculan a partir del gradiente como solución de un sistema lineal de ecuaciones, siendo la matriz de coeficientes la matriz hessiana exacta (para el método de Newton propiamente dicho) o una estimación de la misma (en los métodos cuasi-Newton , donde el cambio observado en el gradiente durante las iteraciones se utiliza para actualizar la estimación de la hessiana). Para problemas de alta dimensión, el cálculo exacto de la hessiana suele ser prohibitivamente costoso, e incluso su almacenamiento puede ser problemático, requiriendomemoria (pero véase el método cuasi-Newton L-BFGS de memoria limitada ).
El método del gradiente conjugado también se puede derivar utilizando la teoría de control óptimo . [ 6 ] En esta teoría de optimización acelerada, el método del gradiente conjugado surge como un controlador de retroalimentación óptimo no lineal ,
para el sistema de doble integrador ,
Las cantidades y son ganancias de retroalimentación variables. [ 6 ]
Véase también
Referencias
- ↑ Fletcher, R.; Reeves, CM (1964). "Minimización de funciones mediante gradientes conjugados" . The Computer Journal . 7 (2): 149– 154. doi : 10.1093/comjnl/7.2.149 .
- ^ Polak, E.; Ribière, G. (1969). "Nota sobre la convergencia de métodos de direcciones conjugadas". Revue Française d'Automatique, Informatique, Recherche Opérationnelle . 3 (1): 35-43 .
- ↑ Hestenes, MR; Stiefel, E. (1952). "Métodos de gradientes conjugados para resolver sistemas lineales" . Journal of Research of the National Bureau of Standards . 49 (6): 409– 436. doi : 10.6028/jres.049.044 .
- ↑ Dai, Y.-H.; Yuan, Y. (1999). "Un método de gradiente conjugado no lineal con una fuerte propiedad de convergencia global". SIAM Journal on Optimization . 10 (1): 177– 182. doi : 10.1137/S1052623497318992 .
- ↑ Shewchuk, JR (agosto de 1994). "Una introducción al método del gradiente conjugado sin el dolor agonizante" (PDF) .
- 1 2 Ross, IM (2019). "Una teoría de control óptimo para la optimización acelerada". arXiv : 1902.09004 [ math.OC ].
- Algoritmos y métodos de optimización
- Métodos de gradiente