Skip to main content

Module approximation

Module approximation 

Source
Expand description

Classical stochastic approximation algorithms.

This submodule implements the three canonical stochastic approximation (SA) methods from the 1950s–1960s together with a modern SPSA variant:

AlgorithmReferenceUse case
Robbins-MonroRobbins & Monro (1951)Root-finding under noise
Kiefer-WolfowitzKiefer & Wolfowitz (1952)Gradient-free stochastic minimisation
SPSASpall (1992)High-dimensional gradient-free SA

§Notation

  • xₖ : current iterate
  • aₖ : gain sequence for update step (must satisfy Σ aₖ = ∞, Σ aₖ² < ∞)
  • cₖ : gain sequence for finite-difference width (must → 0)

Structs§

KieferWolfowitzOptions
Options for the Kiefer-Wolfowitz algorithm.
KieferWolfowitzResult
Result from the Kiefer-Wolfowitz algorithm.
RobbinsMonroOptions
Options for the Robbins-Monro algorithm.
RobbinsMonroResult
Result from Robbins-Monro root finding.
SpsaOptions
Options for the SPSA optimizer.
SpsaResult
Result from the SPSA algorithm.

Functions§

kiefer_wolfowitz
Kiefer-Wolfowitz gradient-free stochastic approximation.
robbins_monro
Robbins-Monro stochastic root-finding algorithm.
spsa_minimize
Simultaneous Perturbation Stochastic Approximation (SPSA) optimizer.
spsa_step
Compute one SPSA gradient-estimate step.