Descente de gradient stochastique

Version 1

Code vu en cours, qui réalise une descente de gradient stochastique (version très simple) pour optimiser la fonction f définie ci-dessous, avec sa dérivée définie par la fonction df.

f <- function (x) 0.2 * x^5 - 1.1 * x^3 + .7 * x^2 - x + 1.2
df <- function (x) x^4 - 3.3 * x^2 + 1.4 * x - 1
xi <- runif (1, min = -2, max = 3)

eta <- .1
repeat {
  xi <- xi - eta * df (xi)
  if (abs (df (xi)) < 0.001)
    break
}