σμ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 AcademyRoadmapsRoteiros
Ctrl K
AO
+1,2 mil alunos
EntrarParticipar ↗
RoadmapsRoteiros
AO
+1,2 mil alunos
Entrar
  • 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 AcademyRoadmapsRoteiros
Ctrl K
AO
+1,2 mil alunos
EntrarParticipar ↗
RoadmapsRoteiros
AO
+1,2 mil alunos
Entrar
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Roteiro de Optimization›Módulo 3 · Convexidade e curvatura›Tópico 3.2·~55 minIntermediário

Métodos de Newton e quase-Newton

Posição no roteiroMódulo 3 de 5 · Tópico 2 de 2
3.2 Métodos de Newton e quase-Newton
—Nota do lab— / 100XP total—Sequência—

Usar a curvatura

A descida do gradiente só conhece a inclinação. O método de Newton também usa a curvatura: troca fff perto do ponto atual pela quadrática com o mesmo valor, gradiente e hessiana, e salta direto para o mínimo dessa quadrática. O passo é w←w−H−1g\mathbf w\leftarrow\mathbf w-H^{-1}\mathbf gw←w−H−1g. Numa função exatamente quadrática isso cai no mínimo em um único passo, seja qual for o número de condição. Perto do mínimo de qualquer função suave, a convergência é quadrática: o erro é aproximadamente elevado ao quadrado a cada passo, então o número de dígitos corretos mais ou menos dobra.

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 em e^x − 2xMinimize f(x)=ex−2xf(x)=e^x-2xf(x)=ex−2x, cujo mínimo está em x∗=ln⁡2=0.693147x^{*}=\ln2=0.693147x∗=ln2=0.693147. Aqui f′=ex−2f'=e^x-2f′=ex−2 e f′′=exf''=e^xf′′=ex. A partir de x0=0x_0=0x0​=0: x1=0−(−1)/1=1x_1=0-(-1)/1=1x1​=0−(−1)/1=1, depois 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 e x4=0.693148x_4=0.693148x4​=0.693148. Os erros 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 caem mais rápido que qualquer fator fixo. Em duas variáveis, para f=(x−1)2+2(y+2)2f=(x-1)^2+2(y+2)^2f=(x−1)2+2(y+2)2 em (3,0)(3,0)(3,0) temos g=(4,8)\mathbf g=(4,8)g=(4,8) e H=diag(2,4)H=\mathrm{diag}(2,4)H=diag(2,4), então o passo é −H−1g=(−2,−2)-H^{-1}\mathbf g=(-2,-2)−H−1g=(−2,−2) e um único passo chega ao mínimo (1,−2)(1,-2)(1,−2).

O método de Newton tem um preço. Com nnn parâmetros a hessiana tem n2n^2n2 entradas e resolver com ela custa cerca de n3n^3n3 operações, bom para centenas de parâmetros e impossível para milhões. Longe do mínimo, ou onde HHH não é definida positiva, o passo de Newton pode até subir, então as versões práticas o amortecem com busca linear. Os métodos quase-Newton mantêm quase toda a velocidade sem o custo. O BFGS monta uma aproximação da inversa da hessiana a partir das variações observadas 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​, impondo a condição secante Bs=yB\mathbf s=\mathbf yBs=y. Precisa só de gradientes, custa O(n2)O(n^2)O(n2) por passo e converge superlinearmente. O L-BFGS guarda apenas os últimos mmm pares, tipicamente de 5 a 20, então a memória é O(mn)O(mn)O(mn). É o cavalo de batalha usual em calibrações suaves e ajustes de máxima verossimilhança, como os otimizadores padrão do SciPy.

  • Newton: w←w−H−1g\mathbf w\leftarrow\mathbf w-H^{-1}\mathbf gw←w−H−1g; um passo numa quadrática, convergência quadrática perto do mínimo.
  • BFGS: aprende uma aproximação da inversa da hessiana a partir de diferenças de gradiente, sem segundas derivadas.
  • L-BFGS: guarda só os últimos pares, então escala para muitos parâmetros.
Newton precisa de uma salvaguardaO Newton puro pode ultrapassar ou divergir de um mau ponto de partida. As bibliotecas acrescentam busca linear ou região de confiança e voltam a um passo de gradiente quando a hessiana não é definida positiva. Não escreva à mão um laço de Newton nu para uma calibração sem essas proteções.

Lab: o que é avaliado

  • O primeiro passo de Newton15 pts
  • O segundo passo de Newton15 pts
  • Um passo de Newton em duas variáveis15 pts
  • Passos em uma quadrática15 pts
  • A condição secante15 pts
  • Métodos e ideias10 pts
  • Por que se evita o Newton exato em problemas enormes15 pts
0/ 7 respondidas
Tarefas
1Resposta numérica15 ptsSem resposta

Minimize f(x)=ex−2xf(x)=e^x-2xf(x)=ex−2x pelo método de Newton a partir de x0=0x_0=0x0​=0. Com f′=ex−2f'=e^x-2f′=ex−2 e f′′=exf''=e^xf′′=ex, quanto vale x1x_1x1​?

x1=x1 =x1=aceito: ± 0.01
2Resposta numérica15 ptsSem resposta

Continue a partir de x1=1x_1=1x1​=1. Com e1=2.71828e^1=2.71828e1=2.71828, quanto vale x2x_2x2​? Dê com quatro casas decimais.

x2=x2 =x2=aceito: ± 0.001
3Resposta numérica15 ptsSem resposta

Para f=(x−1)2+2(y+2)2f=(x-1)^2+2(y+2)^2f=(x−1)2+2(y+2)2 em (3,0)(3,0)(3,0) o gradiente é (4,8)(4,8)(4,8) e H=diag(2,4)H=\mathrm{diag}(2,4)H=diag(2,4). Após um passo de Newton, qual é a coordenada yyy?

y=y =y=aceito: ± 0.01
4Escolha15 ptsSem resposta

Quantos passos de Newton são necessários para minimizar exatamente uma função quadrática estritamente convexa?

5Escolha15 ptsSem resposta

Com 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​, qual relação a aproximação de hessiana BBB do BFGS impõe?

6Associar10 ptsSem resposta

Associe cada método à sua ideia-chave.

Escolha o par de cada item da esquerda.

Descida do gradiente
Newton
BFGS
L-BFGS
7Explicar com palavras15 ptsSem resposta

Em uma ou duas frases, explique por que o método de Newton exato não é usado em problemas com milhões de parâmetros.

Modo matemáticaEntrada por teclado ou LaTeXTarefa 1 de 7 · Ctrl ⏎ para verificar

Entre para executar o seu código.

Todas as aulas são gratuitas para ler. Crie uma conta ou entre para executar código, rodar os testes e enviar este lab.

  • IDE no navegador com terminal bash — nada para instalar
  • Correção instantânea, XP e o seu lugar no roteiro
Criar uma contaEntrar
OU
Continuar com o GitHub