σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Ruta de Optimization›Módulo 3 · Convexidad y curvatura›Tema 3.2·~55 minIntermedio

Métodos de Newton y cuasi-Newton

Posición en la rutaMódulo 3 de 5 · Tema 2 de 2
3.2 Métodos de Newton y cuasi-Newton
—Puntuación del lab— / 100XP total—Racha—

Usar la curvatura

El descenso de gradiente solo conoce la pendiente. El método de Newton usa también la curvatura: sustituye fff cerca del punto actual por la cuadrática con el mismo valor, gradiente y hessiano, y salta directamente al mínimo de esa cuadrática. El paso es w←w−H−1g\mathbf w\leftarrow\mathbf w-H^{-1}\mathbf gw←w−H−1g. En una función exactamente cuadrática cae en el mínimo en un solo paso, sea cual sea el número de condición. Cerca del mínimo de cualquier función suave, la convergencia es cuadrática: el error se eleva aproximadamente al cuadrado en cada paso, así que el número de cifras correctas se duplica más o menos.

wk+1=wk−H(wk)−1∇f(wk),∥wk+1−w∗∥ ≲ C ∥wk−w∗∥2\mathbf w_{k+1}=\mathbf w_k-H(\mathbf w_k)^{-1}\nabla f(\mathbf w_k),\qquad \lVert\mathbf w_{k+1}-\mathbf w^{*}\rVert\ \lesssim\ C\,\lVert\mathbf w_k-\mathbf w^{*}\rVert^{2}wk+1​=wk​−H(wk​)−1∇f(wk​),∥wk+1​−w∗∥ ≲ C∥wk​−w∗∥2(1)
Newton sobre e^x − 2xMinimicemos f(x)=ex−2xf(x)=e^x-2xf(x)=ex−2x, cuyo mínimo está en x∗=ln⁡2=0.693147x^{*}=\ln2=0.693147x∗=ln2=0.693147. Aquí f′=ex−2f'=e^x-2f′=ex−2 y f′′=exf''=e^xf′′=ex. Desde x0=0x_0=0x0​=0: x1=0−(−1)/1=1x_1=0-(-1)/1=1x1​=0−(−1)/1=1, luego x2=1−0.7183/2.7183=0.7358x_2=1-0.7183/2.7183=0.7358x2​=1−0.7183/2.7183=0.7358, x3=0.6940x_3=0.6940x3​=0.6940 y x4=0.693148x_4=0.693148x4​=0.693148. Los errores 0.307, 0.0426, 0.0009, 4⋅10−70.307,\ 0.0426,\ 0.0009,\ 4\cdot10^{-7}0.307, 0.0426, 0.0009, 4⋅10−7 bajan más rápido que cualquier factor fijo. En dos variables, para f=(x−1)2+2(y+2)2f=(x-1)^2+2(y+2)^2f=(x−1)2+2(y+2)2 en (3,0)(3,0)(3,0) se tiene g=(4,8)\mathbf g=(4,8)g=(4,8) y H=diag(2,4)H=\mathrm{diag}(2,4)H=diag(2,4), así que el paso es −H−1g=(−2,−2)-H^{-1}\mathbf g=(-2,-2)−H−1g=(−2,−2) y un solo paso llega al mínimo (1,−2)(1,-2)(1,−2).

El método de Newton tiene un precio. Con nnn parámetros el hessiano tiene n2n^2n2 entradas y resolver con él cuesta unas n3n^3n3 operaciones, bien para cientos de parámetros e imposible para millones. Lejos del mínimo, o donde HHH no es definida positiva, el paso de Newton puede incluso subir, por lo que las versiones prácticas lo amortiguan con una búsqueda lineal. Los métodos cuasi-Newton conservan casi toda la velocidad sin el coste. BFGS construye una aproximación del inverso del hessiano a partir de los cambios observados s=wk+1−wk\mathbf s=\mathbf w_{k+1}-\mathbf w_ks=wk+1​−wk​ y y=gk+1−gk\mathbf y=\mathbf g_{k+1}-\mathbf g_ky=gk+1​−gk​, imponiendo la condición secante Bs=yB\mathbf s=\mathbf yBs=y. Solo necesita gradientes, cuesta O(n2)O(n^2)O(n2) por paso y converge superlinealmente. L-BFGS guarda solo los últimos mmm pares, típicamente de 5 a 20, así que la memoria es O(mn)O(mn)O(mn). Es el caballo de batalla habitual en calibraciones suaves y ajustes de máxima verosimilitud, como los optimizadores por defecto de SciPy.

  • Newton: w←w−H−1g\mathbf w\leftarrow\mathbf w-H^{-1}\mathbf gw←w−H−1g; un paso en una cuadrática, convergencia cuadrática cerca del mínimo.
  • BFGS: aprende una aproximación del inverso del hessiano a partir de diferencias de gradiente, sin segundas derivadas.
  • L-BFGS: guarda solo los últimos pares, así que escala a muchos parámetros.
Newton necesita una salvaguardaEl Newton puro puede pasarse o divergir desde un mal punto de partida. Las bibliotecas añaden una búsqueda lineal o una región de confianza y vuelven a un paso de gradiente cuando el hessiano no es definido positivo. No escriba a mano un bucle de Newton desnudo para una calibración sin estas protecciones.

Lab: qué se califica

  • El primer paso de Newton15 pts
  • El segundo paso de Newton15 pts
  • Un paso de Newton en dos variables15 pts
  • Pasos en una cuadrática15 pts
  • La condición secante15 pts
  • Métodos e ideas10 pts
  • Por qué se evita Newton exacto en problemas enormes15 pts
0/ 7 respondidos
Ejercicios
1Respuesta numérica15 ptsSin responder

Minimice f(x)=ex−2xf(x)=e^x-2xf(x)=ex−2x con el método de Newton desde x0=0x_0=0x0​=0. Con f′=ex−2f'=e^x-2f′=ex−2 y f′′=exf''=e^xf′′=ex, ¿cuánto vale x1x_1x1​?

x1=x1 =x1=aceptado: ± 0.01
2Respuesta numérica15 ptsSin responder

Continúe desde x1=1x_1=1x1​=1. Con e1=2.71828e^1=2.71828e1=2.71828, ¿cuánto vale x2x_2x2​? Dé cuatro decimales.

x2=x2 =x2=aceptado: ± 0.001
3Respuesta numérica15 ptsSin responder

Para f=(x−1)2+2(y+2)2f=(x-1)^2+2(y+2)^2f=(x−1)2+2(y+2)2 en (3,0)(3,0)(3,0) el gradiente es (4,8)(4,8)(4,8) y H=diag(2,4)H=\mathrm{diag}(2,4)H=diag(2,4). Tras un paso de Newton, ¿cuánto vale la coordenada yyy?

y=y =y=aceptado: ± 0.01
4Elección15 ptsSin responder

¿Cuántos pasos de Newton hacen falta para minimizar exactamente una función cuadrática estrictamente convexa?

5Elección15 ptsSin responder

Con s=wk+1−wk\mathbf s=\mathbf w_{k+1}-\mathbf w_ks=wk+1​−wk​ e y=gk+1−gk\mathbf y=\mathbf g_{k+1}-\mathbf g_ky=gk+1​−gk​, ¿qué relación impone la aproximación de hessiano BBB de BFGS?

6Emparejar10 ptsSin responder

Empareje cada método con su idea clave.

Elige la pareja de cada elemento de la izquierda.

Descenso de gradiente
Newton
BFGS
L-BFGS
7Explicar con palabras15 ptsSin responder

En una o dos frases, explique por qué no se usa el método de Newton exacto en problemas con millones de parámetros.

Modo matemáticasEntrada por teclado o LaTeXEjercicio 1 de 7 · Ctrl ⏎ para comprobar

Inicia sesión para ejecutar tu código.

Todas las clases se pueden leer gratis. Crea una cuenta o inicia sesión para ejecutar código, lanzar las pruebas y enviar este lab.

  • IDE en el navegador con terminal bash — sin instalar nada
  • Corrección instantánea, XP y tu lugar en la ruta
Crear una cuentaIniciar sesión
O
Continuar con GitHub