https://arxiv.org/pdf/1705.02801.pdf 这篇论文列举了目前graph embedding算法,将其分为“因式分解”、“随机游走”、“深度学习”三类,在不同的任务上评估其效果,最后提了点发展方向
前言定义算法分类 研究现状基于因式分解的方法 局部线性嵌入(LLE,Locally Linear Embedding)拉普拉斯特征映射(Laplacian Eigenmaps)柯西图嵌入(Cauchy Graph Embedding)结构保存嵌入(SPE,Structure Preserving Embedding)图因式分解(GF,Graph Factorization)GraRepHOPE其他的变种 基于随机游走的方法 DeepWalknode2vec网络分级表示学习(HARP,Hierarchical Representation Learning for Networks)Walklets其他的变种 基于深度学习的方法 结构深度网络嵌入(SDNE,Structural Deep Network Embedding)DNGR(Deep Neural Networks for Learning Graph Representations)图卷积网络(GCN,Graph Convolutional Networks)VGAE(Variatioinal Graph Auto-Encoders) LINE方法 应用列举发展中的算法。 Laplacian Eigenmaps->Locally Linear Embedding(LLE)->Graph Factorization->LINE->HOPE->SDNE 分成三类:因式分解、随机游走、深度学习
用于分解的矩阵包括:结点邻接矩阵、拉普拉斯矩阵、结点转移概率矩阵、ketz相似矩阵
LLE假定每个结点与邻居在embedding空间中是线性关系。 Wij W i j 是 vi v i 和 vj v j 之间的权重,则有如下定义
Yi≈∑jWijYj,∀i∈V Y i ≈ ∑ j W i j Y j , ∀ i ∈ V 则最小化下式得到嵌入 YN×d Y N × d : ϕ(Y)=∑i|Yi−∑jWijYj|2 ϕ ( Y ) = ∑ i | Y i − ∑ j W i j Y j | 2 约束 1NYTY=I 1 N Y T Y = I 和 ∑iYi=0 ∑ i Y i = 0 ,通过求解稀疏矩阵 (I−W)T(I−W) ( I − W ) T ( I − W ) 的d+1个特征向量,实现降维拉普拉斯特征映射旨在使结点间权重较大的点在嵌入空间中更近。最小化
ϕ(Y)=12∑i,j|Yi−Yj|2Wij=tr(YTLY)(1) (1) ϕ ( Y ) = 1 2 ∑ i , j | Y i − Y j | 2 W i j = t r ( Y T L Y )拉普拉斯特征映射使用二次惩罚函数,使得更强调“不相似性”,不利于局部特征表达。最大化:
ϕ(Y)=∑i,jWi,j|Yi−Yj|2+σ2 ϕ ( Y ) = ∑ i , j W i , j | Y i − Y j | 2 + σ 2拉普拉斯映射的扩展,看不懂,大概就是表达图的结构信息的
首次达到O(|E|)的时间复杂度,最小化
ϕ(Y,λ)=12∑(i,j)∈E(Wi,j−<Yi,Yj>)2+λ2∑i‖Yi‖2 ϕ ( Y , λ ) = 1 2 ∑ ( i , j ) ∈ E ( W i , j − < Y i , Y j > ) 2 + λ 2 ∑ i ‖ Y i ‖ 2定义结点转移概率为 T=D−1W T = D − 1 W ,通过最小化 ‖Xk−YksYkTt‖2F ‖ X k − Y s k Y t k T ‖ F 2 来保持第k相似性
通过最小化 ‖S−YsTTt‖2F ‖ S − Y s T t T ‖ F 2 来保持高维的相似性矩阵,用SVD来获取嵌入
PCA、LDA、ISOMAP、MDS、LPP、Kernel Eigenmaps等;ARE、TADW、HNE等
DeepWalk通过游走的方式获取第k相似度,每次获得2k+1个结点作为路径。最大化 P(vi−k,...,vi−1,vi+1,...,vi+k|Yi) P ( v i − k , . . . , v i − 1 , v i + 1 , . . . , v i + k | Y i )
node2vec和deepwalk类似,是有权的游走,结合了BFS、DFS两种搜索
DeepWalk和node2vec的目标函数非凸,可能会陷入局部最优解。HARP通过改进权重初始化来避免局部最优,对node分级聚合,将在粗糙级别的embedding用于初始化精细graph,具体embedding方式与DeepWalk、node2vec类似
DeepWalk和node2vec更注重高阶相似关系表达,而因式分解注重结点间距离表达。Walklets综合二者,通过游走中跳过一些因式分解方法筛除的结点。
GenVector、DDRW(Discriminative Deep Random Walk)、TriDNR(Tri-party Deep Network Representation)
其实就是自编码器的扩展。。。
一种自编码器,保留了一阶、二阶的网络相似性。网络由监督部分和非监督部分组成,非监督部分即自编码器用于产生结点embedding,监督部分通过拉普拉斯特征映射使相邻结点映射空间中相近
没看懂,大概就是要用共现概率矩阵做点什么。。。
SDNE和DNGR将全局邻接点输入,很费计算。GCN通过在图结构上做卷积处理这个问题,通过对各个节点迭代聚合,每次计算发生在局部区域,也更可伸缩。
在图上做自编码器,用GCN来编码。
结合一阶相似性和二阶相似性,最小化邻接矩阵和权重概率分布的KL散度
网络对比 可视化 聚类 路段预测 结点分类
补几张图:
