PairwiseLogisticLoss

class PairwiseLogisticLoss(reduction='mean')[source]

Bases: pykeen.losses.SoftMarginRankingLoss

The pairwise logistic loss.

\[L(k, \bar{k}) = \log(1 + \exp(f(k) - f(\bar{k})))\]

Where \(k\) are the positive triples, \(\bar{k}\) are the negative triples, \(f\) is the interaction function (e.g., pykeen.models.TransE has \(f(h,r,t)=\mathbf{e}_h+\mathbf{r}_r-\mathbf{e}_t\)), \(g(x)=\log(1 + \exp(x))\) is the softmax activation function.

See also

This loss is equivalent to pykeen.losses.SoftMarginRankingLoss where margin=0. It is also closely related to pykeen.losses.MarginRankingLoss based on the choice of activation function.

Initialize the margin loss instance.

Parameters
  • margin – The margin by which positive and negative scores should be apart.

  • margin_activation – A margin activation. Defaults to 'relu', i.e. \(h(\Delta) = max(0, \Delta + \lambda)\), which is the default “margin loss”. Using 'softplus' leads to a “soft-margin” formulation as discussed in https://arxiv.org/abs/1703.07737.

  • reduction (str) – The name of the reduction operation to aggregate the individual loss values from a batch to a scalar loss value. From {‘mean’, ‘sum’}.

Attributes Summary

hpo_default

The default strategy for optimizing the loss's hyper-parameters

Attributes Documentation

hpo_default: ClassVar[Mapping[str, Any]] = {}

The default strategy for optimizing the loss’s hyper-parameters