DeepWalk: Online Learning of Social Representations 论文笔记
# 摘要
本文是自己在阅读论文中进行的记录,单纯的看,感觉没有搞很明白,所以写出来。
本篇论文主要介绍了如何把自然语言处理模型word2vec的方法应用到网络的节点表示中,通过word2vec的方法把网络学习为向量的潜层表示,能把网络中的联系编码到连续的向量空间中,这样网络的关系就能够很方便的通过各种统计模型来对这些网络中的联系进行各种应用。
关于Word2vec的方法详情请见各大博客,例如http://shomy.top/2017/07/28/word2vec-all/和https://blog.****.net/itplus/article/details/37969519
论文链接: http://www.perozzi.net/publications/14_kdd_deepwalk.pdf
github代码链接:https://github.com/phanein/deepwalk
作者的slide:http://www.perozzi.net/publications/14_kdd_deepwalk-slides.pdf
# 前言
普通的邻接矩阵在存储的关系很多时,纬度将变得很高,而进行矩阵分解是一个相当费时复杂的过程,因此通过矩阵分解的方法进行网络的表示学习,目前并没有应用到大尺度数据集的方案。
本文通过将已经成熟的自然语言处理模型word2vec应用到网络的表示上,做到了无需进行矩阵分解即可表示出网络中的节点的关系。
DeepWalk把对图中节点进行的一串随机游走类比于word2vec中对单词的上下文,作为word2vec算法的输入,进而把节点表示成向量。输出的结果能够被多种分类算法作为输入应用。
## 主要成果
* 通过对网络进行短随机游走生成了可以被统计模型应用的网络表示
* 所学得的表示在多标签分类任务中,性能优于已有算法。某些情况下,甚至能在训练样本较少时获得更好结果。
* 能对web-scale下的网络进行表示
## 目标问题
输入:一个图的点集和边集
输出:对于GL=(V,E,X,Y)(其中X是特征,Y标签集合),一般的机器学习问题,需要学习一个从X映射到Y的hypothesis。而本文的任务就是学习得到X的低维表示。摘自DeepWalk:Online Learning of Social Representations》笔记
## 理论支持
自然语言已经被证明是复合幂次定律,只需要证明图的数据也符合幂次定律就可以对图的表示应用对自然语言表示的方法。下图比较了对图进行短随机游走中向量出现的频率与单词在文本信息中出现的频率。发现对图的短随机行走也是大致满足幂次定律的。
# 算法介绍
## 算法一:短随机游走生成
将输入的图的点集进行随机打乱(Shuffle()函数),然后输入到SkipGram算法中进行表示学习。
## 算法二:word2vec中SkipGram算法
算法整体流程(图源)
# 实验
## 多标签分类
数据集:
- BlogCatalog [39] is a network of social relationships provided by blogger authors. The labels represent the topic categories provided by the authors.
-
Flickr [39] is a network of the contacts between users of the photo sharing website. The labels represent the
interest groups of the users such as ‘black and white photos’. -
YouTube [40] is a social network between users of the popular video sharing website. The labels here
represent groups of viewers that enjoy common video genres
baseline:
* SpectralClustering
* Modularity
* EdgeCluster
* wvRN
* Majority
## 参数敏感性
探究参数的变化对分类性能的影响
* 隐含表示的空间的纬度(d)和训练速率的变化。(a1和a3)
* 每个顶点的纬度和游走数量(Y)的变化。(a2和a4)
* 采样频率的影响
结束。
下面是英文很差的的我的垃圾翻译,不堪入目。