Embedding:Network Representation Learning with Rich Text Information

    这次学习NetworkRepresentation Learning with Rich Text Information这篇论文,是关于embedding方面的。

1 摘要

表示学习已经在很多项目任务中表现出了它的功效,比如图像识别或文本采集。网络表示学习旨在对于每个节点的进行矢量表示,这种方法慢慢被认为是网络分析里很重要的一部分。大多数网络学习方法都通过探讨网络结构来学习。事实上,网络节点也包含了很多信息(比如文本信息),但是却没有在典型的表示学习方法中很好的利用起来。为了证明深度游走等同于矩阵分解(MF),该文提出了text-associatedDeep Walk(TADW)。TADW将文本特征的节点在MF的基础上合并进网络表示学习中。我们将自己的方法和其他方法进行比较,将他们应用于节点多分类的问题中。

2 引言

数据稀疏是研究网络问题最常见的问题。NetworkRepretation Learning(NRL)就是为了解决这个问题,它把每个顶点表示为一个低维空间。它让我们更好的理解顶点间的语义联系和更好的解决了数据稀疏的问题。

但是很多NRL上的工作只考虑了网络结构。比如Skip-Gram模型。但是在现实生活中,网络节点也能包含很多信息,比如文本内容。所以该文提出了同时学习网络中的结构和节点信息的方法。

最简单的方法就是分别学习结构和节点信息,但是这样就没有考虑到结构和信息之间的联系,而且很难将节点信息放入NRL。那么如何将结构信息放入NRL呢?为此,该文证明了深度游走等价于矩阵分解,其中矩阵中的Mij是顶点Vi随机游走固定步数能到达顶点Vj的期望概率的对数。

3 论文目的

本篇论文旨在两个方面:(1)证明了深度游走算法其实就是分解矩阵M和计算出M的闭式解;(2)提出一种融入了文本信息的网络学习方法,TADW。

4 证明深度游走是矩阵分解

(1)NRL的形式

给定一个网络G=(V,E),我们想要对每一个顶点v构建一个低维的表示 ,其中k比|V|小很多。

(2)DeepWalk的目标函数

用随机游走的方式得到一个序列的顶点集合S={v1,v2,… ,v|S|},我们把顶点列v∈{vi-t,… , vi+t}\{vi}作为中心节点的上下文,其中t是窗口的大小。

利用Skip-Gram的思想,深度游走旨在最大化随机游动顶点序列S中所有顶点-上下文对的平均对数概率,即深度游走的目标函数为:

   Embedding:Network Representation Learning with Rich Text Information_第1张图片

(3)等价证明

首先给出NRL的概念:

假设从随机游走序列中生成集合D,集合D的成员是节点上下文对(v,c)。(这里的v就是中心点,c就是上下文)。V是节点集,Vc是上下文节点集。

Nvc表示节点对(v,c)在D中出现的次数,Nv和Nc代表v和c单独出现在D节点对中的次数。

再给出DeepWalk的概念:

DeepWalk将节点v表示为k维的向量 。同样的,节点v的上下文表示为

现在用矩阵表示这些向量,令W为k×|V|的矩阵,其中第i行为向量rvi。令H为k×|Vc|的矩阵,其中第j行为向量cvj。我们的目标是计算出矩阵M的闭式解,其中M=WTH。

请大家再仔细回顾我们定义了哪些东西,帮大家回顾一下,有D,V,Vc,Nvc,Nv,Nc,W,H。好,下面继续,在[Levy and Goldberg, 2014]中证明Skip-Gram with Negative Sampling(SGNS)其实就是分解词向量矩阵M,M的每一项为

Embedding:Network Representation Learning with Rich Text Information_第2张图片

在(3)式中,n代表着每个节点-上下文对中负样本的数量。此时我们可以将logn移除,将M的每一项可以转化为节点间的交互信息(PMI)。同样的,我们可以证明基于Hierarchical Softmax的Skip-Gram模型是分解矩阵M,可以使其中每一项为:

现在讨论Mij在DeepWalk中代表着什么。

假设社交网络是无向连接的,窗口长度为t。首先运行一个充分长的随机游走RW。RWi是第i个节点,然后在D中加入(RWi,RWj)节点对,只要满足节点对满足0<|i-j|<=t。其中2t是节点i在D中出现的次数,2tN(ViVj)/N(Vi)是在vi的左或右t个邻居中观察到vj的期望次数。

观察(4)式,我们发现了相同的结构 N(ViVj)/N(Vi)。原来Mij代表的是顶点Vi随机游走固定步数能到达顶点Vj的期望概率的对数。

证明已经完成,现在我们来求N(ViVj)/N(Vi)

生成一个过度矩阵A,满足这些条件:di为节点i的节点度,当节点i,节点j之间有边且Aij=0时令Aij=1/di。同时ei定义为|V|维的行向量,其中第i项为1,其他项都为零。

假设从顶点i开始随机游走,用ei表示初始状态,eiA的第j项是顶点i游走到顶点j的可能性。因此eiAt的第j项为在第t步顶点i能游走到顶点j的可能性。因此[ei(A+A2+…+At]是vj为vi右邻居的期望次数。因此我们能得到

       N(ViVj)/N(Vi)已求。任务完成!

5 低秩矩阵分解

猜想矩阵 承认一个低秩k的值与它本身近似,然后我们可以在这个假设下用这种低秩近似来完成矩阵M中的缺失条目。但是秩约束优化是一个NP问题。因此研究者采取找到矩阵 的方法去最小化损失函数 。向损失函数添加一个惩罚项来进一步去除。

如果项目在矩阵M有其他的特征,我们可以应用感应矩阵去利用这些特征。感应矩阵利用更多行与列的信息将这两个特征矩阵X,Y融入目标函数中。假设有特征矩阵 。我们的目标是计算W和H去最小化

 

6 提出的算法:TADW

给定一个网络G=(V,E)和他的相应的文本特征矩阵 ,我们提出TADW从G和T中去学习每个节点的表示方式。

回顾深度游走里分解M是用的式(4)(5),


这里复杂度会达到O(|V|3)。在TADW,有一个速度和准确度之间的平衡方法。就是直接分解矩阵M =(A+A2)/2。

这里,为了计算效率分解M代替了logM。原因是logM比起M有很多非零项,矩阵分解的复杂度会和非零元素的个数成比例。此时,计算M花费O(|V|2)。甚至当数据很密集的时候,我们甚至可以直接算A。我们的任务是计算 去最小化

优化W和H时,选择交替W和H,因为优化M和H都是凸函数。

TADW的目的是融合文本特征获得更好的网络表示方法。不同于感知矩阵和低秩矩阵感知矩阵从原始数据直接获得矩阵M,而从MF风格DeepWalk推导出人为建立矩阵M。从TADW得到的W和HT可以当作节点的低维表示。而且对于表示方法,构建的是2k维的矩阵去串联他们而不是随便任意的组合。

7 方法复杂度分析

计算M要O(|V|2),每一次迭代最小化W和H要 ,其中第一项代表非零项的个数。实验中迭代了10次。

 

你可能感兴趣的:(Embedding)