1. DeepWalk
DeepWalk算法开创性的将NLP领域词嵌入的思想引入了图结构,基于Word2vec模型,将图中各节点用一个低维向量表示。为了配合Skip-gram模型的输入要求,DeepWalk算法中利用Random walk采样方法来对每一节点进行采样,将采样得到的节点序列当作NLP中的语句送入Skip-gram模型进行训练,从而得到各节点的d-dim低维嵌入式表示。
2. Node2vec
Node2vec算法是一种利用深度学习算法将图中节点用低维度向量(d-dim)表现出来的图嵌入算法。Node2vec算法的基本思想与DeepWalk算法思想一致,都是对图中的节点进行采样,将采样后的节点当作语料送入Word2vec模型中进行学习预测并最终得到各节点的嵌入式表达;Node2vec算法的进步之处在于利用biased random walk采样方法,通过参数P,Q的选择来对广度优先搜索BFS,和深度优先搜索DFS做出平衡,以便更好地得到节点的本地特征和全局结构特征。
3. Large-scale Information Network(LINE)
4. SDNE
SDNE (Structural Deep Network Embedding) 是一个将深度学习应用于图嵌入 (网络表示学习)的算法,可以将图结构中的网络节点用d维的向量进行表示,以便可以用于后续的分类、推荐等算法。
SDNE使用一个自动编码器 (Auto-encoder) 结构来同时学习网络的1阶相似度 (节点和其邻居的相似性) 和2阶相似度 (图网络的全局结构),学习得到的d维向量表示能够保留局部和全局结构,并且对稀疏网络具有鲁棒性。
5. 对比