SoftMarginRankingLoss

class SoftMarginRankingLoss(margin: float = 1.0, reduction: str = 'mean')[源代码]

基础:MarginPairwiseLoss

软成对铰链损失(即软边际排序损失)。

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

其中 \(k\) 是正三元组,\(\bar{k}\) 是负三元组,\(f\) 是交互函数(例如, pykeen.models.TransE\(f(h,r,t)=-||\mathbf{e}_h+\mathbf{e}_r-\mathbf{e}_t||_p\)), \(g(x)=\log(1 + \exp(x))\) 是 softmax 激活函数,\(\lambda\) 是边界。

另请参阅

当选择margin=0`时,这个损失等同于pykeen.losses.SoftMarginRankingLoss。 它也与pykeen.losses.MarginRankingLoss密切相关,只是这个损失 使用了softmax激活函数,而pykeen.losses.MarginRankingLoss使用了ReLU激活函数。

初始化损失。

Parameters:
  • margin (float) – 边距,参见 MarginPairwiseLoss.__init__()

  • reduction (str) – 缩减方式,参见 MarginPairwiseLoss.__init__()

属性摘要

hpo_default

优化损失超参数的默认策略

属性文档

hpo_default: ClassVar[Mapping[str, Any]] = {'margin': {'high': 3, 'low': 0, 'type': <class 'float'>}}

优化损失超参数的默认策略