Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.9%) to scientific vocabulary
Keywords
Repository
BOSS (Bayesian Optimization with Semiparametric Surrogate)
Basic Info
Statistics
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 15
- Releases: 12
Topics
Metadata Files
README.md
BOSS (Bayesian Optimization with Semiparametric Surrogate)
BOSS stands for "Bayesian Optimization with Semiparametric Surrogate". BOSS.jl is a Julia package for Bayesian optimization. It provides a straight-forward way to define a BO problem, a surrogate model, and an acquisition function. It allows changing the algorithms used for the subtasks of estimating the model parameters and optimizing the acquisition function. Simple interfaces are defined for the use of custom surrogate models, acquisition functions, and algorithms for the subtasks. Therefore, the package is easily extendable and can be used as a practical skeleton for implementing other BO approaches.
See the documentation for more information about BOSS.jl.
See [1] for more information about Bayesian optimization.
Problem Definition
The problem is defined as follows:
There is some (possibly noisy) blackbox function y = f(x) = f_true(x) + ϵ where ϵ ~ Normal.
We have some surrogate model y = model(x) ≈ f_true(x) describing our limited knowledge about the blackbox function.
We wish to find x ∈ domain such that fitness(f(x)) is maximized while satisfying the constraints f(x) < y_max.
The Surrogate Model
BOSS can be used with purely parametric models, Gaussian Processes, or with a semiparametric models combining the two previous models by supplying the parametric model as the mean of the GP. Alternatively, any custom surrogate model can be defined by extending the SurrogateModel type.
Algorithms
BOSS allows defining custom algorithms for the substeps of model parameter estimation and acquisition function maximization. Both MAP estimation of model parameters and Bayesian inference (BI) via sampling are supported.
Use the OptimizationMAP model fitter for MAP estimation via the Optimization.jl library.
Use the TuringBI model fitter for BI sampling via the Turing.jl library.
See other available ModelFitters in the documentation.
Use the OptimizationAM for acquisition maximization via the Optimization.jl library.
See other available AcquisitionMaximizers in the documentation.
BOSS also provides a simple interface for the use of other custom alagorithms/libraries for model parameter estimation and/or acquisition maximization by extending the abstract types ModelFitter and AcquisitionMaximizer.
Examples
See the documentation for example usage.
Plotting
A simple plotting script is provided to visualize the optimization process using the Plots.jl package. Use the PlotCallback to utilize this feature. Only problems with one-dimensional input domains are supported for plotting.
References
[1] Bobak Shahriari et al. “Taking the human out of the loop: A review of Bayesian optimization”. In: Proceedings of the IEEE 104.1 (2015), pp. 148–175
Citation
If you use this software, please cite it using provided CITATION.cff file.
Owner
- Name: Šimon Soldát
- Login: soldasim
- Kind: user
- Repositories: 1
- Profile: https://github.com/soldasim
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: >-
BOSS.jl (Bayesian Optimization with Semiparametric
Surrogate)
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Šimon
family-names: Soldát
email: soldasim@fel.cvut.cz
repository-code: 'https://github.com/soldasim/BOSS.jl'
abstract: >-
BOSS.jl is a Julia package for Bayesian optimization. It
provides a compact way to define an optimization problem
and a surrogate model, and solve the problem. It allows
changing the hyperparameters of the underlying algorithms,
and provides a simple interface to use custom algorithms
for the subtasks of fitting the model parameters and
optimizing the acquisition function.
keywords:
- Bayesian optimization
- julia
- optimization
- blackbox optimization
- surrogate model
- Gaussian process
license: MIT
GitHub Events
Total
- Create event: 14
- Commit comment event: 13
- Issues event: 19
- Release event: 8
- Watch event: 4
- Delete event: 4
- Issue comment event: 30
- Push event: 261
- Pull request event: 35
Last Year
- Create event: 14
- Commit comment event: 13
- Issues event: 19
- Release event: 8
- Watch event: 4
- Delete event: 4
- Issue comment event: 30
- Push event: 261
- Pull request event: 35
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 48
- Total pull requests: 40
- Average time to close issues: 3 months
- Average time to close pull requests: 13 days
- Total issue authors: 4
- Total pull request authors: 3
- Average comments per issue: 1.0
- Average comments per pull request: 0.63
- Merged pull requests: 24
- Bot issues: 0
- Bot pull requests: 20
Past Year
- Issues: 13
- Pull requests: 30
- Average time to close issues: about 1 month
- Average time to close pull requests: 15 days
- Issue authors: 3
- Pull request authors: 3
- Average comments per issue: 0.54
- Average comments per pull request: 0.77
- Merged pull requests: 16
- Bot issues: 0
- Bot pull requests: 13
Top Authors
Issue Authors
- soldasim (45)
- github-actions[bot] (1)
- alstat (1)
- JuliaTagBot (1)
- ngiann (1)
Pull Request Authors
- soldasim (25)
- github-actions[bot] (16)
- dependabot[bot] (9)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 5 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 12
juliahub.com: BOSS
BOSS (Bayesian Optimization with Semiparametric Surrogate)
- Documentation: https://docs.juliahub.com/General/BOSS/stable/
- License: MIT
-
Latest release: 0.5.1
published 4 months ago
Rankings
Dependencies
- actions/checkout v4 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite