网络嵌入方法(Network Embedding)旨在学习网络中节点的低维度潜在表示,所学习到的特征表示可以用作基于图的各种任务的特征,例如分类,聚类,链路预测和可视化。
常用的Graph Embedding方法有:
1、DeepWalk
是第一个被提出来使用表示学习(或深度学习)社区的技术的网络嵌入方法。DeepWalk 通过将节点视为单词并生成短随机游走作为句子来弥补网络嵌入和单词嵌入之间的差距。然后,可以将诸如 Skip-gram 之类的神经语言模型应用于这些随机游走以获得网络嵌入。
2、Node2Vec
是 DeepWalk 的扩展,它引入了一个偏向的随机步行程序,结合了 BFS 风格和 DFS 风格的邻域探索。
3、LINE
采用广度优先搜索策略来生成上下文节点:只有距离给定节点最多两跳的节点才被视为其相邻节点。 此外,与 DeepWalk 中使用的分层 softmax 相比,它使用负采样来优化 Skip-gram 模型。
4、 TransE
直观含义,就是TransE基于实体和关系的分布式向量表示,将每个三元组实例(head,relation,tail)中的关系relation看做从实体head到实体tail的翻译,通过不断调整h、r和t(head、relation和tail的向量),使(h + r) 尽可能与 t 相等,即 h + r = t。
参考:
网络表示学习综述:一文理解Network Embedding
TransE算法(Translating Embedding)
转自:知识图谱论坛