smt_optim package#

Subpackages#

Submodules#

smt_optim.acquisition_functions module#

smt_optim.acquisition_functions.expected_improvement(mu: float, s2: float, f_min: float) float[source]#

Expected Improvement acquisition function.

Parameters:
  • mu (float) – Mean prediction.

  • s2 (float) – Variance prediction.

  • f_min (float) – Best minimum objective value in training data.

Returns:

Expected Improvement value.

Return type:

float

smt_optim.acquisition_functions.log_ei(mu: ndarray, s2: ndarray, f_min: float) ndarray[source]#

Vectorized Log Expected Improvement acquisition function.

LogEI is more numerically stable that the EI acquisition function especially when the GP’s variance is small. From: https://arxiv.org/abs/2310.20708.

Parameters:
  • mu (np.ndarray) – Mean prediction of shape (num_points, 1).

  • s2 (np.ndarray) – Variance prediction of shape (num_points, 1).

  • f_min (float) – Best minimum objective value in training data.

Return type:

np.ndarray

smt_optim.acquisition_functions.probability_of_improvement(mu: ndarray, s2: ndarray, f_min: float) ndarray[source]#

Probability of Improvement acquisition function. :param mu: Mean prediction. :type mu: np.ndarray

Parameters:
  • s2 (np.ndarray) – Variance prediction.

  • f_min (np.ndarray) – Minimum predicted objective value.

Returns:

The PI acquisition function value.

Return type:

np.ndarray

smt_optim.acquisition_functions.vec_expected_improvement(mu: ndarray, s2: ndarray, f_min: float) ndarray[source]#

Vectorized Expected Improvement acquisition function.

Parameters:
  • mu (np.ndarray) – Mean prediction of shape (num_points, 1).

  • s2 (np.ndarray) – Variance prediction of shape (num_points, 1).

  • f_min (float) – Best minimum objective value in training data.

Returns:

Expected Improvement values of shape (num_points, 1).

Return type:

np.ndarray

smt_optim.frameworks module#