Skip to content

Conversation

@daphne12345
Copy link
Contributor

I am not sure if it is correctly implemented. Please check!

self._model, GaussianProcess
), "Sample based estimate strategy only allows GP as surrogate model!"
return self._model.sample_functions(X_test=X_running, n_funcs=1)
elif estimation_strategy == "q_ei":
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm... I think if we use q_ei, there is no need to estimate the running configurations. i.e., we use q_ei to provide multiple candidates at once.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed this part.

if not self._log:
f_samples = normal_samples # in original (normal) space
f_min_sample = np.min(f_samples, axis=1)
improvement = np.maximum(self._eta - self._xi - f_min_sample, 0.0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not quite sure here, but if the surrogate model is a GP, we can directly sample from the joint posterior distribution. As shown in botorch: https://botorch.readthedocs.io/en/stable/acquisition.html#botorch.acquisition.monte_carlo.qExpectedImprovement

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I replaced it with the surrogate model, if it is a GP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants