uo.algorithm.bayesian_optimization package
Optimizer
Universal Optimizer adapter for Gaussian-process Bayesian optimization.
- class uo.algorithm.bayesian_optimization.optimizer.AcquisitionConfig(xi: float = 0.01, number_of_restarts: int = 8)
Bases:
objectConfiguration of Expected Improvement optimization.
- class uo.algorithm.bayesian_optimization.optimizer.BayesianOptimizer(problem: Problem, solution_template: Solution, bounds: Sequence[tuple[float, float]] | ndarray[tuple[Any, ...], dtype[float64]], evaluation_budget: int, number_of_initial_points: int | None = None, random_seed: int | None = None, gaussian_process_config: GaussianProcessConfig | None = None, acquisition_config: AcquisitionConfig | None = None, output_control: OutputControl | None = None)
Bases:
AlgorithmBayesian optimizer for bounded, continuous, single-objective problems.
- property acquisition_history: ndarray[tuple[Any, ...], dtype[float64]]
Return acquisition values for model-selected candidates.
- property bounds: ndarray[tuple[Any, ...], dtype[float64]]
Return a copy of the optimization bounds.
- copy() BayesianOptimizer
Copy optimizer configuration without execution state.
- classmethod from_construction_tuple(construction_parameters: BayesianOptimizerConstructionParameters) BayesianOptimizer
Create an optimizer from a construction-parameter object.
- string_rep(delimiter: str, indentation: int = 0, indentation_symbol: str = '', group_start: str = '{', group_end: str = '}') str
Return a string representation of the optimizer.
- class uo.algorithm.bayesian_optimization.optimizer.BayesianOptimizerConstructionParameters(problem: ~uo.problem.problem.Problem | None = None, solution_template: ~uo.solution.solution.Solution | None = None, bounds: ~typing.Sequence[tuple[float, float]] | ~numpy.ndarray[tuple[~typing.Any, ...], ~numpy.dtype[~numpy.float64]] = <factory>, evaluation_budget: int = 0, number_of_initial_points: int | None = None, random_seed: int | None = None, gaussian_process_config: ~uo.algorithm.bayesian_optimization.optimizer.GaussianProcessConfig = <factory>, acquisition_config: ~uo.algorithm.bayesian_optimization.optimizer.AcquisitionConfig = <factory>, output_control: ~uo.algorithm.output_control.OutputControl | None = None)
Bases:
objectConstruction parameters for
BayesianOptimizer.- acquisition_config: AcquisitionConfig
- gaussian_process_config: GaussianProcessConfig
- output_control: OutputControl | None = None
Gaussian process
Kernels
Acquisition
- uo.algorithm.bayesian_optimization.acquisition.expected_improvement(mean: float, variance: float, best_y: float, xi: float = 0.01, epsilon: float = 1e-12) float
- uo.algorithm.bayesian_optimization.acquisition_optimization.maximize_acquisition(acquisition_fn: Callable[[ndarray[tuple[Any, ...], dtype[float64]]], float], bounds: ndarray[tuple[Any, ...], dtype[float64]], rng: Generator, n_restarts: int = 8) tuple[ndarray[tuple[Any, ...], dtype[float64]], float]
Search-space utilities
- uo.algorithm.bayesian_optimization.space.clip_to_bounds(x: ndarray[tuple[Any, ...], dtype[float64]], bounds: Sequence[tuple[float, float]] | ndarray[tuple[Any, ...], dtype[float64]]) ndarray[tuple[Any, ...], dtype[float64]]
- uo.algorithm.bayesian_optimization.space.from_unit_cube(u: ndarray[tuple[Any, ...], dtype[float64]], bounds: Sequence[tuple[float, float]] | ndarray[tuple[Any, ...], dtype[float64]]) ndarray[tuple[Any, ...], dtype[float64]]
- uo.algorithm.bayesian_optimization.space.sample_uniform(rng: Generator, bounds: Sequence[tuple[float, float]] | ndarray[tuple[Any, ...], dtype[float64]], n_samples: int) ndarray[tuple[Any, ...], dtype[float64]]