RESCAL
- class RESCAL(*, embedding_dim: int = 50, entity_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function uniform_>, relation_initializer: str | ~typing.Callable[[~torch.Tensor], ~torch.Tensor] | None = <function uniform_>, regularizer: str | ~pykeen.regularizers.Regularizer | type[~pykeen.regularizers.Regularizer] | None = None, regularizer_kwargs: ~collections.abc.Mapping[str, ~typing.Any] | None = None, **kwargs)[源代码]
基础类:
ERModel[Tensor,Tensor,Tensor]来自[nickel2011]的RESCAL实现。
RESCAL模型通过\(d\)维向量表示实体,通过\(d \times d\)维矩阵表示关系,两者都存储在
Embedding中。RESCALInteraction函数用于从中获取分数。注意
对于\(E\)个实体和\(R\)个关系,此模型需要\(Ed + Rd^2\)个参数。
初始化RESCAL。
- Parameters:
embedding_dim (int) – 实体嵌入维度 \(d\)。通常为 \(d \in [50, 300]\)。
entity_initializer (str | Callable[[Tensor], Tensor] | None) – 实体初始化函数。默认为
torch.nn.init.uniform_()relation_initializer (str | Callable[[Tensor], Tensor] | None) – 关系初始化函数。默认为
torch.nn.init.uniform_()regularizer (str | Regularizer | type[Regularizer] | None) – 正则化器。默认为
pykeen.models.RESCAL.default_regularizerregularizer_kwargs (Mapping[str, Any] | None) – 正则化器的额外基于关键字的参数
kwargs – 剩余的关键字参数将转发到
ERModel
另请参阅
OpenKE RESCAL的实现
属性摘要
优化模型超参数的默认策略
由[nickel2011]为RESCAL使用的LP设置
属性文档