常见的图embedding的方法

时间:2021-01-02 20:23:04

转处: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) 
YijWijYjiV(1)(1)Yi≈∑jWijYj∀i∈V

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

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

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

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

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

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

1.3)

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

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

1.4)

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

HOPE 
目标函数: 

|SYsYTt||2F|S−YsYtT||F2

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

2)random walk techniques

(未完待续)

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