Class BayesianOptimization
java.lang.Object
smile.hpo.BayesianOptimization
Bayesian Hyperparameter Optimization (HPO). Bayesian optimization is a sequential
design strategy for global optimization of black-box objective functions that does
not require derivative information.
It uses a Gaussian Process (GP) as a probabilistic surrogate model of the objective function. After evaluating initial random configurations, an acquisition function (such as Expected Improvement or Upper Confidence Bound) balances exploration of uncertain regions with exploitation of known promising areas to select the next most informative hyperparameter configuration.
References
- J. Snoek, H. Larochelle, and R. P. Adams. Practical Bayesian Optimization of Machine Learning Algorithms. NIPS 2012.
- B. Shahriari, K. Swersky, Z. Wang, R. P. Adams, and N. de Freitas. Taking the Human Out of the Loop: A Review of Bayesian Optimization. Proc. IEEE 2016.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumAcquisition function strategy.static final recordConfiguration options for Bayesian Optimization.static final recordResult of Bayesian hyperparameter optimization.static final recordAn individual trial evaluation in the optimization process. -
Method Summary
Modifier and TypeMethodDescriptionstatic BayesianOptimization.Resultfit(Hyperparameters hp, ToDoubleFunction<Properties> objective, int maxTrials) Fits/runs Bayesian optimization on the given hyperparameter search space.static BayesianOptimization.Resultfit(Hyperparameters hp, ToDoubleFunction<Properties> objective, int maxTrials, boolean maximize) Fits/runs Bayesian optimization on the given hyperparameter search space.static BayesianOptimization.Resultfit(Hyperparameters hp, ToDoubleFunction<Properties> objective, BayesianOptimization.Options options) Fits/runs Bayesian optimization on the given hyperparameter search space with full options.
-
Method Details
-
fit
public static BayesianOptimization.Result fit(Hyperparameters hp, ToDoubleFunction<Properties> objective, int maxTrials) Fits/runs Bayesian optimization on the given hyperparameter search space.- Parameters:
hp- the hyperparameter search space.objective- the objective function to evaluate each configuration.maxTrials- the total number of trials.- Returns:
- the optimization result.
-
fit
public static BayesianOptimization.Result fit(Hyperparameters hp, ToDoubleFunction<Properties> objective, int maxTrials, boolean maximize) Fits/runs Bayesian optimization on the given hyperparameter search space.- Parameters:
hp- the hyperparameter search space.objective- the objective function to evaluate each configuration.maxTrials- the total number of trials.maximize- true to maximize the objective function, false to minimize.- Returns:
- the optimization result.
-
fit
public static BayesianOptimization.Result fit(Hyperparameters hp, ToDoubleFunction<Properties> objective, BayesianOptimization.Options options) Fits/runs Bayesian optimization on the given hyperparameter search space with full options.- Parameters:
hp- the hyperparameter search space.objective- the objective function to evaluate each configuration.options- the optimization options.- Returns:
- the optimization result.
-