NegativeLogLikelihoodLoss#

class mlquantify.losses.NegativeLogLikelihoodLoss(reduction='mean')[source]#

Negative log-likelihood loss for mixture likelihoods.

Computes \(-\log p(x)\) element-wise and then reduces the resulting values by mean or sum.

Parameters:
reduction{‘mean’, ‘sum’}, default=’mean’

How to reduce the per-sample log-likelihood values.

Attributes:
reductionstr

The configured reduction mode.

Examples

>>> from mlquantify.losses import get_loss
>>> loss = get_loss("nll")
>>> import numpy as np
>>> loss(np.array([0.8, 0.6, 0.9]))  
0.2576...
__call__(likelihood)[source]#

Compute the negative log-likelihood.

Parameters:
likelihoodarray-like of shape (n_samples,)

Per-sample likelihood values in the range (0, 1].

Returns:
lossfloat

Reduced negative log-likelihood.

Examples

>>> from mlquantify.losses import get_loss
>>> import numpy as np
>>> loss = get_loss("nll")
>>> round(loss(np.array([0.5, 0.5])), 4)
0.6931