论文研读1
[1] B. Perozzi, R. Al-Rfou, and S. Skiena. DeepWalk: Online learning of social representations. In KDD, 2014.
[2] J. Tang, M. Qu, M. Wang, M. Zhang, J. Yan, and Q. Mei. LINE: Large-scale Information Network Embedding. In WWW, 2015.
[3] Grover, Aditya, and Jure Leskovec. “node2vec: Scalable feature learning for networks.” Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2016.
[1]
1.问题的引入
文章的初衷,普通 的机器学习方法适合于小规模样本的训练,对于规模巨大的样本集来说,并不意味着性能一定同步上升。考虑到在概率图模型中,我们可以根据网络图中蕴含的结构独立性质,化简联合概率。这给了我们灵感:对于规模巨大的样本,我们也可以把这些样本映射到相应的网络中,根据网络中的结构性质,来化简训练过程,提高算法性能。这就要求,我们需要找到一种合适的节点到向量的映射策略,使得这种映射可以尽可能的捕捉到拓扑结构信息。
2. 问题的定义
令
在传统的机器学习分类场景中,哦我们的目标是学习一个分类策略。它可以将
本文提出了不同的方法,来捕获网络中的拓扑信息。采用无监督的方法,学习从图结构中捕获到的特征,这些特征与标签的分布式独立的。
这样做的好处是,结构特征与标签相互独立,避免了错误的传导,同时这种表达也可以用于该网络下的多分类问题。
3. 核心思想
DeepWalk将NLP中的模型移植到了图中.具体来说,如果把单词看作是节点,那么一个单词的上下文相当于网络中的neighborhoods,单词与单词之间的相关性相当于网络中节点与节点的边和边的权重。基于单词造成一句话,相当于在网络中随机游走的一条路线上的节点序列
我们定义
语言模型中的N-gram算法:
这个公式的意义是,给定一个单词,预测它的邻域的概率。我们希望让这个概率最大化。通过最优化这个问题,得到合适的语言模型。
由于我们希望得到的是将节点
显然的,在网络中,具有相同结构的节点,会有相近的随机游走策略,因此也会得到相近的概率。所以,上面这个最优化问题,将可以得到有效的
几点说明:算法2中的第3行隐含了公式2中条件独立性的假设。此外,第三行的这个概率表达式,本文采用了层次softmax模型。即:
文献[2]
1. introduction
1.文献24的一些问题:
1,保存的是网络的局部信息,全局信息没有保存
2,目标函数是从NLP中移植过来的,不是对网络量身定制,其合理性有待商榷
2. LINE模型
一阶近似和二阶近似:本文把直接连边作为近似判据称之为“一阶近似”,而把共享相同邻居作为近似判据称之为”二阶近似“。
3.边采样
即便有了一个优化目标,对大规模网络做优化也是一个很有挑战性的问题。目前比较好的方法是随机梯度下降。但是直接使用这个方法,在实际网路中是有问题的。这是因为在很多网络中,边的权重通常方差很大,例如对一个词对网络,词对儿出现的频率可能会从1到几千万。这些边的权重将会乘进梯度公式中,导致梯度爆炸,影响性能。为了解决这个问题,本文提出了一个精巧的边采样方法。我们根据边的权重,构造与其成比例的概率,依照这个概率对边进行采样。将采样的边当做二值边,用于模型更新。使用这种方法,优化目标仍然不变,但是边的权重不再对梯度造成影响。
3. problem definition
Definition 2. (First-order Proximity)
The first-order proximity in a network is the local pairwise proximity between two vertices. For each pair of vertices linked by an edge (u; v), the weight on that edge, wuv, indicates the firstorder proximity between u and v. If no edge is observed between u and v, their first-order proximity is 0.
Definition 3. (Second-order Proximity)
The secondorder proximity between a pair of vertices (u; v) in a network is the similarity between their neighborhood network structures. Mathematically, let
We investigate both first-order and second-order proximity for network embedding, which is defined as follows.
Definition 4. (Large-scale Information Network Embedding)
Given a large network G = (V; E), the problem of Large-scale Information Network Embedding aims to represent each vertex
4. LINE模型
4.1 LINE with First-order Proximity
for each undirected edge (i,j), we define the joint probability between vertex
这样,我们就可以得到一个最优化函数:
这个距离衡量的是两个分布的距离,因此我们可以采用KL-散度来完成:
通过找到所有的
4.2 LINE with Second-order Proximity
二节相似性适用于有向图和无向图。它表达的是,拥有相同连接点的结点彼此更为相近。这些连接点称之为“上下文”,拥有相近上下文的结点彼此更相近。
对于结点i,当它作为某些结点的上下文时,我们用
另一方面,他们的经验分布可以定义为:
这样,我们就可以得到一个最优化函数:
对于4.1节和4.2节,我们可以采取分别优化的方法,得到最终的U矩阵。也可以采用联合优化的方法,这是本文以后的工作。
[3]
1. 问题的引入
前面的两篇文献中,我们可以看见这样的结论:
结点到结点:一阶相似性;这是第一篇文献主要解决的问题
结点的邻居:二阶相似性:这是第二篇文献主要解决的问题
除此之外,我们注意到,在上面的示意图中,结点u和结点
2. 核心思想
本文的核心思想,与第一篇相似,也是基于NLP中Skip-gram算法的移植。不同的是,本文对随机游走策略做了修改。
2.1 算法核心
可以看到,算法的框架与前面的论文是相近的。需要注意的是这个
2.2 搜索策略研究
本小节的目的,是希望说明,BFS和DFS对同质性(homophily )和结构等价性(structural equivalence )的影响。由于本文的目标是希望捕获这两种性质。因此有必要研究两种基本搜索策略对这两种性质的挖掘能力。
首先简要说明什么是同质性和结构等价性:
同质性:
Under the homophily hypothesis nodes that are highly interconnected and belong to similar network clusters or communities should be embedded closely together.
结构等价性:
under the structural equivalence hypothesis nodes that have similar structural roles in networks should be embedded closely together. Importantly, unlike homophily, structural equivalence does not emphasize connectivity;
BFS对结构等价性的挖掘
通过BFS得到的nerghborhoods采样更容易感知结构等价性。直观上来说,为了确定结构等价,我们必须充分的刻画待研究结点的local neighbohoods。(请注意,我们之前说过,本文的neighborhoods与我们常见的含义不同,更像是context.因此这里用local neighborhoods来表达我们一般意义上理解的“邻居”)
例如,基于网络角色(桥还是中心结点等等)的结构等价可以通过观测直接邻居来推断。因此,通过限制搜索的范围到结点附近,BFS可以实现对每一个结点邻居的微观视角上的刻画。
BFS的另一个好处是,如果我们对每个结点都用一遍BFS,那么这意味着会有很多结点重复考察多次,这有助于提高结点分布的稳定性。当然,与之对应的缺点是,给定阈值K,我们可能只会遍历到一小部分结点。
DFS对同质性的挖掘
DFS可以所搜到距离源节点更远的地方。因此采样的结点更容易反应宏观视角,这有助于推断基于同质性的社区结构。
2.3 node2vec
随机游走:
有偏搜索
之前我们令
Intuitively, parameters p and q control how fast the walk explores and leaves the neighborhood of starting node u. In particular, the parameters allow our search procedure to (approximately) interpolate between BFS and DFS and thereby reflect an affinity for different notions of node equivalences.
结合示意图,我们可以看到参数p控制了立即折返的可能性,因此我们称它为折返系数(return parameter)。当p取值很大时,这意味着随机游走不太可能出现折返现象。反之,若p取值很小,那么折返现象会比较明显。这意味着随机游走会局限在起点周围。
参数q控制了搜索策略,直观上看,当q取值很大时,随机游走更倾向于选择距t结点较近的结点。这一过程与BFS的行为类似。反之,若q取值很小时,随机游走更倾向于选择距离t结点更远的结点,这相当于DFS。从这个角度来看,参数q表达了我们搜索的策略,是远离(outward)源节点还是接近(inward)源节点,因此我们称参数q为进出参数(in-out parameter)
通过刚才的分析,我们发现,本文通过设定不同的参数p,q,可以成功模拟BFS和DFS过程,从而捕获到网络的同质性特征和结构等价性特征。接下来我们对node2vec算法做一般性描述:
几点说明:
什么是alias sample?
问题:比如一个随机事件包含四种情况,每种情况发生的概率分别为:
最容易想到的方法:
产生0-1之间的一个随机数,如若落在0~ 1/2之间就是事件A,落在1/2-5/6之间就是事件B,落在5/6-11/12之间就是事件C,落在11/12-1之间就是事件D。
但是这样的复杂度,如果用BST树来构造上面这个的话,时间复杂度为
Alias Method
将四个事件排成4列:
按照均值1/4进行归一化:
总面积为N,将其分割为
设置两个数组:Prob和Alias.其中Prob数组存放着第i列中,事件i占的面积比例。即Prob=[2/3,1,1/3,1/3].Alias中存放着第i列中非事件i的事件标号,即Alias=[2,NULL,1,1]
产生两个随机数,第一个为1-N之间的整数,用于选择第i列。第二个随机数为0-1之间,判断其与Prob[i]的大小,如果比Prob[i]小,则采样i,否则采样Alias[i]
3. 实验
3.1 同质性和结构等价性的检验
当我们设定参数p=1,q=0.5时候,图如top。可以看到相同颜色的结点聚在一起,此时相同颜色表达的是同一个社区的概念homophily 。
当我们设定参数p=1,q=2时候,图如button。可以看到此时相同颜色表达的是同一个结构功能即结构等价性的概念 。
3.2 多标签分类
对比算法:
Spectral clustering
This is a matrix factorization approach in which we take the top d eigenvectors of the normalized Laplacian matrix of graph G as the feature vector representations for nodes.
DeepWalk
This approach learns d-dimensional feature representations by simulating uniform random walks. The sampling strategy in DeepWalk can be seen as a special case of node2vec with p = 1 and q = 1.
LINE
This approach learns d-dimensional feature representations in two separate phases. In the first phase, it learns d=2 dimensions by BFS-style simulations over immediate neighbors of nodes. In the second phase, it learns the next d=2 dimensions by sampling nodes strictly at a 2-hop distance from the source nodes。
数据集:BlogCatalog, Protein-Protein Interactions, Wikipedia
分类策略:逻辑斯蒂回归
分类效果:
说明:
什么是Macro/Micro-F1 score?
TP:正例判为正例
FP: 负例判为正例
FN: 正例判为负例
TN: 负例判为负例
准确率:
召回率:
我们现在将数据集分成N组:
Micro-准确率:
Micro-召回率:
Micro-F1 score:
Macro-准确率:
Macro-召回率:
Macro-F1 score: