transformation公式,transform 函数
传输嵌入数据
复制一个简单的python版本:复制代码
TransE算法用于表示图结构中节点和关系的嵌入表达式。CFKG是一种基于知识图像的推荐算法,它将实体和关系嵌入到图像中,用于后续的推荐任务等。同时TransE算法也是后面改进的TransD和TransH系列算法的基础。
在知识图中,一个内容可以表示为不可逆的
三元组(sub,rel,obj)
,其中sub和obj用节点表示,都是实体,rel用边表示,是关系)。(题外话:嵌入的目的是用向量来表示上面的实体和关系。当然,通过在图中给每个节点分配数字1-n,给每条边分配(n-1)-M,即使M个数字也可以唯一地表示图中的所有内容。虽然这也是嵌入的,但是为了表达这些节点和边之间的关系,很难有更多的信息。例如,上述例子中的北京和中国应该是密切相关的。这给以后使用基于距离的模型带来了很多麻烦。因此,需要一种更有效的方法来将内容嵌入显示图像中。) )
在TransE算法中,由于与各节点的关系用
相同长度的向量
表示,所以可以在实体和关系之间进行各种向量运算。为了达到上述目的,算法核心中的
优化目标
为,为(sub rel)得到的向量尽可能等于obj向量。算法简单,具体步骤如上所述。
其中1-5行
初始化
主要参照Xavier初始化选取。这个分布是初始化的,这个初始化分布的值可以参考Xavier Initialization的论文来证明。
第六行是
随机采样
minibatch变化嵌入式培训。第7-11行用于这个采样的mini batches _ batch http://www . Sina . com/(损坏的三元组),结构化过程用于给定的三元组L,T,结构化的损坏的三元组是(H(,L,T)或(H,L,T)。注意不要同时改变H和T。
第12幕
构造"负样本"
,论文采用SGD来最小化优化目标函数(或损失),并优化该函数第一距离d(h1,t)是正样本之间的距离,其必须尽可能小,第二距离d(h(l,t))是假样本之间的距离,其必须尽可能大,使得总优化函数大于零。
优化函数中的d可以是L1距离或L2距离,这是一个超级参数。为了使整体优化函数大于零,不同的距离求解如下。
L1距离:
L2距离:
……
根据上述求导结果,可以采用随机梯度下降法对优化目标函数进行优化。