Class or Function Names PIMSSampler Installation $ pip install -r https://hub.optuna.org/samplers/gp_pims/requirements.txt Example Please see example.py.
Others Reference Shion Takeno, Yu Inatsu, Masayuki Karasuyama, Ichiro Takeuchi, Posterior Sampling-Based Bayesian Optimization with Tighter Bayesian Regret Bounds, Proceedings of the 41st International Conference on Machine Learning, PMLR 235:47510-47534, 2024.
Bibtex @InProceedings{pmlr-v235-takeno24a, title = {Posterior Sampling-Based {B}ayesian Optimization with Tighter {B}ayesian Regret Bounds}, author = {Takeno, Shion and Inatsu, Yu and Karasuyama, Masayuki and Takeuchi, Ichiro}, booktitle = {Proceedings of the 41st International Conference on Machine Learning}, pages = {47510--47534}, year = {2024}, editor = {Salakhutdinov, Ruslan and Kolter, Zico and Heller, Katherine and Weller, Adrian and Oliver, Nuria and Scarlett, Jonathan and Berkenkamp, Felix}, volume = {235}, series = {Proceedings of Machine Learning Research}, month = {21--27 Jul}, publisher = {PMLR}, pdf = {https://raw.
Class or Function Names GPEISampler (alias for optuna.samplers.GPSampler) GPPISampler GPUCBSampler GPTSSampler Installation pip install scipy torch Overview Optuna’s built-in GPSampler only supports Expected Improvement (EI) as an acquisition function. This package extends GPSampler with three additional acquisition functions commonly used in Bayesian optimization:
Sampler Acquisition Function Description GPEISampler Expected Improvement (EI) Alias for optuna.samplers.GPSampler. Balances improvement magnitude and probability. GPPISampler Probability of Improvement (PI) Selects the point most likely to improve over the current best.
Abstract Standard Bayesian Optimization assumes homoscedastic (constant) noise across the entire search space. When standard Gaussian Process (GP) models encounter a highly noisy localized region, the Marginal Log-Likelihood optimization is forced to absorb that localized variance into a single global noise parameter. This inflates uncertainty across the entire surrogate model, causing the optimizer to over-explore and waste search budget.
The HeteroscedasticGPSampler natively supports input-dependent observation noise. By explicitly passing the known or estimated noise variance of a trial via a user-defined noise_func, this sampler maps and isolates high-variance regions.
Class or Function Names MeanVarianceAnalysisScalarizationSimulatorSampler Installation $ pip install scipy Example Please see example.ipynb
Others For example, you can add sections to introduce a corresponding paper.
Reference Iwazaki, Shogo, Yu Inatsu, and Ichiro Takeuchi. “Mean-variance analysis in Bayesian optimization under uncertainty.” International Conference on Artificial Intelligence and Statistics. PMLR, 2021.
Bibtex @inproceedings{iwazaki2021mean, title={Mean-variance analysis in Bayesian optimization under uncertainty}, author={Iwazaki, Shogo and Inatsu, Yu and Takeuchi, Ichiro}, booktitle={International Conference on Artificial Intelligence and Statistics}, pages={973--981}, year={2021}, organization={PMLR} }
APIs A sampler that uses SMAC3 v2.2.0 verified by unittests that can be run by the following:
$ pip install pytest optunahub smac $ python -m pytest package/samplers/smac_sampler/tests/ Please check the API reference for more details:
https://automl.github.io/SMAC3/main/5_api.html SMACSampler(search_space: dict[str, BaseDistribution], n_trials: int = 100, seed: int | None = None, *, surrogate_model_type: str = "rf", acq_func_type: str = "ei_log", init_design_type: str = "sobol", surrogate_model_rf_num_trees: int = 10, surrogate_model_rf_ratio_features: float = 1.
Abstract This package provides a sampler using Google Vizier. It is a simple wrapper around Vizier’s Python client, enabling its optimization capabilities within the Optuna framework.
Class or Function Names VizierSampler Installation pip install google-vizier[jax] # with JAX or
pip install google-vizier[all] # with All algorithm Example import optuna from optuna.visualization import plot_hypervolume_history import optunahub wfg = optunahub.load_module("benchmarks/wfg") wfg4 = wfg.Problem(function_id=4, n_objectives=2, dimension=5, k=1) vizier = optunahub.load_module("samplers/vizier") study = optuna.create_study( study_name="Vizier", sampler=vizier.