Expand description
Bayesian Optimization with Gaussian Process Surrogate
Implements Bayesian Optimization for black-box function minimization using a GP surrogate model with RBF or Matern 5/2 kernels. Supports EI, PI, UCB, and Thompson Sampling acquisition functions with hyperparameter optimization via marginal log-likelihood.
§Example
use numrs2::optimize::bayesian_opt::*;
let f = |x: &[f64]| -> f64 { x.iter().map(|xi| (xi - 0.5).powi(2)).sum() };
let config = BayesOptConfig {
bounds: vec![(0.0, 1.0), (0.0, 1.0)],
n_initial: 5, n_iterations: 20,
..Default::default()
};
let result = bayesian_optimize(f, config).expect("optimization should succeed");
assert!(result.f_best < 0.1);Structs§
- Bayes
OptConfig - Configuration for Bayesian Optimization.
- Bayes
OptResult - Result of Bayesian Optimization.
- Gaussian
Process - Gaussian Process (GP) surrogate model for function approximation.
Enums§
- Acquisition
Type - Acquisition function type for guiding optimization.
- Kernel
Type - Kernel function type for the GP surrogate model.
Functions§
- bayesian_
optimize - Run Bayesian Optimization to minimize the given objective function.