-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
296f856
commit bdd789e
Showing
1 changed file
with
54 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
{ | ||
"cells": [ | ||
{ | ||
"cell_type": "markdown", | ||
"metadata": {}, | ||
"source": [ | ||
"# Surrogates\n", | ||
"\n", | ||
"The forward-simulation process can oftentimes be very expensive. For instance, if we keep adding compartments to an ODE-based models, or increase the number of agents in an ABM, or make the rules within an ABM complex. \n", | ||
"When such simulation-based models become computationally expensive to evaluate, making it impractical to run thousands of simulations required for analysis, optimization, or inference, <span style=\"color:orange\">surrogate models</span> can been used. These models aim to approximate the original complex model while being much faster to compute. The surrogate then replaces the original model in the wider popeline -- be it Bayesian optimisation, Bayesiand inference, active learning or another task. \n", | ||
"\n", | ||
"## Gaussian processes as surrogates\n", | ||
"Gaussian processes have long been popular choices for creating surrogate models. They provide a probabilistic framework that not only predicts an output value but also quantifies the uncertainty associated with that prediction. They also offer flexibility in handling noisy data and capturing nonlinear relationships between inputs and outputs.\n", | ||
"\n", | ||
"## Neural networks as surrogates\n", | ||
"More recently, neural networks have emerged as another powerful tool for building surrogate models. Deep learning techniques, in particular, have shown remarkable success in approximating highly complex systems. Neural networks excel at capturing intricate patterns and nonlinearities present in large datasets, which makes them suitable for modeling problems with high-dimensional input spaces. Furthermore, their scalability allows them to handle vast amounts of training data efficiently, making them attractive for applications involving big data.\n", | ||
"\n", | ||
"## Which surrogate to choose?\n", | ||
"GPs are well-suited for smaller datasets and provide uncertainty estimates, while neural networks shine when dealing with larger datasets and more complex functional forms. The choice between these two approaches often depends on the specific characteristics of the problem at hand, including the size and nature of the available data and computational resources." | ||
] | ||
}, | ||
{ | ||
"cell_type": "code", | ||
"execution_count": null, | ||
"metadata": {}, | ||
"outputs": [], | ||
"source": [] | ||
} | ||
], | ||
"metadata": { | ||
"colab": { | ||
"provenance": [] | ||
}, | ||
"kernelspec": { | ||
"display_name": "aims", | ||
"language": "python", | ||
"name": "python3" | ||
}, | ||
"language_info": { | ||
"codemirror_mode": { | ||
"name": "ipython", | ||
"version": 3 | ||
}, | ||
"file_extension": ".py", | ||
"mimetype": "text/x-python", | ||
"name": "python", | ||
"nbconvert_exporter": "python", | ||
"pygments_lexer": "ipython3", | ||
"version": "3.9.19" | ||
} | ||
}, | ||
"nbformat": 4, | ||
"nbformat_minor": 0 | ||
} |