Stochastic approximation
   HOME

TheInfoList



OR:

Stochastic approximation methods are a family of
iterative methods In computational mathematics, an iterative method is a mathematical procedure that uses an initial value to generate a sequence of improving approximate solutions for a class of problems, in which the ''n''-th approximation is derived from the pre ...
typically used for root-finding problems or for
optimization Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
problems. The recursive update rules of stochastic approximation methods can be used, among other things, for solving linear systems when the collected data is corrupted by noise, or for approximating extreme values of functions which cannot be computed directly, but only estimated via noisy observations. In a nutshell, stochastic approximation algorithms deal with a function of the form f(\theta) = \operatorname E_ (\theta,\xi) which is the expected value of a function depending on a random variable \xi . The goal is to recover properties of such a function f without evaluating it directly. Instead, stochastic approximation algorithms use random samples of F(\theta,\xi) to efficiently approximate properties of f such as zeros or extrema. Recently, stochastic approximations have found extensive applications in the fields of statistics and machine learning, especially in settings with big data. These applications range from stochastic optimization methods and algorithms, to online forms of the EM algorithm, reinforcement learning via temporal differences, and deep learning, and others. Stochastic approximation algorithms have also been used in the social sciences to describe collective dynamics: fictitious play in learning theory and consensus algorithms can be studied using their theory. The earliest, and prototypical, algorithms of this kind are the Robbins–Monro and Kiefer–Wolfowitz algorithms introduced respectively in 1951 and 1952.


Robbins–Monro algorithm

The Robbins–Monro algorithm, introduced in 1951 by
Herbert Robbins Herbert Ellis Robbins (January 12, 1915 – February 12, 2001) was an American mathematician and statistician. He did research in topology, measure theory, statistics, and a variety of other fields. He was the co-author, with Richard Co ...
and Sutton Monro, presented a methodology for solving a root finding problem, where the function is represented as an expected value. Assume that we have a function M(\theta), and a constant \alpha, such that the equation M(\theta) = \alpha has a unique root at \theta^*. It is assumed that while we cannot directly observe the function M(\theta), we can instead obtain measurements of the random variable N(\theta) where \operatorname E (\theta)= M(\theta). The structure of the algorithm is to then generate iterates of the form: ::\theta_=\theta_n - a_n(N(\theta_n) - \alpha) Here, a_1, a_2, \dots is a sequence of positive step sizes. Robbins and Monro proved, Theorem 2 that \theta_n converges in L^2 (and hence also in probability) to \theta^*, and Blum later proved the convergence is actually with probability one, provided that: * N(\theta) is uniformly bounded, * M(\theta) is nondecreasing, * M'(\theta^*) exists and is positive, and * The sequence a_n satisfies the following requirements: :: \qquad \sum^_a_n = \infty \quad \mbox \quad \sum^_a^2_n < \infty \quad A particular sequence of steps which satisfy these conditions, and was suggested by Robbins–Monro, have the form: a_n=a/n, for a > 0 . Other series are possible but in order to average out the noise in N(\theta), the above condition must be met.


Complexity results

#If f(\theta) is twice continuously differentiable, and strongly convex, and the minimizer of f(\theta) belongs to the interior of \Theta, then the Robbins–Monro algorithm will achieve the asymptotically optimal convergence rate, with respect to the objective function, being \operatorname E (\theta_n) - f^*= O(1/n), where f^* is the minimal value of f(\theta) over \theta \in \Theta. # Conversely, in the general convex case, where we lack both the assumption of smoothness and strong convexity, Nemirovski and YudinProblem Complexity and Method Efficiency in Optimization, A. Nemirovski and D. Yudin, ''Wiley -Intersci. Ser. Discrete Math'' 15 ''John Wiley'' ''New York'' (1983) . have shown that the asymptotically optimal convergence rate, with respect to the objective function values, is O(1/\sqrt). They have also proven that this rate cannot be improved.


Subsequent developments and Polyak–Ruppert averaging

While the Robbins–Monro algorithm is theoretically able to achieve O(1/n) under the assumption of twice continuous differentiability and strong convexity, it can perform quite poorly upon implementation. This is primarily due to the fact that the algorithm is very sensitive to the choice of the step size sequence, and the supposed asymptotically optimal step size policy can be quite harmful in the beginning.Introduction to Stochastic Search and Optimization: Estimation, Simulation and Control
J.C. Spall, ''John Wiley'' ''Hoboken, NJ'', (2003).
Chung (1954) and Fabian (1968) showed that we would achieve optimal convergence rate O(1/\sqrt) with a_n=\bigtriangledown^2f(\theta^*)^/n (or a_n=\frac). Lai and Robbins designed adaptive procedures to estimate M'(\theta^*) such that \theta_n has minimal asymptotic variance. However the application of such optimal methods requires much a priori information which is hard to obtain in most situations. To overcome this shortfall, Polyak (1991) and Ruppert (1988) independently developed a new optimal algorithm based on the idea of averaging the trajectories. Polyak and Juditsky also presented a method of accelerating Robbins–Monro for linear and non-linear root-searching problems through the use of longer steps, and averaging of the iterates. The algorithm would have the following structure: \theta_ - \theta_n = a_n(\alpha - N(\theta_n)), \qquad \bar_n = \frac \sum^_ \theta_i The convergence of \bar_n to the unique root \theta^* relies on the condition that the step sequence \ decreases sufficiently slowly. That is ''A1)'' '' a_n \rightarrow 0, \qquad \frac = o(a_n) Therefore, the sequence a_n = n^ with 0 < \alpha < 1 satisfies this restriction, but \alpha = 1 does not, hence the longer steps. Under the assumptions outlined in the Robbins–Monro algorithm, the resulting modification will result in the same asymptotically optimal convergence rate O(1/\sqrt) yet with a more robust step size policy. Prior to this, the idea of using longer steps and averaging the iterates had already been proposed by Nemirovski and YudinOn Cezari's convergence of the steepest descent method for approximating saddle points of convex-concave functions, A. Nemirovski and D. Yudin, ''Dokl. Akad. Nauk SSR'' 2939, (1978 (Russian)), Soviet Math. Dokl. 19 (1978 (English)). for the cases of solving the stochastic optimization problem with continuous convex objectives and for convex-concave saddle point problems. These algorithms were observed to attain the nonasymptotic rate O(1/\sqrt). A more general result is given in Chapter 11 of Kushner and Yin by defining interpolated time t_n=\sum_^a_i, interpolated process \theta^n(\cdot) and interpolated normalized process U^n(\cdot) as \theta^n(t)=\theta_,\quad U^n(t)=(\theta_-\theta^*)/\sqrt\quad\mbox\quad t\in[t_-t_n,t_-t_n),i\ge0Let the iterate average be \Theta_n=\frac\sum_^\theta_i and the associate normalized error to be \hat^n(t)=\frac\sum_^(\theta_i-\theta^*). With assumption A1) and the following A2) ''A2)'' ''There is a Hurwitz matrix A and a symmetric and positive-definite matrix \Sigma such that \ converges weakly to U(\cdot), where U(\cdot) is the statisolution to''dU = AU \, dt +\Sigma^ \, dwwhere w(\cdot) is a standard Wiener process.'' satisfied, and define ''\bar=(A^)'\Sigma(A')^''. Then for each ''t'', ''\hat^n(t)\stackrel\mathcal(0,V_t),\quad \text\quad V_t=\bar/t+O(1/t^2).'' The success of the averaging idea is because of the time scale separation of the original sequence ''\'' and the averaged sequence ''\'', with the time scale of the former one being faster.


Application in stochastic optimization

Suppose we want to solve the following stochastic optimization problem g(\theta^*) = \min_\operatorname[Q(\theta,X)],where g(\theta) = \operatorname[Q(\theta,X)] is differentiable and convex, then this problem is equivalent to find the root \theta^* of \nabla g(\theta) = 0. Here Q(\theta,X) can be interpreted as some "observed" cost as a function of the chosen \theta and random effects X. In practice, it might be hard to get an analytical form of \nabla g(\theta), Robbins–Monro method manages to generate a sequence (\theta_n)_ to approximate \theta^* if one can generate (X_n)_ , in which the conditional expectation of X_n given \theta_n is exactly \nabla g(\theta_n), i.e. X_n is simulated from a conditional distribution defined by \operatorname \theta = \theta_n= \nabla g(\theta_n). Here H(\theta, X) is an unbiased estimator of \nabla g(\theta). If X depends on \theta, there is in general no natural way of generating a random outcome H(\theta, X) that is an unbiased estimator of the gradient. In some special cases when either IPA or likelihood ratio methods are applicable, then one is able to obtain an unbiased gradient estimator H(\theta, X). If X is viewed as some "fundamental" underlying random process that is generated ''independently'' of \theta, and under some regularization conditions for derivative-integral interchange operations so that \operatorname\Big fracQ(\theta,X)\Big= \nabla g(\theta), then H(\theta, X) = \fracQ(\theta, X) gives the fundamental gradient unbiased estimate. However, for some applications we have to use finite-difference methods in which H(\theta, X) has a conditional expectation close to \nabla g(\theta) but not exactly equal to it. We then define a recursion analogously to Newton's Method in the deterministic algorithm: : \theta_ = \theta_n - \varepsilon_n H(\theta_n,X_).


Convergence of the algorithm

The following result gives sufficient conditions on \theta_n for the algorithm to converge: C1) \varepsilon_n \geq 0, \forall\; n\geq 0. C2) \sum_^\infty \varepsilon_n = \infty C3) \sum_^\varepsilon_n^2 <\infty C4) , X_n, \leq B, \text B. C5) g(\theta) \text : \inf_\langle\theta-\theta^*, \nabla g(\theta)\rangle > 0,\text 0< \delta < 1. Then \theta_n converges to \theta^* almost surely. Here are some intuitive explanations about these conditions. Suppose H(\theta_n, X_) is a uniformly bounded random variables. If C2) is not satisfied, i.e. \sum_^\infty \varepsilon_n < \infty , then\theta_n - \theta_0 = -\sum_^ \varepsilon_i H(\theta_i, X_) is a bounded sequence, so the iteration cannot converge to \theta^* if the initial guess \theta_0 is too far away from \theta^* . As for C3) note that if \theta_n converges to \theta^* then \theta_ - \theta_n = -\varepsilon_n H(\theta_n, X_) \rightarrow 0, \text n\rightarrow \infty. so we must have \varepsilon_n \downarrow 0 ,and the condition C3) ensures it. A natural choice would be \varepsilon_n = 1/n . Condition C5) is a fairly stringent condition on the shape of g(\theta); it gives the search direction of the algorithm.


Example (where the stochastic gradient method is appropriate)

Suppose Q(\theta, X) = f(\theta) + \theta^T X, where f is differentiable and X\in \mathbb^p is a random variable independent of \theta. Then g(\theta)=\operatorname (\theta,X)= f(\theta)+\theta^T\operatornameX depends on the mean of X, and the stochastic gradient method would be appropriate in this problem. We can choose H(\theta, X) = \fracQ(\theta,X) = \fracf(\theta) + X.


Kiefer–Wolfowitz algorithm

The Kiefer–Wolfowitz algorithm was introduced in 1952 by
Jacob Wolfowitz Jacob Wolfowitz (March 19, 1910 – July 16, 1981) was a Polish-born American Jewish statistician and Shannon Award-winning information theorist. He was the father of former United States Deputy Secretary of Defense and World Bank Group Preside ...
and Jack Kiefer, and was motivated by the publication of the Robbins–Monro algorithm. However, the algorithm was presented as a method which would stochastically estimate the maximum of a function. Let M(x) be a function which has a maximum at the point \theta . It is assumed that M(x) is unknown; however, certain observations N(x), where \operatorname E (x)= M(x), can be made at any point x. The structure of the algorithm follows a gradient-like method, with the iterates being generated as follows: :: x_ = x_n + a_n \bigg(\frac \bigg) where N(x_n+c_n) and N(x_n-c_n) are independent, and the gradient of M(x) is approximated using finite differences. The sequence \ specifies the sequence of finite difference widths used for the gradient approximation, while the sequence \ specifies a sequence of positive step sizes taken along that direction. Kiefer and Wolfowitz proved that, if M(x) satisfied certain regularity conditions, then x_n will converge to \theta in probability as n\to\infty , and later Blum in 1954 showed x_n converges to \theta almost surely, provided that: * \operatorname(N(x))\le S<\infty for all x. * The function M(x) has a unique point of maximum (minimum) and is strong concave (convex) ** The algorithm was first presented with the requirement that the function M(\cdot) maintains strong global convexity (concavity) over the entire feasible space. Given this condition is too restrictive to impose over the entire domain, Kiefer and Wolfowitz proposed that it is sufficient to impose the condition over a compact set C_0 \subset \mathbb R^d which is known to include the optimal solution. *The function M(x) satisfies the regularity conditions as follows: ** There exists \beta>0 and B>0 such that , x'-\theta, +, x''-\theta, <\beta \quad \Longrightarrow \quad , M(x')-M(x''), ** There exists \rho>0 and R>0 such that , x'-x'', <\rho \quad \Longrightarrow \quad , M(x')-M(x''), ** For every \delta>0 , there exists some \pi(\delta)>0 such that , z-\theta, >\delta \quad \Longrightarrow \quad \inf_\frac>\pi(\delta) *The selected sequences \ and \ must be infinite sequences of positive numbers such that **\quad c_n \rightarrow 0\quad \text\quad n\to\infty ** \sum^\infty_ a_n =\infty ** \sum^\infty_ a_nc_n <\infty ** \sum^\infty_ a_n^2c_n^ <\infty A suitable choice of sequences, as recommended by Kiefer and Wolfowitz, would be a_n = 1/n and c_n = n^.


Subsequent developments and important issues

#The Kiefer Wolfowitz algorithm requires that for each gradient computation, at least d+1 different parameter values must be simulated for every iteration of the algorithm, where d is the dimension of the search space. This means that when d is large, the Kiefer–Wolfowitz algorithm will require substantial computational effort per iteration, leading to slow convergence. ## To address this problem, Spall proposed the use of simultaneous perturbations to estimate the gradient. This method would require only two simulations per iteration, regardless of the dimension d. #In the conditions required for convergence, the ability to specify a predetermined compact set that fulfills strong convexity (or concavity) and contains the unique solution can be difficult to find. With respect to real world applications, if the domain is quite large, these assumptions can be fairly restrictive and highly unrealistic.


Further developments

An extensive theoretical literature has grown up around these algorithms, concerning conditions for convergence, rates of convergence, multivariate and other generalizations, proper choice of step size, possible noise models, and so on. These methods are also applied in
control theory Control theory is a field of mathematics that deals with the control of dynamical systems in engineered processes and machines. The objective is to develop a model or algorithm governing the application of system inputs to drive the system to a ...
, in which case the unknown function which we wish to optimize or find the zero of may vary in time. In this case, the step size a_n should not converge to zero but should be chosen so as to track the function., 2nd ed., chapter 3 C. Johan Masreliez and R. Douglas Martin were the first to apply stochastic approximation to
robust Robustness is the property of being strong and healthy in constitution. When it is transposed into a system, it refers to the ability of tolerating perturbations that might affect the system’s functional body. In the same line ''robustness'' ca ...
estimation Estimation (or estimating) is the process of finding an estimate or approximation, which is a value that is usable for some purpose even if input data may be incomplete, uncertain, or unstable. The value is nonetheless usable because it is de ...
. The main tool for analyzing stochastic approximations algorithms (including the Robbins–Monro and the Kiefer–Wolfowitz algorithms) is a theorem by Aryeh Dvoretzky published in the proceedings of the third Berkeley symposium on mathematical statistics and probability, 1956.


See also

* Stochastic gradient descent *
Stochastic variance reduction (Stochastic) variance reduction is an algorithmic approach to minimizing functions that can be decomposed into finite sums. By exploiting the finite sum structure, variance reduction techniques are able to achieve convergence rates that are imposs ...


References

{{DEFAULTSORT:Stochastic Approximation Stochastic optimization Statistical approximations