Deep Neural Networks for Learning Graph Representations——paper 笔记

和基于 SVD 的降维(将原始的高维空间通过线性变换隐射到低维空间上)不同,深度神经网络,比如 stacked auto-encoders 学习到的映射都是高度非线性的

论文开头,通过介绍 Deepwalk,说明如何将节点的表示转化成线性表示。 展示两种word 向量表示方法:1,负采样的skip-gram和基于PPMI矩阵的矩阵分解。

矩阵分解,利用词和词的共现矩阵来产生词向量表示,主要缺点是一些没有语义价值的如停用词,在产生词向量时发挥不成比例的作用。基于此有人提出了pointwise mutual information(PMI)矩阵。

 A stacked autoencoderPPMI矩阵是 当PMI为负值时,取0.

PPMI是个高维矩阵,可以通过 SVD 进行矩阵分解,产生 d 维因子。 U和V都是正交矩阵,中间是对角矩阵。

 

词向量可以表示为R,通过对角矩阵的top-d 得到。

Deep Neural Networks for Learning Graph Representations——paper 笔记_第1张图片

DNGR模型:

1.  提出 random surfing model 捕获 图结构信心,生成概率共现矩阵,

2.  基于概率共现矩阵计算PPMI矩阵,

3. 使用 stacked denoising autoencoder 来学习低维图节点表示。

random surfing model:

阿尔法的

将学习 unweighted 图节点 embedding 表示的任务转化为学习线性结构的表示,同时存在的两个问题:1、如何更准确和直接的获取 weighted 图的 embedding,2、有任何更好的方法来学习线性结构的节点表示。第一个问题,设计了个概率共现矩阵来表示 weightd 部分,但是不需要采样。

多次强调图和线性结构,对于图的学习,将局部信息转化成线性结构,可以直接使用套用现有的一些线性模型。

AutoEncoder 方式,学习的是原始特征到中间表示的映射,这种映射关系用一定的数据量学习完就可以在全量的数据集上使用。对于需要超大数据集的中间表示,比较适用。缺点:学习不到上下文关系,不像 word2vec,loss 和上下文有关。这种映射关系类似于协同,学习不到 keyword 的语义信息。

 

 

你可能感兴趣的:(深度学习,自然语言处理,NRL)