对TransE、TransH模型的理解

TransE、TransH模型都是图谱中关于实体嵌入的模型,它们都是基于向量平移的模型。
它们的目的是使 h+r=t,所以它们的损失函数是比较h+r和t之间的距离,目的是使所有三元组的h+r与t的距离之和最小,我们可以定义h+r与t之间的距离是
d(h+r, t) = L(h+r-t)
L可以是一范数也可以是二范数
但是表示学习没有明确的可以监督的地方(就是不像有些数据有lable可以用来判断模型的结果正确与否,并以此来设计损失函数),虽然我们有损失函数了,但那只是都往正确的方向训练,要是加入了负样本,可以大大提高学习的质量。
加入负样本就是采用了负采样的方法,人为的创建负样本,加入了负样本后,我们就希望正样本的损失最小,而负样本的损失最大。
损失函数就变成了
min(L(h+r-t) - L(h’+r-t’))
下面是具体的tanse算法
对TransE、TransH模型的理解_第1张图片
它的损失函数是
在这里插入图片描述
在这里插入图片描述
注意这里的d()使用的是二范数,但是它没有开平方。
这个损失函数也叫合页损失函数,+代表max(0, loss),y叫margin,它的作用有正样本的distance比负样本的distance小y时,不计算loss,相应的也就不会更新参数进行梯度下降。这是因为正样本的距离小,负样本的距离大,说明现在结果很好,向量表示的可以,就没必要再更新向量表示了。
合页损失函数的概念来自于支持向量机(SVM),一种二分类模型。
transe的缺点是对于包含多的关系,它会使多的一侧表示相近,尽管多的一侧可能是完全不同的实体。tanseh解决了这个问题。他把实体的向量嵌入投影到一个超平面(比嵌入维度小一个维度的平面),这样,即使对多的一侧,只要它的投影满足h+r=t就行了,也就是说它们本身可以完全不同,但它们的投影甚至可以完全重合,如下图
对TransE、TransH模型的理解_第2张图片

你可能感兴趣的:(知识图谱,算法,概率论,自然语言处理)