Supongamos que estamos haciendo un juguete ejemplo en gradiente decente, la minimización de una función cuadrática $x^TAx$, fija el tamaño de paso de $\alpha=0.03$. ($A=[10, 2; 2, 3]$)
Si graficamos la traza de $x$ en cada iteración, se obtiene la siguiente figura. ¿Por qué los puntos de "mucho densa" cuando utilizamos fija tamaño de paso? Intuitivamente, no se ve como un paso fijo tamaño, pero una disminución en el tamaño del paso.
PS: R Código de incluir en la trama.
A=rbind(c(10,2),c(2,3))
f <-function(x){
v=t(x) %*% A %*% x
as.numeric(v)
}
gr <-function(x){
v = 2* A %*% x
as.numeric(v)
}
x1=seq(-2,2,0.02)
x2=seq(-2,2,0.02)
df=expand.grid(x1=x1,x2=x2)
contour(x1,x2,matrix(apply(df, 1, f),ncol=sqrt(nrow(df))), labcex = 1.5,
levels=c(1,3,5,10,20,40))
grid()
opt_v=0
alpha=3e-2
x_trace=c(-2,-2)
x=c(-2,-2)
while(abs(f(x)-opt_v)>1e-6){
x=x-alpha*gr(x)
x_trace=rbind(x_trace,x)
}
points(x_trace, type='b', pch= ".", lwd=3, col="red")
text(x_trace, as.character(1:nrow(x_trace)), col="red")