废话少说,看图。就是把一个图的节点转换成二维坐标,保持坐标相近的点,在原始的图中关系也比较紧密(指边的连接关系)。我把这玩意称作Graph2Vec,差不多是这个意思吧。
/*Karate Graph好像是个经典的小数据集吧。一个空手道选手的关系图。*/
转成vector之后,再送到普通的分类器(比如LR)来处理一下即可。论文里是用来处理 multi-label network classification tasks,所以看到后面数据集和实验不要觉得很奇怪,怎么突然从unsupervised变成supervised了。只要数据全量转vector,然后用部分有label的样本训练分类器,最后预测其他无标签的样本即可。
http://leitang.net/social_dimension.html 数据集的定义
“network” is a symmetric sparse matrix representing the interaction between users, and “groups” are the groups subscribed by users。
具体算法
用random walk蒙特卡罗采样(相当于生成nlp里面的corpus),然后送到word2vec去训练,done。是的,算法介绍完了,就是这么简单。
所以代码也就这样

本文是《DeepWalk: Online Learning of Social Representations》笔记,介绍了如何将图的节点转换为二维坐标,以保持关系紧密的节点在坐标上接近。通过随机游走生成节点序列,应用word2vec训练,实现图到向量的转换。后续可以使用这些向量进行多标签网络分类任务,结合部分有标签样本训练分类器。论文提供了简单替代层次softmax的负采样方法。

2367

被折叠的 条评论
为什么被折叠?



