A surrogate model is an approximation method that mimics the behavior of a computationally
expensive simulation. In more mathematical terms: suppose we are attempting to optimize a function
f(p)
, but each calculation of f
is very expensive. It may be the case we need to solve a PDE for each point or use advanced numerical linear algebra machinery, which is usually costly. The idea is then to develop a surrogate model g
which approximates f
by training on previous data collected from evaluations of f
.
The construction of a surrogate model can be seen as a three-step process:
Sampling can be done through QuasiMonteCarlo.jl, all the functions available there can be used in Surrogates.jl.
using Pkg
Pkg.add("Surrogates")