bayes_opt.acquisition.ProbabilityOfImprovement
¶
-
class bayes_opt.acquisition.ProbabilityOfImprovement(xi: float, exploration_decay: float | None =
None
, exploration_decay_delay: int | None =None
, random_state: int | RandomState | None =None
) None ¶ Probability of Improvement acqusition function.
Calculated as
\[\text{POI}(x) = \Phi\left( \frac{\mu(x)-y_{\text{max}} - \xi }{\sigma(x)} \right)\]where \(\Phi\) is the CDF of the normal distribution.
- Parameters:¶
- xi : float, positive¶
Governs the exploration/exploitation tradeoff. Lower prefers exploitation, higher prefers exploration.
- exploration_decay : float, default None¶
Decay rate for xi. If None, no decay is applied.
- exploration_decay_delay : int, default None¶
Delay for decay. If None, decay is applied from the start.
- random_state : int, RandomState, default None¶
Set the random state for reproducibility.
- base_acq(mean: ndarray[Any, dtype[floating[Any]]], std: ndarray[Any, dtype[floating[Any]]]) ndarray[Any, dtype[floating[Any]]] ¶
Calculate the probability of improvement.
- decay_exploration() None ¶
Decay xi by a constant rate.
Adjust exploration/exploitation trade-off by reducing xi. :rtype:
None
Note
This method is called automatically at the end of each
suggest()
call.- Return type:¶
None
-
suggest(gp: GaussianProcessRegressor, target_space: TargetSpace, n_random: int =
10000
, n_l_bfgs_b: int =10
, fit_gp: bool =True
) ndarray[Any, dtype[floating[Any]]] ¶ Suggest a promising point to probe next.
- Parameters:¶
- gp : GaussianProcessRegressor¶
A fitted Gaussian Process.
- target_space : TargetSpace¶
The target space to probe.
- n_random : int, default 10_000¶
Number of random samples to use.
- n_l_bfgs_b : int, default 10¶
Number of starting points for the L-BFGS-B optimizer.
- fit_gp : bool, default True¶
Whether to fit the Gaussian Process to the target space. Set to False if the GP is already fitted.
- Return type:¶
- Returns:¶
np.ndarray – Suggested point to probe next.