SigmoidTransformation

class baybe.transformations.basic.SigmoidTransformation[source]

Bases: MonotonicTransformation

A sigmoid transformation.

Public methods

__init__([center, steepness])

Method generated by attrs for class SigmoidTransformation.

abs()

Take the absolute value of the output of the transformation.

chain(transformation, /)

Chain another transformation with the existing one.

clamp([min, max])

Clamp the output of the transformation.

from_anchors(anchors)

Create a sigmoid transformation from two anchor points.

from_dict(dictionary)

Create an object from its dictionary representation.

from_json(string)

Create an object from its JSON representation.

get_codomain([interval])

Get the codomain of a certain interval (assuming transformation continuity).

get_image([interval])

Get the image of a certain interval (assuming transformation continuity).

negate()

Negate the output of the transformation.

to_botorch_objective()

Convert to BoTorch objective.

to_dict()

Create an object's dictionary representation.

to_json()

Create an object's JSON representation.

Public attributes and properties

center

The center of the sigmoid function, where it crosses 0.5.

steepness

The steepness of the sigmoid function.

__init__(center=0.0, steepness=1.0)

Method generated by attrs for class SigmoidTransformation.

For details on the parameters, see Public attributes and properties.

abs()

Take the absolute value of the output of the transformation.

Return type:

Transformation

chain(transformation: Transformation, /)

Chain another transformation with the existing one.

Return type:

Transformation

clamp(min: float = -inf, max: float = inf)

Clamp the output of the transformation.

Return type:

Transformation

classmethod from_anchors(anchors: Sequence[Sequence[float]])[source]

Create a sigmoid transformation from two anchor points.

Parameters:

anchors (Sequence[Sequence[float]]) – The anchor points defining the sigmoid transformation. Must be convertible to two pairs of floats, where each pair represents an anchor point through which the sigmoid curve passes.

Raises:
  • ValueError – If the input given as anchors does not represent two points.

  • ValueError – If the ordinates of the anchors are not in the unit interval.

Return type:

SigmoidTransformation

Returns:

A sigmoid transformation passing through the specified anchor points.

Example

>>> import torch
>>> p1 = (-2, 0.1)
>>> p2 = (5, 0.6)
>>> t = SigmoidTransformation.from_anchors([p1, p2])
>>> out = t(torch.tensor([p1[0], p2[0]]))
>>> assert torch.equal(out, torch.tensor([p1[1], p2[1]]))
classmethod from_dict(dictionary: dict)

Create an object from its dictionary representation.

Parameters:

dictionary (dict) – The dictionary representation.

Return type:

TypeVar(_T, bound= SerialMixin)

Returns:

The reconstructed object.

classmethod from_json(string: str)

Create an object from its JSON representation.

Parameters:

string (str) – The JSON representation of the object.

Return type:

TypeVar(_T, bound= SerialMixin)

Returns:

The reconstructed object.

get_codomain(interval: Interval | None = None, /)

Get the codomain of a certain interval (assuming transformation continuity).

In accordance with the mathematical definition of a function’s codomain, we define the codomain of a given Interval under a certain (assumed continuous) Transformation to be an Interval guaranteed to contain all possible outcomes when the Transformation is applied to all points in the input Interval. In cases where the image cannot exactly be computed, it is often still possible to compute a codomain. The codomain always contains the image, but might be larger.

Return type:

Interval

get_image(interval: Interval | None = None, /)

Get the image of a certain interval (assuming transformation continuity).

In accordance with the mathematical definition of a function’s image, we define the image of a given Interval under a certain (assumed continuous) Transformation to be the smallest Interval containing all possible outcomes when the Transformation is applied to all points in the input Interval.

Return type:

Interval

negate()

Negate the output of the transformation.

Return type:

Transformation

to_botorch_objective()

Convert to BoTorch objective.

Return type:

MCAcquisitionObjective

to_dict()

Create an object’s dictionary representation.

Return type:

dict

Returns:

The dictionary representation of the object.

to_json()

Create an object’s JSON representation.

Return type:

str

Returns:

The JSON representation as a string.

center: float

The center of the sigmoid function, where it crosses 0.5.

steepness: float

The steepness of the sigmoid function.