DeepWalk&Node2Vec
1.DeepWalk、
把word2vec应用到图中
一个醉汉在图中随机游走,采样出若干个随机序列。
假设:相邻节点应该具有相似地embedding
解决图嵌入问题,将节点编码为d维向量(无监督学习)
图嵌入中隐式包含了graph中的社群、连接、结构信息,可用于节点分类等下游任务(监督学习)
Skip-gram 和 CBOW 模型是两种常用的word2vec的模型
如果是用一个词语作为输入,来预测它周围的上下文,那这个模型叫做『Skip-gram 模型』
而如果是拿一个词语的上下文作为输入,来预测这个词语本身,则是 『CBOW 模型』
与word2vec类似,用节点1预测周围节点就是Skip-gram 模型
机器语言无法识别语言,需要将句子或者单词编码为向量
下图目标:将词编码为向量,可以反映词与词之间的关系(性别关系、时态关系、国家和首都的关系)
『Skip-gram 模型』:中心词预测周围词
『CBOW 模型』:周围词预测中心词。
为什么要用周围词预测中心词?:因为,word2vec的假设是临近词是相似的,相关联的。因此可以自监督地有效提取词向量。这些词向量可以反映相似性。
以Skip-gram 模型为例:
1.1 deepwalk官方:
1.1.1 提取特征
降维
优点:
- 可扩展,增量学习。在线学习算法,新加入节点后无须重新训练,只须把新的关联数据采样下来增量训练即可
- 套用自然语言模型
- 效果不错,特别是在稀疏标注的图分类任务上
1.1.2 语言模型
词嵌入是热点研究
词频呈现长尾分布或二八分布:少部分词出现的频率很高,大部分词出现的频率很低
1.1.3 deepwalk
分为五个步骤
- 输入图
- 随机游走采样
- 图嵌入
- softmax(分类较多)
- 得到每个节点的向量表示
随机游走采样
计算条件概率
分层分类,每个节点是一个逻辑回归(工程应用)
参数优化有两次
1.1.4 评估
deepwalk在标注比例非常少的情况下表现非常好
可扩展,并行计算
1.1.5 展望
streaming:不需要知道图的全貌,可扩展
non-random walks:可以不随机,设置一些游走偏好优化随机游走的生成 ;把图当作语言,二者相辅相成
1.2 讨论
初级图机器学习算法
1.3 DeepWalk论文精读
DeepWalk: Online learning of social representation
用于图节点嵌入的在线机器学习算法
将图中节点编码为向量用于统计模型
1.3.1 Introduction
网络和图是比较稀疏的,如14亿人的社交网络,每个人只认识几百人,每个节点的连接是比较稀疏的。这种稀疏性使得一些离散算法(计算最短路径,计算传染病的传染过程等与路径相关的)的表现较好;而统计机器学习模型去进行分类或回归效果交叉,因为统计机器学习模型希望每个特征都有用,不希望很多特征都是0。
deepwalk学习到网络的连接结构信息,包含邻域信息和社群信息,表示为连续稠密低维向量。稠密指的是每一个元素都不为0。(14亿人的社交网络,每个节点的向量不是14亿维,而是十几维或者几十维,且每个元素不为0)
DeepWalk的输入是图,输出是每个节点的embedding。原图中相近的点,嵌入后向量是相似的。
异质图:节点和连接有多种类型
传统机器学习,数据集满足独立同分布(i.i.d.假设);而图中节点之间有连接,不满足该假设。
Deepwalk是