graph embedding 使用方法

不管是network embedding 仍是graph embedding都是经过节点(node)和边的图,学出每一个节点的embedding向量。node

比较流行的算法有:

Model Paper Note
DeepWalk [KDD 2014]DeepWalk: Online Learning of Social Representations 【Graph Embedding】DeepWalk:算法原理,实现和应用
LINE [WWW 2015]LINE: Large-scale Information Network Embedding 【Graph Embedding】LINE:算法原理,实现和应用
Node2Vec [KDD 2016]node2vec: Scalable Feature Learning for Networks 【Graph Embedding】Node2Vec:算法原理,实现和应用
SDNE [KDD 2016]Structural Deep Network Embedding 【Graph Embedding】SDNE:算法原理,实现和应用
Struc2Vec [KDD 2017]struc2vec: Learning Node Representations from Structural Identity 【Graph Embedding】Struc2Vec:算法原理,实现和应用

 

通常的应用框架以下:

一、构建图: Item和item的共现类似矩阵能够构成一个网络,其中每一个item都是节点,类似度达到必定阈值的两个item直接有边链接,类似度达不到阈值的不链接。git

二、游走策略: 在网络里面,从一个节点随机走到有连线的下一个节点。走若干步,就获得了一个节点的序列。github

deepwalk 选择下一步的几率为该节点链接的全部的边的类似度值取softmax, 也就是scale到0~1的几率值。node2vec 方法结合了DFS和BFS的方式。算法

三、学embedding 向量:  把随机游走的序列放到word2vec模型里面学,获得每一个节点的embedding向量。网络

四、使用学到的embedding 向量 使用机器学习方法进行分类。框架

 

总结连接:https://github.com/shenweichen/GraphEmbedding机器学习

相关文章
相关标签/搜索