[论文笔记]DeepWalk: Online Learning of Social Representations
这是一个记录自己学习GNN的笔记,只有一个大概总结加上一些自己的想法,并没有将全文通篇翻译。
Abstract
DeepWalk从图网络中学习节点的潜在表示(latent representations),这些表示能够被经典的统计模型利用。
(也可以看做是一个表示学习的过程叭,从图中学习节点的语义嵌入)
DeepWalk将语言模型中词序列和无监督的特征学习的思想引入图中。DeepWalk通过将随机游走等同于句子,从截断的随机游走中学习潜在表示。
(其实就是把节点看做是词,随机游走得到的节点序列看做是词序列,然后运用word2vec的思想,得到节点的embedding)
我们将DeepWalk获得的潜在表示运用在一些多标签网络分类任务上,结果表明DeepWalk仅使用局部信息就能够优于其他全局视图的baselines。尤其是在存在缺少信息,标签数据稀疏的情况下。
(这也符号图网络的特征)
DeepWalk是可扩展的,它是一个在线学习的算法,能够得到递增的结果,并且可以并行执行。
Introduction
我们提出了一个算法DeepWalk,它能通过短的随机游走序列学习图节点的潜在表示,这些表示特征是连续的、低维的、稠密的向量。DeepWalk将一个图作为输入,产生一个潜在表示作为输出。
下图为DeepWalk应用在Karate network(空手道俱乐部数据集)上的表现。(a)图的颜色通过聚类(无监督)得到。DeepWalk将graph的每个节点编码为一个d维向量(embedding),然后从d维中选出2维画出了图(b)。可以看出,在图网络上具有相似的节点,在embedding上也具有相似性。并且它还线性可分。

除此之外,DeepWalk在异质图上的多标签网络分类问题也表现的很好。这是因为它打破了传统的独立同分布假设,捕获了图中的社群、连接、结构信息,节点和节点之间是存在依赖的。
Problem Definition
传统的机器学习分类是学习一个假设H,能够将元素X映射到标签集y中,但很明显图数据没有办法这么做,所以我们需要学习一种表示能够捕获图中的拓扑结构。目标是学习 X E ∈ R ∣ V ∣ × d X_{E} \in R^{\left | V \right | \times d} XE∈R∣V∣×d,|V|是节点个数,d是向量维数。这些低维、连续、稠密的向量就可以输入到任何分类算法中使用了。
(所以整篇文章的目的就是把图转换为embedding向量)
Learning social Representations
Random Walks
随机游走是一个局部的搜索过程,依靠从短随机游走中获得的信息,可以在不需要全局重新计算的情况下,适应图结构的微小变化。
Connection: Power laws
自然语言中的词频、短随机游走中顶点的频率都遵循幂律分布(二八定律),出现频率为百分之八十的词的数量只占百分之二十。

Language Modeling
参考了word2vec中的skip-gram的思想,通过中心词预测上下文的词,即通过中间节点预测周围领域的节点出现的概率。
我们定义了一个节点到向量映射函数 ϕ \phi ϕ,可以把它看成是一个大表, ϕ ( v ) \phi(v) ϕ(v)就是一个节点v对应的向量。一个窗口 ω \omega ω,为上下文的长度,也就是节点周围的长度。
DeepWalk的损失函数如下,我们需要最大化这个似然估计,找出合适的
v
i
v_{i}
vi的embedding使得周围节点出现的概率最大,式子中Pr可化成相乘的形式。Pr的公式也同样参考skip-gram中的公式表达,先计算两个向量的内积再取softmax,得到在已知
v
i
v_{i}
vi的embedding的情况下,其他节点的概率。


一篇说明skip-gram和deepwalk的文章:skip-gram
Method
DeepWalk的基本思路是先对每个节点用随机游走获得相应的随机游走序列(游走的深度是可以自己设定的),然后将序列看做是句子,节点看做是词,按照skip-gram的想法生成节点的embedding。
Algorithm: Deep Walk

SkipGram

由于计算损失函数时,需要计算除
v
i
v_{i}
vi之外的所有节点出现的概率,这个计算量有
O
(
∣
V
∣
)
O(|V|)
O(∣V∣),文中通过分层softmax使得计算复杂度降至
O
(
l
o
g
∣
V
∣
)
O(log|V|)
O(log∣V∣)。
Hierarchical Softmax
将节点分配至二叉树的叶子节点,将节点概率问题转换为路径的概率问题。如图所示,每个非叶结点就是一个逻辑回归的二分类器,所以周围节点的概率为路径上的概率相乘。


Optimization
模型的参数是节点的embedding表 ϕ \phi ϕ和逻辑回归的参数 ψ \psi ψ,通过随机梯度下降来优化参数。
Conclusion
DeepWalk是通过每个节点的随机游走序列构建自己的语料库,再优化每个节点与其上下文节点共同出现的概率,来不断迭代节点的embedding值,最终得到训练好的表 ϕ \phi ϕ。这个算法是针对每个节点的embedding进行优化的,对于新加入的节点,则需要重新进行训练,得到相应的embedding值。
DeepWalk是一种图学习算法,通过随机游走生成节点的潜在表示,用于捕捉图的拓扑结构。它将语言模型中的思想应用于图,无需全局信息就能在多标签网络分类任务中取得良好效果。算法通过优化节点嵌入,实现在线扩展和并行处理。

1万+

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



