Facades

SMAC of course itself offers a lot of design choices, some of which are crucial to achieve peak performance. Luckily, often it is sufficient to distinguish between a few problem classes. To make the usage of SMAC as easy as possible, we provide several facades designed for these different use cases. Here we give some general recommendations on when to use which facade. These recommendations are based on our experience and technical limitations and is by far not intended to be complete:

SMAC4BB

SMAC4HPO

SMAC4MF

SMAC4AC

# parameter

low

low/medium/high

low/medium/high

low/medium/high

Categorical hyperparameters

Supported

Supported

Supported

Supported

Conditional hyperparameters

Supported

Supported

Supported

Supported

Instances

No

None or CV

None or CV

Yes

Stochasticity

No

Supported

Supported

Supported

Objective

Any (except runtime)

e.g. validation loss

e.g. validation loss

Any

Multi-Fidelity

No

No

Yes

Yes

Search Strategy

Gaussian Process or GP-MCMC

Random Forest

Random Forest

Random Forest, Gaussian Process, GP-MCMC or Random

Inheritance

Here we show the class inheritance of the different facades. Because SMAC4AC is the facade every other facade is inherited from, we recommend using SMAC4AC if a lot of flexibility is needed.

Class diagram of the SMAC facades.

Class inheritance of the SMAC facades.