Inicio · Parte 12 — Optimización matemática y computacional
sₖ = xₖ₊₁ − xₖ; yₖ = ∇f(xₖ₊₁) − ∇f(xₖ)
condición secante: Bₖ₊₁·yₖ = sₖ
coste O(n²) frente al O(n³) de Newton
Los métodos cuasi-Newton buscan la velocidad de Newton sin su coste. La idea es que la diferencia entre dos gradientes consecutivos ya contiene información sobre la curvatura en la dirección recorrida, y acumulando esa información a lo largo de las iteraciones se puede construir una aproximación del Hessiano inverso.
La condición secante B·y = s es la formalización: la aproximación debe reproducir la relación observada entre el desplazamiento y el cambio de gradiente. Es la generalización multidimensional exacta del método de la secante de la clase 224, donde la derivada se aproximaba con dos evaluaciones.
BFGS es la fórmula de actualización que mejor funciona en la práctica, y tiene la propiedad valiosa de preservar la definición positiva de la aproximación, con lo que la dirección resultante siempre es de descenso. El coste baja a O(n²) y no hace falta calcular ninguna segunda derivada.
Para dimensiones grandes existe L-BFGS, que no almacena la matriz sino los últimos m pares (s, y) —típicamente 10 o 20— y reconstruye el producto con el gradiente sobre la marcha. Su coste es O(mn) y es el algoritmo de referencia para optimización suave a gran escala fuera del aprendizaje profundo. En redes neuronales rinde menos porque el gradiente estocástico rompe las hipótesis de suavidad que necesita.
BFGS reconstruye el Hessiano inverso sin calcularlo.
f(x,y) = x² + 20y² BFGS con línea de retroceso
iter f |∇f|
1 14,765625 30,2335
5 1,3e-03 0,2189
10 2,1e-09 9,1e-05
x final = (−0,0 ; −0,0) ✓
Aproximación construida: Hessiano inverso real:
[[0,501698 0,000276] [[0,5 0 ]
[0,000276 0,025045]] [0 0,025]]
Coincide a tres decimales sin haber evaluado
ni una sola segunda derivada.
BFGS: aproxima el Hessiano inverso solo con gradientes.
python classes/part-12-optimizacion-matematica-y-computacional/253-quasi-newton-y-bfgs/lab.py
compmath run 253
metodohistorialx_finalB_aproxima_H⁻¹H⁻¹_realno_calcula_el_hessianocoste{
"metodo": "BFGS con búsqueda de línea por retroceso",
"historial": [
{
"iter": 1,
"f": 14.765625,
"|∇f|": 30.23346655612
},
{
"iter": 5,
"f": 1.453323048e-05,
"|∇f|": 0.021538774424
},
{
"iter": 10,
"f": 0.0,
"|∇f|": 1e-12
}
],
"x_final": [
-0.0,
-0.0
],
"B_aproxima_H⁻¹": [
[
0.501698,
0.000276
],
[
0.000276,
0.025045
]
],
"H⁻¹_real": [
[
0.5,
0.0
],
[
0.0,
0.025
]
],
"no_calcula_el_hessiano": true
}
Ajuste de modelos estadísticos, optimización en ingeniería, problemas inversos y minimización de energía en química computacional.
AdamW es el optimizador por defecto del entrenamiento moderno; entender su actualización explica el weight decay, el warmup y el gradient clipping.
9780387400655 verificado en International ISBN Agency (2026-08-19).10.1007/bf01589116 verificado en Crossref (2026-08-19).