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 steps process:
- Sample selection
- Construction of the surrogate model
- Surrogate optimization
- Grid
- Uniform
- Sobol
- Latin Hypercube
- Low Discrepancy
- Random
- Kriging
- Radial Basis Function
- Linear
- Second Order Polynomial
- Support Vector Machines (SVM)
- Artificial Neural Networks
- Random Forests
- Lobachesky
- Inverse-distance
- SRBF
- LCBS
- DYCORS
- EI
using Pkg
Pkg.add("Surrogates")