在Word2vec 中,提出了两种模子布局用于学习词向量,分别是 CBOW 和 Skip Gram。由于图游走类算法用的多是 skip-gram 模子,因此这里只介绍 skip-gram 模子。Skip Gram的目标很简朴,就是根据中心词,预测对应中心词的上下文词。如许做不但仅能够利用了词共现关系,同时也体现了 Word2vec的本质,即词的语义由其上下文来决定。
以下面这张图片的句子为例,假设 neighbors 为中心词,同时我们设置了window size为3. 这个窗口大小体现左右两边的上下文词数,因此 neighbors 的 context 为 uniformly from the,以及 of the last。
Skip gram 的模子布局很简朴,输入层就是中心词的 one hot 体现,经过中心一个投影层后,在输出层预测对应的context word,因此最后一层就是一个softmax分类层。
需要补充的一点是,使用 Skipgram语言模子的本质并不是为了说多么准确的预测 context words,而是为了得到模子的副产物,也就是词向量。
通常在训练结束后,隐层的权重 W 会作为词向量矩阵。
Word2Vec模子实际上分为了两个部门:
第一部门为建立模子得到隐层参数,
第二部门是通过模子获取嵌入词向量。
Word2Vec的整个建模过程实际上与自编码器(auto-encoder)的思想很相似,即先基于训练数据构建一个神经网络,当这个模子训练好以后,我们并不会用这个训练好的模子处理新的任务,我们真正需要的是这个模子通过训练数据所学得的参数,例如隐层的权重矩阵——背面我们将会看到这些权重在Word2Vec中实际上就是我们试图去学习的“word vectors”。基于训练数据建模的过程,我们给它一个名字叫“Fake Task”,意味着建模并不是我们终极的目标。
上面提到的这种方法实际上会在无监督特性学习(unsupervised feature learning)中见到,最常见的就是自编码器(auto-encoder):通过在隐层将输入进行编码压缩,继而在输出层将数据解码恢复初始状态,训练完成后,我们会将输出层“砍掉”,仅生存隐层。
我们在上面提到,训练模子的真正目标是得到模子基于训练数据学得的隐层权重。为了得到这些权重,我们起首要构建一个完整的神经网络作为我们的“Fake Task”,背面再返回来看通过“Fake Task”我们怎样间接地得到这些词向量。
模子的输出概率代表着到我们词典中每个词有多大大概性跟input word同时出现。举个栗子,如果我们向神经网络模子中输入一个单词“Soviet“,那么终极模子的输出概率中,像“Union”, ”Russia“这种相关词的概率将远高于像”watermelon“,”kangaroo“非相关词的概率。由于”Union“,”Russia“在文本中更大大概在”Soviet“的窗口中出现。
我们将通过给神经网络输入文本中成对的单词来训练它完成上面所说的概率计算。下面的图中给出了一些我们的训练样本的例子。
我们选定句子“The quick brown fox jumps over lazy dog”,设定我们的窗口大小为2,也就是说我们仅选输入词前后各两个词和输入词进行组合。下图中,蓝色代表input word,方框内代表位于窗口内的单词。
在上述DeepWalk的算法流程中,焦点是第三步,其中唯一需要情势化界说的是随机游走的跳转概率,也就是到达节点 v i v_i vi后,下一步遍历 v i v_i vi的临接点 v j v_j vj的概率。如果物品的相关图是有向有权图,那么从节点 v i v_i vi跳转到节点 v j v_j vj的概率界说如下:
$$P(v*{j}|v*{i})=\left{\begin{matrix}
\frac{M*{ij}}{\sum*{j\in N*+(v*{i})}M*{ij}} & , v*{j} \in N*+(v*{i}),\
0&, e_{ij}\notin \varepsilon
\end{matrix}\right.$$
其中 N ∗ + ( v i ) N*+(v_i) N∗+(vi)是节点 v i v_i vi所有的出边聚集, M ∗ i j M*{ij} M∗ij是节点 v i v_i vi到节点 v j v_j vj边的权重。
如果物品相关图是无相无权重图,那么跳转概率将是上面公式的一个特例,即权重 M ∗ i j M*{ij} M∗ij将为常数1,且 N ∗ + ( v i ) N*+(v_i) N∗+(vi)应是节点 v i v_i vi所有“边”的聚集,而不是所有“出边”的聚集。
DeepWalk通过随机游走去可以获图中点的局部上下文信息,因此学到的体现向量反映的是该点在图中的局部布局,两个点在图中共有的邻近点(大概高阶邻近点)越多,则对应的两个向量之间的隔断就越短 团体架构
DeepWalk就相当于随机游走+Skip Gram+负采样的结合
情势化来讲,从节点v跳转到下一个节点x的概率为
π ∗ V X = α ∗ p q ( t , x ) ⋅ ω v x \pi *{VX}=\alpha* {pq}(t,x)\cdot \omega _{vx} π∗VX=α∗pq(t,x)⋅ωvx
其中 ω ∗ v x \omega *{vx} ω∗vx是边vx的权重, α ∗ p q ( t , x ) \alpha* {pq}(t,x) α∗pq(t,x)的界说如下:
$$\alpha _{pq}(t,x)=\left{\begin{matrix}
\frac{1}{p} & if \ d_{tx}=0 & \
1 & if \ d_{tx}=1 & \
\frac{1} {q} & if \ d_{tx}=2 &
\end{matrix}\right.$$
其中, d t x d_{tx} dtx指的是节点 t t t到节点 x x x的隔断,参数 p p p和 q q q共同控制着随机游走的倾向性。参数 p p p被称为返回参数(return parameter), p p p越小,随机游走回节点 t t t的大概性越大,node2vec就更注重表达网络的同质性,参数 q q q被称为收支参数(in-out parameter), q q q越小,则随机游走到远方节点的大概性越大,node2vec更注重表达网络的布局性,反之,当前节点更大概在附近节点游走。
上式中的p和q是算法中的超参数,通过控制两个参数来确定图的游走水平。参数p控制随机游走以多大的概率游走回上一个节点,参数q控制游走的计谋是偏向DFS还是BFS,q较大时偏向于BFS,q较小时偏向于DFS。当p=q=1时,π=w
node2vec所体现的网络的同质性和布局性在保举系统中也是可以被很直观的解释的。同质性相同的物品很大概是同品类、同属性、大概常常被一同购买的物品,而布局性相同的物品则是各品类的爆款、各品类的最佳凑单商品等拥有类似趋势大概布局性属性的物品。毫无疑问,二者在保举系统中都黑白常重要的特性表达。由于node2vec的这种机动性,以及发掘不同特性的本领,甚至可以把不同node2vec天生的embedding融合共同输入后续深度学习网络,以生存物品的不同特性信息。
因存在多版本问题(基于PGL1.2.1 paddle1.8),这部门的具体实现参考链接:图学习【参考资料2】-知识补充与node2vec代码注解 https://aistudio.baidu.com/aistudio/projectdetail/5012408?contributionType=1
结果展示:
代码语言:txt
复制
由于Reddit comments 数据集的文件太多,所以这里略过了,如果需要大概感爱好的话,可以从文末的毗连进入检察。
相关论文:
Rossi, R. A. , & Ahmed, N. K. . (2015). The Network Data Repository with Interactive Graph Analytics and Visualization. Twenty-ninth Aaai Conference on Artificial Intelligence. AAAI Press.
4.1.3.生物化学布局(PPI、NCI-1、NCI-109、MUTAG、QM9、Tox21)
NCI-1、NCI-109和MUTAG是关于化学分子和化合物的数据集,原子代表结点,化学键代表边。NCI-1和NCI-109数据集分别包含4100和4127个化合物,labels是判定化合物是否有拦阻癌细胞增长得性质。MUTAG数据集包含188个硝基化合物,labels是判定化合物是芳香族还是杂芳族。
QM9数据集包括了13万有机分子的构成,空间信息及其对应的属性. 它被广泛应用于各类数据驱动的分子属性预测方法的实行和对比。
Toxicology in the 21st Century 简称tox21,任务是使用化学布局数据预测化合物对生物化学途径的干扰,研究、开发、评估和翻译创新的测试方法,以更好地预测物质怎样影响人类和情况。数据集有12707张图,12个labels。
文件构成
PPI数据集的构成:
代码语言:txt
复制
Arxiv ASTRO-PH(天体物理学)协作网络是来自电子版预影印平台arXiv,涵盖了提交到Astro Physics种别的论文,包含了不同作者之间的科学相助信息。 如果作者i与作者j共同撰写了论文,则该图包含从i到j的无向边。 如果论文由k位作者共同撰写,则将在k个节点上天生完全毗连的(子)图。
数据涵盖了1993年1月至2003年4月(124个月)期间的论文。 它始于arXiv建立后的几个月内,因此基本上代表了其ASTRO-PH部门的完整汗青。
ArXiv数据集的结点数为18772,边条数为198110。
相关论文
J. Leskovec, J. Kleinberg and C. Faloutsos. Graph Evolution: Densification and Shrinking Diameters. ACM Transactions on Knowledge Discovery from Data (ACM TKDD), 1(1), 2007.