论文解读(GraRep)《GraRep: Learning Graph Representations with Global Structural Information》
论文题目:《GraRep: Learning Graph Representations with Global Structural Information》
发表时间: CIKM
论文作者: Shaosheng Cao; Wei Lu; Qiongkai Xu
论文地址: Download
Github: Go
Abstract
在本文中,我们提出了一种新的学习加权图顶点表示的GraRep模型。该模型学习低维向量来表示出现在图中的顶点,与现有的工作不同,它将图的全局结构信息集成到学习过程中。
1. Introduction
先引入 NE 的概念,然后介绍一下 DeepWalk ,但是作者抛出了一个问题,虽然 DeepWalk 确实有效果,但是为什么这么定义损失函数就可以得出效果呢?损失函数的可解释性并没有在 DeepWalk 论文中被谈及。
文中提到 skip-gram 模型其实就是用来量化两个节点的
另一种方法 LINE,则是根本无法获取到
本文的大致思路是通过矩阵分解的(matrix factorization)方法分别学习网络节点的
总结一下贡献:
-
- 提出学习图节点潜在向量表达的模型,能够捕获全局结构信息
- 从概率观点对 DeepWalk 中同一采样的理解
- 分析了负抽样相关的 Skip-Gram 模型的不足。
2. RELATED WORK
2.1 Linear Sequence Representation Methods
由 streams of words 组成的 Natural language corpora 可以看作是特殊的图结构,即 linear chains。目前,学习单词表征的方法有两种主要方法:neural embedding methods 和 matrix factorization based approaches 。
Neural embedding methods 采用 a fixed slide window 去捕捉当前单词的上下文词,例子: skip-gram。
虽然这些方法可能在某些任务上产生良好的性能,但由于它们使用单独的 local context windows ,而不是 global co-occurrence counts,因此它们在某些情况很差地捕获有用的信息。另一方面,矩阵分解的方法可以很好的利用 global statistics。
2.2 Graph Representation Approaches
经典的降维方法:
multidimensional scaling (MDS)、IsoMap 、LLE 、and Laplacian Eigenmaps 。
举例描述最近的一些 Graph Representation Approaches 。
3. Grarep model
3.1 Graphs and Their Representations
Definition 1. (Graph) A graph is defined as
Some definitions:
-
? :adjacency matrix 。对于无权图:??,?=1 if and only if there exists an edge from?? to?? , and??,?=0 otherwise。对于带权图:??,? is a real number called the weight of the edge??,? 。? :diagonal matrix。
定义从一个顶点
该公式可以参考《邻接矩阵、度矩阵》
Definition 2. (Graph Representations with Global Structural Information) Given a graph
在本文中,全局结构信息有两个功能:
- the capture of long distance relationship between two different vertices
- the consideration of distinct connections in terms of different transitional steps.
为了验证这一点,Figure 1 给出了一些说明性的例子,说明了 k-step (对于 k=1、2、3、4 )关系信息的重要性,这些信息需要在顶点 A1 和 A2 之间捕获。
Here, (a) and (e) show the importance of capturing the simple 1-step information between the two vertices which are directly connected to each other, where one has a stronger relation and the other has a weaker relation.
In (b) and (f), 2-step information is shown, where in (b) both vertices share many common neighbors, and in (f) only one neighbor is shared between them. Clearly, 2- step information is important in capturing how strong the connection between the two vertices is – the more common neighbors they share, the stronger the relation between them is.
In (c) and (g), the importance of 3-step information is illustrated. Specifically, in (g), despite the strong relation between A1 and B, the relation between A1 and A2 can be weakened due to the two weaker edges connecting B and C, as well as C and A2. In contrast, in (c), the relation between A1 and A2 remains strong because of the large number of common neighbors between B and A2 which strengthened their relation. Clearly such 3-step information is essential to be captured when learning a good graph representation with global structural information.
Similarly, the 4-step information can also be crucial in revealing the global structural properties of the graph, as illustrated in (d) and (h). Here, in (d), the relation between A1 and A2 is clearly strong, while in (h) the two vertices are unrelated since there does not exist a path from one vertex to the other. In the absence of 4-step relational information, such important distinctions can not be properly captured.总结:一阶邻居带来的信息很重要,k-step 之间的邻居信息受到中间邻居之间的影响。
现在思考是否考虑对不同的 k-step 进行区别对待?当然。
我们认为,在学习图表示时,区别对待不同的 k-step 信息是必要的。我们在 Figure 2 的 (a) 中提供了一个简单的图。让我们重点学习图中 A 顶点的表示。我们可以看到, A 在学习其表示时接收到两种类型的信息:来自 B 的 1-step 信息,以及来自所有 C 顶点的 2-step 信息。我们注意到,如果我们不区分这两种不同类型的信息,我们可以构建一个替代图,如 Figure 2 中的(b)所示,其中 a 接收的信息与 (a) 完全相同,但具有完全不同的结构。
3.2 Loss Function On Graph
现在考虑从顶点
我们可以观察到,
其中,
那么优化目标就是:对于任意的一个
本文使用了 NCE 损失函数来反应这种特性,损失函数的定义是:
其中
对于
-
- 前项中的
?(?⃗ ⋅?⃗ ) 理解为 Graph 中节点对(?,?) 共同出现的概率,要最大化这个值。 - 后项中的
?(−?⃗ ⋅?⃗ ) 理解为 对于任意选取的节点?′ 所形成的(?,?′) 要最小化其出现的概率,最小化其出现概率就是最大化?(−?⃗ ⋅?⃗ ) 。
- 前项中的
对于
对于
-
??(?) 是网络中节点的概率分布。negative sampling 部分实际上就是节点?′ 服从??(?) 分布时(?,?) 不出现的期望。对于随机采样的一个节点?′ ,如果正好选到了正确的节点? ,那么对应的就是(2) 中前项;如果没有选到? ,那么对应的就是(2) 中后项。因此对于一个特定的(?,?) 组合对来说,损失函数表达如下:
文中提到:随着
计算
其中:
将
我们令
推导过程如下:
令
那么
最终得到:
其中
这得出结论,我们基本上需要将矩阵
之前的工作是为了找到这样一个矩阵
3.3 Optimization with Matrix Factorization
为了降低误差,将矩阵
这里采用
其中
接下来用SVD方法将矩阵
因为最终的网络表示要求是
其中:
最后得到:
其中:
4. Algorithm
Step 1. Get
Step 2. Get each
Step 3. Concatenate all
CONCLUSIONS
除了公式多,其他没啥...............那天心情好了补完。
更多内容可以参考
https://zhuanlan.zhihu.com/p/46446600
https://blog.csdn.net/weixin_40675092/article/details/118225889
『总结不易,加个关注呗!』
__EOF__