Expand description
Multi-fidelity optimization: Hyperband and Successive Halving.
This module provides resource-efficient hyperparameter optimization via early-stopping strategies.
SuccessiveHalvingallocates a fixed budget across configurations and iteratively discards the worst performers.Hyperbandruns multiple brackets of Successive Halving with varying aggressiveness to hedge against the unknown ideal trade-off.
§Quick start
use scirs2_optimize::multi_fidelity::{
Hyperband, MultiFidelityConfig, ConfigSampler,
};
let config = MultiFidelityConfig {
max_budget: 81.0,
min_budget: 1.0,
eta: 3,
..Default::default()
};
let hb = Hyperband::new(config).expect("valid config");
let bounds = vec![(-5.0, 5.0), (-5.0, 5.0)];
let mut rng = 42u64;
let result = hb.run(
&|x: &[f64], _budget: f64| Ok(x.iter().map(|v| v * v).sum()),
&bounds,
&ConfigSampler::Random,
&mut rng,
).expect("optimization ok");
println!("Best: {:?} -> {:.6}", result.best_config, result.best_objective);Re-exports§
pub use hyperband::Hyperband;pub use successive_halving::SuccessiveHalving;pub use types::ConfigSampler;pub use types::EvaluationResult;pub use types::MultiFidelityConfig;pub use types::MultiFidelityResult;
Modules§
- hyperband
- Hyperband algorithm.
- successive_
halving - Successive Halving (SHA) algorithm.
- types
- Types for multi-fidelity optimization (Hyperband / Successive Halving).