常见的图embedding的方法

9 篇文章 1 订阅
3 篇文章 0 订阅

参考代码:

https://github.com/keras-team/keras/blob/master/examples/pretrained_word_embeddings.py

转:https://blog.csdn.net/k284213498/article/details/83474972

keras.layers.embeddings.Embedding(input_dim, output_dim, embeddings_initializer='uniform', embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None)

嵌入层将正整数(下标)转换为具有固定大小的向量,如[[4],[20]]->[[0.25,0.1],[0.6,-0.2]]

Embedding层只能作为模型的第一层

参数

  • input_dim:大或等于0的整数,字典长度,即输入数据最大下标+1

  • output_dim:大于0的整数,代表全连接嵌入的维度

  • embeddings_initializer: 嵌入矩阵的初始化方法,为预定义初始化方法名的字符串,或用于初始化权重的初始化器。参考initializers

  • embeddings_regularizer: 嵌入矩阵的正则项,为Regularizer对象

  • embeddings_constraint: 嵌入矩阵的约束项,为Constraints对象

  • mask_zero:布尔值,确定是否将输入中的‘0’看作是应该被忽略的‘填充’(padding)值,该参数在使用递归层处理变长输入时有用。设置为True的话,模型中后续的层必须都支持masking,否则会抛出异常。如果该值为True,则下标0在字典中不可用,input_dim应设置为|vocabulary| + 1。

  • input_length:当输入序列的长度固定时,该值为其长度。如果要在该层后接Flatten层,然后接Dense层,则必须指定该参数,否则Dense层的输出维度无法自动推断。

输入shape

形如(samples,sequence_length)的2D张量

输出shape

形如(samples, sequence_length, output_dim)的3D张量

转处:https://blog.csdn.net/ckqsars/article/details/78184834

在图计算中,如何把图中的结点进行嵌入变成可计算的值或者向量一直是现在研究所关注的问题,初次学习,记录常用的embedding的方法。 

主流方法主要有三大类: 
1)factorization methods 
2) random walk techniques 
3) deep learning 
本文主要介绍第一类和第二类中比较知名的算法,若有不足欢迎补充。 
1)factorization methods 
此类方法主要是通过用矩阵的方式去描述形成的网络,并通过矩阵分解来得到每个结点的嵌入。 
1.1) 
Locally Linear Embedding 
假设:每个网络的结点的embedding的值是和其所连接结点的线性组合,则可以表达为式(1) 
Yi≈∑jWijYj∀i∈V(1)(1)Yi≈∑jWijYj∀i∈V

因此我们可以通过(2)式得到我们想要的每个一个结点的embedding。 
ϕ(Y)=∑i|Yi−∑jWijYj|(2)(2)ϕ(Y)=∑i|Yi−∑jWijYj|

为了防止退化的基可行解(degenerate solution)<并不知道这是个什么东西,知道的人可以在评论解释下> 
进行了以下约束

 

s.t.1NYTY=I∑iYi=0s.t.1NYTY=I∑iYi=0

 

1.2) 
Laplacian Eigenmaps 
假设:如果两个结点它们之间的连边对应的权重越大,则表明这两个节点越相近,因此在embedding之后对应的值应该越相近。 因此可以得到一下最优化目标: 

ϕ(Y)=12∑i,j(Yi−Yj)2Wij=YTLYϕ(Y)=12∑i,j(Yi−Yj)2Wij=YTLY

 

其中L是对应的网络的拉布拉斯矩阵。即L=D−AL=D−A。DD 是度矩阵,AA是邻接矩阵。这个解可以被看为特征向量对应于标准化的拉布拉斯矩阵的d最小的特征值,标准拉布拉斯矩阵如下:Lnorm=D−1/2LD−1/2Lnorm=D−1/2LD−1/2

1.3)

Graph Factorization 
假设两个结点所代表的变量之积与两节点之间的变等价,因此构造目标函数如下: 

ϕ(Y,λ)=12∑(i,j)∈E(Wij−<Yi,Yj>)2+λ2∑i||Yi||2ϕ(Y,λ)=12∑(i,j)∈E(Wij−<Yi,Yj>)2+λ2∑i||Yi||2

 

1.4)

GraRep 
这个跟HOPE很相近所以直接介绍HOPE。

HOPE 
目标函数: 

|S−YsYTt||2F|S−YsYtT||F2

 

其中,S是相似度矩阵,具体见文章Asymmetric transitivity preserving graph embedding

2)random walk techniques

(未完待续)

参考文献Graph Embedding Techniques,Applications, and Performance: A Survey

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值