渣渣的deepwalk之旅
刚开始学习网络表示学习,看完《Deepwalk Online learning of social representations》后,打算去github上下载源码并自己测试,实现deepwalk算法,结果就开始漫长的修正bug之路:
- 对deepwalk论文的理解
- 源码和数据集
- 各种库函数安装失败(scipy和gensim)
- 成功运行
对deepwalk论文的理解
《DeepWalk: Online Learning of Social Representations - Bryan Perozzi》 —— [ 论文下载 ]
首先,感觉这篇论文的亮点在于作者观察到文本语料中词语出现的频率和随机游走的网络上节点被访问到的次数都服从幂律分布(zipf),这成为deepwalk成立的前提。所以可以把节点作为单词,随机游走的路径作为句子,输入到word2vec中训练得到节点的向量表示。所以缺点应该是没有明确的优化目标函数,所以给后面人提供很大改进空间。
这 篇文章着重于实践部分,对论文的理解不详细解释,我看过这篇博客,觉得讲的不错:http://blog.youkuaiyun.com/wolfblood_zzx/article/de