Numerical Optimization 2nd Edition Pdf

0 views
Skip to first unread message

Zee Palmer

unread,
Aug 4, 2024, 3:15:09 PM8/4/24
to pochimtingmaxx
NumericalOptimization is one of the central techniques in Machine Learning. For many problems it is hard to figure out the best solution directly, but it is relatively easy to set up a loss function that measures how good a solution is - and then minimize the parameters of that function to find the solution.

I ended up writing a bunch of numerical optimization routines back when I was first trying to learnjavascript.Since I had all this code lying around anyway, I thought that it might be fun to provide someinteractive visualizations of how these algorithms work.


The cool thing about this post is that the code is all running in the browser, meaning you caninteractively set hyper-parameters for each algorithm, change the initial location, and change what function is being called to get a better sense of how these algorithms work.


To overcome these problems, the Nelder-Mead methoddynamically adjusts the step size based off the loss of the new point. If the new point is better than any previously seen value, it expands the step size to accelerate towards the bottom. Likewise if the new point is worse it contracts the step size to converge around the minima.




Click anywhere in this graph to restart with a new initial location. This method will generate a triangleat that spot and then flip flop towards the minima at each iteration, expandingor contracting as necessary according to the settings.


While this method is incredibly simple, itactually works fairly well on low dimensional functions. It can even minimize non-differentiablefunctions like \( f\left(x\right) = \left\left\lfloor x \right\rfloor - 50\right \), which allof the rest of the methods I'm going to talk about would fail at.


One possible direction to go is to figure out what the gradient \(\nabla F(X_n) \) is at the current point, and take a step down the gradient towards the minimum. The gradient can be calculated by symbolically differentiating the loss function, or by using automatic differentiation likeTorchand TensorFlow does. Using a fixed step size \(\alpha\) this means updating the current point \(X_n\) by:


A line search can modify thelearning rate at each iteration so that both the loss always is descending, which prevents it from overshootingthe minima - and also making sure that the gradient is flattening out sufficiently , whichprevents taking too many tiny steps. Enabling line search here leads tofewer iterations with the downside that each iteration has might have to sample extra functionpoints.


The Conjugate Gradient method tries to estimate the curvature of the function being minimized byincluding the previous search direction with the current gradient to come up with a new better searchdirection.


While the theory behind this might be a little involved, the math is pretty simple.The initial search direction \( S_0 \) is the same as in gradient descent. Subsequent search directions \(S_n\) are computed by:


You can see the progress of this method below. The actual direction taken is in red, with the gradients at each iteration beingrepresented by a yellow arrow. In certain cases the search direction being used is almost 90 degrees to the gradient, which explains why Gradient Descent had such problems on this function:


The challenge here is to convert a matrix of distances between some pointsinto coordinates for each point that best approximate the required distances. One way of doing this is to minimize a function like:


Nocedai and Wright have written an excellentbook on numericaloptimization that wasmy reference for most of this. While it is a great resource, there are a couple of other techniques not coveredthat I quickly wanted to mention.


Sebastian Ruder wrote an excellent overview of gradient descent methodsthat go into more depth, especially in the case of stochastic gradient descent on large sparse models like those used to train deep neural networks.


One cool derivative free optimization method is Bayesian Optimization. Eric Brochu, Mike Vlad Cora and Nando de Freitaswrote a great introduction to Bayesian Optimization. An interesting application of Bayesian Optimization is in hyper-parameter tuning - there is even a company SigOpt that is offeringBayesian Optimization as a service for this purpose.


Numerical Optimization presents a comprehensive and up-to-date description of the most effective methods in continuous optimization. It responds to the growing interest in optimization in engineering, science, and business by focusing on the methods that are best suited to practical problems.


For this new edition the book has been thoroughly updated throughout. There are new chapters on nonlinear interior methods and derivative-free methods for optimization, both of which are used widely in practice and the focus of much current research. Because of the emphasis on practical methods, as well as the extensive illustrations and exercises, the book is accessible to a wide audience. It can be used as a graduate text in engineering, operations research, mathematics, computer science, and business. It also serves as a handbook for researchers and practitioners in the field. The authors have strived to produce a text that is pleasant to read, informative, and rigorous - one that reveals both the beautiful nature of the discipline and its practical side.


Just as in its 1st edition, this book starts with illustrations of the ubiquitous character of optimization, and describes numerical algorithms in a tutorial way. It covers fundamental algorithms as well as more specialized and advanced topics for unconstrained and constrained problems. Most of the algorithms are explained in a detailed manner, allowing straightforward implementation. Theoretical aspects of the approaches chosen are also addressed with care, often using minimal assumptions.


This new edition contains computational exercises in the form of case studies which help understanding optimization methods beyond their theoretical, description, when coming to actual implementation. Besides, the nonsmooth optimization part has been substantially reorganized and expanded.


The four authors are leading international specialists in various branches of nonlinear optimization (one of them received the Dantzig Prize). They are working - or have worked - at INRIA, the French National Institute for Research in Computer Science and Control, and they also teach in various universities and "Grandes coles". All of them continually collaborate with industry on problems dealing with optimization, in fields such as energy management, geoscience, life sciences, etc.


Topics: Optimization, Operations Research, Management Science, Calculus of Variations and Optimal Control; Optimization, Numerical Analysis, Algorithm Analysis and Problem Complexity, Mathematics of Computing


Mathematical optimization (alternatively spelled optimisation) or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives.[1][2] It is generally divided into two subfields: discrete optimization and continuous optimization. Optimization problems arise in all quantitative disciplines from computer science and engineering[3] to operations research and economics, and the development of solution methods has been of interest in mathematics for centuries.[4]


In the more general approach, an optimization problem consists of maximizing or minimizing a real function by systematically choosing input values from within an allowed set and computing the value of the function. The generalization of optimization theory and techniques to other formulations constitutes a large area of applied mathematics.


Problems formulated using this technique in the fields of physics may refer to the technique as energy minimization,[5] speaking of the value of the function f as representing the energy of the system being modeled. In machine learning, it is always necessary to continuously evaluate the quality of a data model by using a cost function where a minimum implies a set of possibly optimal parameters with an optimal (lowest) error.


Typically, A is some subset of the Euclidean space R n \displaystyle \mathbb R ^n , often specified by a set of constraints, equalities or inequalities that the members of A have to satisfy. The domain A of f is called the search space or the choice set, while the elements of A are called candidate solutions or feasible solutions.


While a local minimum is at least as good as any nearby elements, a global minimum is at least as good as every feasible element.Generally, unless the objective function is convex in a minimization problem, there may be several local minima.In a convex problem, if there is a local minimum that is interior (not on the edge of the set of feasible elements), it is also the global minimum, but a nonconvex problem may have more than one local minimum not all of which need be global minima.


asks for the maximum value of the objective function 2x, where x may be any real number. In this case, there is no such maximum as the objective function is unbounded, so the answer is "infinity" or "undefined".


The term "linear programming" for certain optimization cases was due to George B. Dantzig, although much of the theory had been introduced by Leonid Kantorovich in 1939. (Programming in this context does not refer to computer programming, but comes from the use of program by the United States military to refer to proposed training and logistics schedules, which were the problems Dantzig studied at that time.) Dantzig published the Simplex algorithm in 1947, and also John von Neumann and other researches worked on the theoretical aspects of linear programming (like the theory of duality) around the same time.[7]


Adding more than one objective to an optimization problem adds complexity. For example, to optimize a structural design, one would desire a design that is both light and rigid. When two objectives conflict, a trade-off must be created. There may be one lightest design, one stiffest design, and an infinite number of designs that are some compromise of weight and rigidity. The set of trade-off designs that improve upon one criterion at the expense of another is known as the Pareto set. The curve created plotting weight against stiffness of the best designs is known as the Pareto frontier.

3a8082e126
Reply all
Reply to author
Forward
0 new messages