Bayesian optimisation of a model calibration loss with a Gaussian process surrogate
theta_star = argmin L(theta); theta_next = argmax EI_n(theta)
Searches a bounded parameter region for the values that minimise a goodness-of-fit loss between model outputs and calibration targets when each model run is expensive. A Gaussian process fitted to the losses already observed gives a normal posterior for the loss at any untried value, and an acquisition function, here expected improvement, chooses the next run. The notation follows the Bayesian Optimisation article and its one-parameter incidence calibration.
Weighted absolute-difference calibration loss for two targets
L = w_1 * abs(g_1 - T_1) + w_2 * abs(g_2 - T_2)
Squared exponential kernel covariance between losses at two parameter values
c_ab = exp(-(theta_a - theta_b)^2 / (2 * ell^2)); k_ab = sf2 * c_ab
Gaussian process posterior mean and variance of the loss after two noise-free runs
a_1 = (c_1 - c_12 * c_2) / (1 - c_12^2); a_2 = (c_2 - c_12 * c_1) / (1 - c_12^2); mu_n = mu_0 + a_1 * (y_1 - mu_0) + a_2 * (y_2 - mu_0); var_n = sf2 * (1 - (c_1 * a_1 + c_2 * a_2))
Expected improvement of a candidate run for a loss that is minimised
z = (L_best - mu_n) / s_n; EI = (L_best - mu_n) * Phi_z + s_n * exp(-z^2 / 2) / 2.5066283