图嵌入综述
图分析任务的分类:(a)节点分类(b)链接预测(c)聚类(d)可视化
真实的图(网络)往往是高维、难以处理的,嵌入的思想是在向量空间中保持连接的节点彼此靠近
图嵌入的目的是发现高维图的低维向量表示
图嵌入的方法
(1)基于因子分解的方法;
(2)基于随机游走的方法;
(3)基于深度学习的方法。
预备知识
一阶近似:边缘近似的权值也称为节点vi和vj之间的一阶近似值,因为他们是两个节点之间第一也是最重要的相似性度量。
二阶近似:一对节点之间的二阶近似描述了该对节点领域结构的相似性。
在上图中因为6和7之间有边连接,所以6和7 一阶近似。5和6之间虽然没有边,但是他们有4个相同的邻居节点,所以5和6二阶近似。
基于因子的分解方法
LLE假设每个节点都是嵌入空间中相邻节点的线性组合。如果假设图G的邻接矩阵元素代表节点j能够表示节点i的权重,我们定义:
于是我们可以通过最小化:
来求解嵌入后的图:
为了去除退化解,嵌入的方差被约束为:
考虑到平移不变性,嵌入以0为中心:
上述约束优化问题可以简化为特征值问题,其解是取稀疏矩阵
的底部d+1特征向量,并丢弃与最小特征值对应的那个特征向量。
Laplacian Eigenmaps
拉普拉斯特征映射的目的是在权重wij较高时,保持两个节点嵌入后离得较近,也就是说被分割的太远的两个相似节点会得到更多的反馈(惩罚),具体来说,就是要最小化以下目标函数:
其中L是图G的拉普拉斯算子,目标函数受到:
约束,以消除琐碎的解。
Cauchy graph embedding
拉普拉斯特征映射对对嵌入节点之间的距离使用二次方的惩罚函数:
因此,在保持节点之间的相似性的同时,节点之间的差异性会被破坏。柯西嵌入通过使用:
替换原有的惩罚函数来解决这个问题,重新排列后,要最大化的目标函数变成:
伴随着:
和
两个约束。新的目标函数是距离的反函数,因此更加强调相似的节点而不是不同的节点。
基于随机游走的方法
DeepWalk
DeepWalk方法受到word2vec的启发,首先选择某一特定点为起始点,做随机游走得到点的序列,然后将这个得到的序列视为句子,用word2vec来学习,得到该点的表示向量。Deepwalk通过随机游走可以获图中点的局部上下文信息,因此学到的表示向量反映的是该点在图中的局部结构,两个点在图中共有的邻近点(或者高阶邻接点)越多则对应的两个向量之间的距离就越短。
node2vec
与DeepWalk相似,node2vec通过最大化随机游走得到的序列中的节点出现的概率来保持节点之间的高阶邻近性。与DeepWalk最大的区别在于,node2Vec采用有偏随机游走,在广度优先(bfs)和深度优先(dfs)图搜索之间进行权衡,从而产生比DeepWalk更高质量和更多信息量的嵌入。
BFS和DFS的例子
Hierarchical representation learning for networks(HARP)
DeepWalk和node2vec随机初始化节点嵌入以训练模型。由于它们的目标函数是非凸的,这种初始化很可能陷入局部最优。HARP引入一种策略,通过更好的权重初始化来改进解决方案并避免局部最优。为此,HARP通过使用图形粗化聚合层次结构上一层中的节点来创造节点的层次结构。然后他生成最粗糙的图的嵌入,并用所学到的嵌入初始化精炼图的节点嵌入(层次结构中的一个)。它通过层次结构传播这种嵌入,以获得原始图形的嵌入。因此,可以将HARP与基于随机游走的方法结合使用,以获得更好的优化函数解。
基于深度学习的方法
Structural deep network embedding(SDNE)
SDNE建议使用深度自动编码器来保持一阶和二阶网络邻近度。它通过联合优化这两个近似值来实现这一点。该方法利用高度非线性函数来获得嵌入。模型由两部分组成:无监督和监督。前者包括一个自动编码器,目的是寻找一个可以重构其领域节点的嵌入。后者基于拉普拉斯特征映射,当相似顶点在嵌入空间中彼此映射得很远时,该映射将会受到惩罚。
半监督的SDNE模型
Deep neural networks for learning graph representations(DNGR)
DNGR结合了随机游走和深度自动编码器。该模型由3部分组成:随机游走,正点互信息(PPMI)计算和叠加去噪自编码器。在输入图上使用随机游走模型生成概率共现矩阵,将该矩阵转化为PPMI矩阵,输入到叠加去噪自动编码器中得到嵌入。输入PPMI矩阵保证了自动编码器模型能够捕获更高阶的近似度。此外,使用叠加去噪自动编码器有助于模型在图中存在噪声时的鲁棒性,以及捕获任务(如链路预测和节点分类)所需的底层结构。
Graph convolutional networks(GCN)
上面讨论的基于深度网络的方法,即SDNE和DNGR,以每个节点的全局(一行DNGR的PPMI和SDNE的邻接矩阵)作为输入。对于大型稀疏图来说,这可能时一种计算代价很高且不适用方法。图卷积网络(GCN)通过在图上定义卷积算子来解决这个问题。该模型迭代的聚合了节点的邻域嵌入,并使用在前一次迭代中学到的嵌入及其嵌入一个节点来描述全局邻域。
参考链接:https://zhuanlan.zhihu.com/p/62629465
参考链接:https://www.jianshu.com/p/c76cb0ce3c8a