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機器學習

相關文章
相關標籤/搜索