基础知识(四)——TransR和决策树

Trans

简介

TransR(Translation in Relation Space)是一种知识图谱嵌入(Knowledge Graph Embedding, KGE)模型、它是TransE模型的扩展、通过将实体和关系映射到不同的向量空间、显著提升了多类型关系(如1-to-1、1-to-N、N-to-1、N-to-N)的建模能力。

核心思想

  • 将实体嵌入到实体空间、关系嵌入到关系空间(实体空间的维数与关系空间的维数不相等)
  • 每个关系对应一个投影矩阵、将实体从实体空间投影到关系空间、再进行语义计算

例:假设实体对(h,r,t) 、首先根据当前的关系r 将头尾实体分别映射到关系空间中hr、tr、然后在关系空间中建模

其中hr、tr的计算公式分别为。投影矩阵的评价函数为,得分越高(越接近0),则投影矩阵的质量越高。

训练方法

负采样:生成错误三元组(如随机替换头或尾实体)。

损失函数(边际函数)

γ为边际超参数,控制真样本和负样本的区分度, 表示负样本。

优化算法:随机梯度下降。

向量和矩阵

初始化

1)初始随机化

实体向量(维度d)和关系向量(维度k),从均匀分布或正态分布对向量进行初始化,例如:

import torch
entity_embedding = torch.randn(num_entities, d)  # 实体向量
relation_embedding = torch.randn(num_relations, k)  # 关系向量

关系投影矩阵

每个关系r都对应一个初始化矩阵,例如:

projection_matrices = torch.randn(num_relations, k, d)  # 所有关系的投影矩阵

2)预训练初始化

TransE等简单模型的预训练结果初始化实体和关系向量,加速收敛。

训练过程

目标:正样本三元组得分高于负样本三元组

1)定义损失函数(边际函数)

实体向量,梯度;关系向量,梯度,投影矩阵,梯度

2)更新步骤(α为学习率)

更新实体向量,更新关系向量

更新投影矩阵

直到损失函数不再发生变化。

 决策树

 

posted @ 2025-05-16 19:06  ゆきキラ  阅读(9)  评论(0)    收藏  举报