A multifidelity Matérn kernel extends Matérn covariance to observations gathered from several fidelity levels. It uses each point’s fidelity correlation to decide how strongly that observation informs nearby predictions, making inexpensive but inexact evaluations useful when optimizing an expensive black-box objective. section 9.2.2 section 9.7
The kernel supports multifidelity Gaussian-process modeling by:
- Representing fidelity correlation as an extra feature column, with values between 0 and 1 indicating similarity to the ground truth. section 9.7
- Producing higher covariance, and therefore greater uncertainty reduction, for nearby observations with high correlation. section 9.2.2
- Allowing low-correlation observations to leave posterior uncertainty relatively high while still contributing to the model. section 9.2.2
- Supporting a specialized BoTorch Gaussian-process class that is trained by maximizing the likelihood of the observations. section 9.2.2
Low- and high-correlation observations
A GP trained only on low-fidelity observations becomes less uncertain when their correlation is 0.9 than when it is 0.5. With both fidelity levels, mean predictions pass through high-fidelity observations while low-fidelity points still reduce uncertainty.
from botorch.models.gp_regression_fidelity import SingleTaskMultiFidelityGP #1 model = SingleTaskMultiFidelityGP( train_x_full, train_y, data_fidelity=1) #2
Instantiate BoTorch’s SingleTaskMultiFidelityGP with the full feature matrix, response values, and the column containing fidelity correlation values. section 9.2.2
