Expand description
Warm-starting and transfer learning for Bayesian Optimization.
Provides mechanisms to seed a new Bayesian optimization run with knowledge from previous runs, related tasks, or meta-learned initialization strategies.
§Strategies
- Direct warm-start: inject prior observations directly into the GP.
- Scaled transfer: align source observations to the target domain via min-max rescaling and inject them with a down-weighted noise level.
- Multi-task BO: maintain separate GPs per task and combine acquisition values using task-similarity weights.
- Meta-learning: estimate good GP hyperparameter initialization from observed task features (warm-starting the surrogate model itself).
§Example
use scirs2_optimize::bayesian::warm_start::{
WarmStartBo, WarmStartConfig, PriorRun, MetaLearner,
};
use scirs2_core::ndarray::{Array1, Array2};
// A previous run on a related problem:
let prior = PriorRun {
x: Array2::from_shape_vec((4, 1), vec![0.0, 1.0, 2.0, 3.0]).expect("shape"),
y: Array1::from_vec(vec![1.0, 0.5, 0.1, 0.6]),
bounds: vec![(0.0_f64, 4.0_f64)],
weight: 0.8,
};
let config = WarmStartConfig {
prior_runs: vec![prior],
n_initial: 3,
seed: Some(42),
..Default::default()
};
let mut bo = WarmStartBo::new(vec![(0.0_f64, 4.0_f64)], config).expect("create");
let result = bo.optimize(|x: &[f64]| (x[0] - 1.5_f64).powi(2), 10).expect("opt");
println!("Best x: {:?} f: {:.4}", result.x_best, result.f_best);Structs§
- Meta
Learner - Meta-learner that estimates good initial GP hyperparameters from prior tasks.
- Multi
Task Bo - Multi-task Bayesian optimizer.
- Multi
Task BoConfig - Configuration for multi-task Bayesian optimization.
- Prior
Run - A record of a previous optimization run that can be used to warm-start a new run.
- Task
- A task descriptor for multi-task BO.
- Warm
Start Bo - Bayesian optimizer with warm-starting from prior runs.
- Warm
Start Config - Configuration for warm-start Bayesian optimization.
- Warm
Start Obs - A single observation recorded during optimization.
- Warm
Start Result - Result of a warm-start Bayesian optimization run.
Enums§
- Blend
Strategy - Strategy for blending prior observations into the current run.
Functions§
- warm_
start_ optimize - Run Bayesian optimization with warm-starting from prior runs.