Bajar la pendiente
El descenso de gradiente repite un único movimiento: avanzar contra el gradiente, wk+1=wk−η∇f(wk). El número η>0 es el paso, a menudo llamado tasa de aprendizaje. Un η pequeño es seguro pero lento. Un η grande se pasa del valle y las iteraciones pueden alejarse cada vez más.
f(w)=21aw2 ⇒ wk+1=(1−ηa)wk,∣1−ηa∣<1⟺0<η<a2(1) En el cuenco más simple la actualización multiplica w por 1−ηa cada vez, así que las iteraciones tienden a cero justo cuando ∣1−ηa∣<1, es decir η<2/a. La elección η=1/a cae en el mínimo en un paso, y cualquier η entre 1/a y 2/a aún converge pero cambia de signo por el camino. Más allá de 2/a el factor supera uno en valor absoluto y las iteraciones explotan.
Tres pasos sobre f = 3x²Aquí
f′(x)=6x, así que
a=6. Partimos de
x0=4 con
η=0.1: el factor es
1−0.6=0.4, de modo que
x1=1.6,
x2=0.64,
x3=0.256. El límite de estabilidad es
2/6=0.333. Con
η=0.5 el factor es
1−3=−2, las iteraciones son
4,−4,8,… y duplican su tamaño en cada paso.
En varias variables la curvatura cambia según la dirección. El mayor valor propio L del hessiano limita el paso utilizable (η<2/L) y el menor μ fija lo lento que es cruzar la dirección más plana. Su cociente κ=L/μ es el número de condición. Con el mejor paso fijo η=2/(L+μ) el error se multiplica por unos (κ−1)/(κ+1) en cada paso, así que un κ grande da un factor cercano a uno y un zigzag lento por un valle largo y estrecho. Para la matriz de covarianza de doce grandes acciones de EE. UU. desde 2010, κ es de unos 33: el factor es 0.941 y reducir el error cien veces requiere unos 76 pasos.
η∗=L+μ2,∥wk−w∗∥ ≲ (κ+1κ−1)k∥w0−w∗∥,κ=μL(2) - Paso seguro: η<2/L, con L el mayor valor propio del hessiano; si no, las iteraciones divergen.
- Velocidad: la fija el número de condición κ=L/μ; cuanto mayor, más lento el descenso.
- Parada: detener cuando ∥∇f∥ baje de una tolerancia, con un tope de iteraciones.
Escale las variablesUn número de condición grande suele venir de variables con escalas muy distintas, por ejemplo un peso entre 0 y 1 junto a una volatilidad en puntos básicos. Reescalar cada variable a un tamaño parecido reduce κ y puede convertir miles de iteraciones en decenas. El precondicionamiento es la forma general de la misma idea. Lab: qué se califica
- El primer paso15 pts
- El segundo paso10 pts
- El mayor paso estable15 pts
- Un paso demasiado grande15 pts
- Un número de condición15 pts
- El mejor factor de contracción15 pts
- Por qué el mal condicionamiento es lento15 pts