Graph Embedding
1.Graph Embedding
1.1 Deep Walk
通过随机游走得到每个节点的序列
(a):embedding的值不能过于大
(b):训练迭代次数的影响会越来越小
通过算出来的值,可以把节点分为三类
1.2 LINE
一阶相似性:两个节点连接且边的权重比较大,那么他们的embedding应该是相似的。用KL求联合概率密度和经验概率密度的距离,越小说明embedding的值效果越好。
二阶相似性:节点的邻居,共享邻居的节点可能是相似的。每个节点有两个向量表示,u:顶点本身的表示向量
u’︰该点作为其他节点邻居时的表示向量。简化的思想相似。
一阶二阶embedding训练完成之后,如果将first-order和second-order组合成一个embedding
1.3 node2vec
1.3.1 有策略的随机游走
1.3.2 算法展示
1.3.3 不同的p、q值对结果的影响
DFS,即q值小,探索强。会捕获homophily同质性节点,即相邻节点表示类似
BFS,即p值小,保守周围。会捕获结构性,即某些节点的图上结构类类似
k:邻居数量
1.3.4 边的embedding
1.4 Strc2vec
1.4.1 结构相似性
不用考虑节点之间和周围节点的连接性,只考虑这两个节点的相似性
1.4.2 构建多层带权重图
1.4.3 顶点采样序列
结论
Struc2vec适用于节点分类中,其结构标识比邻居标识更重要时。采用Struc2vec效果好
1.5 SDNE
SDNE:Structural Deep Network Embedding
之前的Deepwalk,LINE,node2vec,struc2vec都使用了浅层的结构,浅层模型往往不能捕获高度非线性的网络结构。即产生了SDNE方法,使用多个非线性层来捕获node的embedding