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.
See also
MixtureNegativeLogLikelihoodLossBuilds the mixture likelihood from per-class likelihoods.
RegularizedMixtureNLLLossAdds simplex-smoothness penalties.
get_lossFactory that builds this loss by name.
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.2797765635793423
- __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