LeastSquaresLoss#

class mlquantify.losses.LeastSquaresLoss[source]#

Squared Euclidean (least-squares) loss.

Computes \(\|target - M \cdot mixture\|_2^2\). When no mixing matrix M is provided the loss reduces to \(\|target - mixture\|_2^2\).

Examples

>>> from mlquantify.losses import get_loss
>>> loss = get_loss("least_squares")
>>> loss([0.4, 0.6], [0.5, 0.5])
0.02
__call__(mixture, target, M=None)[source]#

Compute the squared Euclidean loss.

Parameters:
mixturearray-like of shape (n_classes,)

Estimated prevalence vector.

targetarray-like of shape (n_components,)

Target representation vector.

Marray-like of shape (n_components, n_classes) or None, default=None

Optional mixing matrix. When supplied, mixture is transformed as M @ mixture before computing the squared difference.

Returns:
lossfloat

Scalar squared-norm value.

Examples

>>> from mlquantify.losses import get_loss
>>> loss = get_loss("ls")
>>> loss([0.3, 0.7], [0.5, 0.5])
0.08