I might be missing a bit of context here but seems you are trying to do Bayesian Optimization? I am confused about why you will need a surrogate model, and why you need the output from gp.predict as the function of mu - I would imagine that these are estimated using the full data set.