graph embedding 使用方法

Posted allen-rg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了graph embedding 使用方法相关的知识,希望对你有一定的参考价值。

无论是network embedding 还是graph embedding都是通过节点(node)和边的图,学出每个节点的embedding向量。

比较流行的算法有:

ModelPaperNote
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:算法原理,实现和应用

 

一般的应用框架如下:

1、构建图: Item和item的共现相似矩阵可以构成一个网络,其中每个item都是节点,相似度达到一定阈值的两个item直接有边连接,相似度达不到阈值的不连接。

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

deepwalk 选择下一步的概率为该节点连接的所有的边的相似度值取softmax, 也就是scale到0~1的概率值。node2vec 方法结合了DFS和BFS的方式。

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

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

 

总结链接:https://github.com/shenweichen/GraphEmbedding

 

以上是关于graph embedding 使用方法的主要内容,如果未能解决你的问题,请参考以下文章

几种常见的Graph Embedding方法

graph embedding第一篇——deepwalk and line

Graph Embedding:工业界常用的6种图表示学习方法

CS224W摘要10.Knowledge Graph Embeddings

论文解读:(TransH)Knowledge Graph Embedding by Translating on Hyperplanes

Graph Embedding: metapath2vec算法