TransH
- class TransH(*, embedding_dim: int = 50, scoring_fct_norm: int = 2, power_norm: bool = False, entity_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function xavier_normal_>, regularizer: str | ~pykeen.regularizers.Regularizer | type[~pykeen.regularizers.Regularizer] | None = None, regularizer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, relation_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function xavier_normal_>, relation_regularizer: str | ~pykeen.regularizers.Regularizer | type[~pykeen.regularizers.Regularizer] | None = None, relation_regularizer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, **kwargs)[来源]
基础类:
ERModel[Tensor,tuple[Tensor,Tensor],Tensor]TransH 的一个实现 [wang2014]。
该模型将实体表示为\(d\)维向量,将关系表示为超平面内的法向量和平移对的组合。它们存储在
Embedding中。然后,这些表示被传递给TransHInteraction函数以获得分数。另请参阅
OpenKE TransH的实现
初始化TransH。
- Parameters:
embedding_dim (int) – 实体嵌入维度 \(d\)。通常为 \(d \in [50, 300]\)。
scoring_fct_norm (int) – 与
torch.linalg.vector_norm()一起使用的范数。通常为1或2。power_norm (bool) – 是否使用\(L_p\)范数的p次方。它的优点是在0附近可微分,并且在数值上更稳定。
entity_initializer (str | Callable[[Tensor], Tensor] | None) – 实体初始化函数。默认为
pykeen.nn.init.xavier_normal_()。regularizer (str | Regularizer | type[Regularizer] | None) – 实体正则化器。默认为
pykeen.models.TransH.regularizer_default。regularizer_kwargs (Mapping[str, Any] | None) – 实体正则化器的基于关键字的参数。如果 entity_regularizer 为 None,则将使用
pykeen.models.TransH.regularizer_default_kwargs中的默认值。relation_initializer (str | Callable[[Tensor], Tensor] | None) – 关系初始化函数。默认为
pykeen.nn.init.xavier_normal_()。relation_regularizer (str | Regularizer | type[Regularizer] | None) – 关系正则化器。默认为
pykeen.models.TransH.relation_regularizer_default。relation_regularizer_kwargs (Mapping[str, Any] | None) – 关系正则化器的基于关键字的参数。如果 relation_regularizer 为 None,则将使用
pykeen.models.TransH.relation_regularizer_default_kwargs中的默认值。kwargs – 剩余的关键字参数传递给
ERModel
属性摘要
优化模型超参数的默认策略
默认正则化类的默认参数
[wang2014] 用于 TransH 的设置
属性文档
- hpo_default: ClassVar[Mapping[str, Any]] = {'embedding_dim': {'high': 256, 'low': 16, 'q': 16, 'type': <class 'int'>}, 'scoring_fct_norm': {'high': 2, 'low': 1, 'type': <class 'int'>}}
优化模型超参数的默认策略