saealib.LowerConfidenceBound

class saealib.LowerConfidenceBound(kappa=2.0, obj_idx=0, reference=None)[source]

Bases: AcquisitionFunction

Lower Confidence Bound (LCB) acquisition function.

LCB trades off exploitation (low predicted mean) and exploration (high predicted uncertainty):

LCB(x) = mu(x) - kappa * sigma(x)

For minimization, lower LCB values are better. This class returns the negated LCB so that higher scores indicate more promising candidates, consistent with the convention used by other acquisition functions.

Requires a surrogate that provides uncertainty estimates (std).

Parameters:
  • kappa (float) – Exploration-exploitation trade-off parameter. Higher values encourage more exploration. Default: 2.0.

  • obj_idx (int) – Index of the objective to optimize. Used for multi-objective problems where LCB is applied to a single objective. Default: 0.

  • reference (Any)

Methods

__init__

compute_reference

Return fixed reference if set, otherwise None.

score

Compute negated LCB scores (higher is better).

Method Details

LowerConfidenceBound.__init__(kappa=2.0, obj_idx=0, reference=None)[source]
Parameters:
  • kappa (float)

  • obj_idx (int)

  • reference (Any)

LowerConfidenceBound.compute_reference(archive)[source]

Return fixed reference if set, otherwise None.

Parameters:

archive (Archive)

Return type:

Any

LowerConfidenceBound.score(prediction, reference=None)[source]

Compute negated LCB scores (higher is better).

Parameters:
  • prediction (SurrogatePrediction) – Surrogate predictions. Must have std (has_uncertainty == True).

  • reference (Any) – Not used. Accepted for interface compatibility.

Returns:

Negated LCB scores. shape: (n_samples,)

Return type:

np.ndarray

Raises:

TypeError – If prediction does not contain uncertainty estimates.