Descer a ladeira
A descida do gradiente repete um único movimento: dar um passo contra o gradiente, wk+1=wk−η∇f(wk). O número η>0 é o tamanho do passo, muitas vezes chamado taxa de aprendizado. Um η pequeno é seguro mas lento. Um η grande passa do vale e as iterações podem se afastar mais a cada vez.
f(w)=21aw2 ⇒ wk+1=(1−ηa)wk,∣1−ηa∣<1⟺0<η<a2(1) Na tigela mais simples a atualização multiplica w por 1−ηa a cada vez, então as iterações tendem a zero exatamente quando ∣1−ηa∣<1, isto é η<2/a. A escolha η=1/a cai no mínimo em um passo, e qualquer η entre 1/a e 2/a ainda converge mas alterna de sinal no caminho. Além de 2/a o fator passa de um em módulo e as iterações explodem.
Três passos em f = 3x²Aqui
f′(x)=6x, então
a=6. Partindo de
x0=4 com
η=0.1: o fator é
1−0.6=0.4, dando
x1=1.6,
x2=0.64,
x3=0.256. O limite de estabilidade é
2/6=0.333. Com
η=0.5 o fator é
1−3=−2, as iterações são
4,−4,8,… e dobram de tamanho a cada passo.
Em várias variáveis a curvatura muda conforme a direção. O maior autovalor L da hessiana limita o passo utilizável (η<2/L) e o menor μ define quão lento é atravessar a direção mais plana. A razão κ=L/μ é o número de condição. Com o melhor passo fixo η=2/(L+μ) o erro encolhe cerca do fator (κ−1)/(κ+1) por passo, então um κ grande dá um fator perto de um e um zigue-zague lento num vale longo e estreito. Para a matriz de covariância de doze grandes ações dos EUA desde 2010, κ é cerca de 33: o fator é 0.941 e reduzir o erro cem vezes leva cerca de 76 passos.
η∗=L+μ2,∥wk−w∗∥ ≲ (κ+1κ−1)k∥w0−w∗∥,κ=μL(2) - Passo seguro: η<2/L, com L o maior autovalor da hessiana; senão as iterações divergem.
- Velocidade: definida pelo número de condição κ=L/μ; quanto maior, mais lenta a descida.
- Parada: parar quando ∥∇f∥ cair abaixo de uma tolerância, com um teto de iterações.
Coloque as variáveis na mesma escalaUm número de condição grande costuma vir de variáveis em escalas muito diferentes, por exemplo um peso entre 0 e 1 ao lado de uma volatilidade em pontos-base. Reescalar cada variável a um tamanho parecido reduz κ e pode transformar milhares de iterações em dezenas. O precondicionamento é a forma geral da mesma ideia. Lab: o que é avaliado
- O primeiro passo15 pts
- O segundo passo10 pts
- O maior passo estável15 pts
- Um passo grande demais15 pts
- Um número de condição15 pts
- O melhor fator de contração15 pts
- Por que o mau condicionamento é lento15 pts