BiNE: Bipartite Network Embedding
论文下载地址:http://staff.ustc.edu.cn/~hexn/papers/sigir18-bipartiteNE.pdf
摘要
研究现状:对同构网络进行嵌入,忽略了二分网络的特殊属性。
解决方案:首先,提出了一种名为BiNE(Bipartite Network Embedding)的方法,用于学习二分网络的顶点表示 。通过有目的地执行有偏随机行走,我们生成的顶点序列可以很好地保留原始二分网络中顶点的长尾分布。然后,提出了一个新颖的优化框架,在学习顶点表示时考虑显式关系(即观察到的链接)和隐式关系(即未观察到但具有传递性的链接)。
关键词:二分网络、网络表示学习、链接预测、推荐。
注:biased random walk是一种在图上进行的随机游走,其中移动到不同邻居的概率不相等。它是一种模拟受一些外部或内部因素影响的系统行为的方法。例如,biased random walk可以描述在有水流的管道中的分子的运动,或者在社交网络中偏好某些朋友而不是其他朋友的人的移动。
有不同的方法来定义随机游走中的偏置。一种常见的方法是给图中的每个节点或边分配一个权重或属性,并用它来计算转移概率。例如,如果每个节点有一个属性β,那么从节点i到节点j的转移概率为
其中N(i)是节点i的邻居集合。这意味着节点i更有可能移动到具有较高β值的邻居。
长尾分布
长尾分布是一种在图表中呈现出头部和尾部差异很大的分布。它通常用来描述一些市场或产品的销售情况,例如亚马逊和Netflix等网站的商业模式。在这些网站中,头部的少数热门商品占据了很大的市场份额,而尾部的大量冷门商品则只有很小的市场份额。但是,尾部商品的总和也能产生很大的利润,甚至超过头部商品。这就是长尾效应。
长尾分布也可以用来描述一些其他的现象,例如搜索引擎中的关键词分布,社交网络中的用户活跃度分布,自然界中的地震频率分布等。这些现象都表现出了少数头部和大量尾部的特征。
1 引言
应用的广泛:双向网络是一种无处不在的数据结构,用于模拟两类实体之间的关系。例子:在搜索引擎中,查询和网页构成了一个双方网络,其中的边可以表示用户的点击行为,从而提供有价值的相关性信号。
首要考虑的问题:要对网络数据进行预测分析,首先必须获得顶点的表示(即特征向量)。
传统的方法:词包表示法( 注1 ),缺点:捕获的语义少,大规模时候效率低
最近的进展:从数据中学习表示(具体来说,把顶点嵌入到低维向量空间)。优点:用机器学习方法可以使顶点学习
研究现状(主要研究的方向):集中于嵌入顶点类型相同的同质网络。典型代表:DeepWalk(注2)。优点:有效且普遍。缺点:对显性关系(如观察到的边)建模,而忽略了潜在的隐性关系。
常见的DeepWalk能否解决二分网络:二分网络是一种特殊情况,并不是主要研究方向。DeepWalk就不适用于二分网络了。两个原因:(1)未考虑顶点类型信息。与同构网络不同,二分网络中有两种类型的顶点。虽然不同类型的顶点之间只存在边,但同一类型的顶点之间基本上存在隐含关系。(推荐系统中用户对同一个物品的偏好)。问题:现有的网络嵌入方法只对显性关系(即观察到的边)建模,而忽略了潜在的隐性关系。解决方法:将这种隐含关系以显式方式编码到表示学习中。(2)生成的语料可能无法保留二分网络的特征。如下图:随机游走生成的分布(b)与真实分布(a)差异很大,无法用幂律分布很好地描述(注3:顶点分布频率),因此,DeepWalk并不适合二分网络。不适合的原因:它从每个顶点开始生成相同数量的随机游走,并限制游走的长度相同;这限制了生成器的能力,使其难以生成符合幂律分布的语料库,而幂律分布是现实世界中许多二分网络的共同特征(原因:注4)。
针对二分网络的其他解决方案:metapath2vec++(考虑了显性关系和隐性关系),其局限性:显性关系和隐性关系都视为对学习同等贡献(显然是不对等的)。解决方法:区别对待,为他们赋予不同的权重。
完美的解决方案:本文提出的BiNE(二分网络嵌入)。BiNE方法的两个特点:(1)提出联合优化框架(目的:同时考虑显式关系和隐式关系)。显式关系建模的目的是通过关注观察到的链接来重建双链网络。对于隐式关系建模,我们的目标是捕捉双链网络中的高阶相关性(注5)。(2)提出了一种有偏向的自适应随机游走生成器(目的:为了尽可能多地保留二分网络的特性)。我们根据每个顶点的重要性设置从其出发的随机游走次数,从而使生成语料中的顶点分布与原始二分网络更加一致。此外,我们没有为所有随机行走设置统一长度,而是允许以概率方式停止行走。实验论证结果:我们的生成器能生成更接近真实世界网络分布(幂律分布)的语料。
2 相关工作
2.1 网络表示学习
网络表示学习相关的方法:同构网络的顶点表示方法。
同构网络的顶点表示方法:(1)基于矩阵因式分解(MF)的方法 (2)基于神经网络的方法。
2.1.1 基于矩阵因式分解(MF)的方法
线性和非线性情况:
(1)线性:采用线性变换将网络顶点嵌入到低维 embedding 空间,如奇异值分解(SVD)和多维缩放(MDS)(降维或者说压缩)。
(2)非线性:利用非线性变换将网络顶点映射到低维潜在空间,例如核 PCA、谱嵌入、边际渔夫分析(MFA)以及流形学习方法(包括 LLE 和 ISOMAP)。
主要缺点:(1)计算成本高,难以处理大规模网络(原因:需要对数据矩阵进行特征分解运算)。(2)其性能对用于计算亲和力矩阵的预定义邻近度量方法相当敏感。
2.1.2 基于神经网络的方法
**同构网络和异构网络的情况 **:
(1)同构网络的情况:
代表算法:DeepWalk 和 Node2vec扩展了 Skip-gram 的思想,为同构网络建模,并通过执行截断随机游走将其转换为顶点序列语料库。
主要缺点:无法保留网络的显式关系和隐式关系
后续改进:利用了顶点之间的一阶和二阶邻近性来嵌入同构网络。LINE为一阶关系和二阶关系学习了两种分离的嵌入;SDNE结合了一阶和二阶邻近性来保留网络结构;GraRep进一步扩展了该方法,以捕捉高阶邻近性。除了捕捉高阶邻近性,还有一些建议将侧面信息纳入顶点嵌入学习。
(2)异构网络的情况
上述对于二分图来说的问题:(1)以上都是针对同构网络(即网络中只有一种类型的节点)的方法。(2)截断随机游走生成的 "语料库 "可能无法捕捉到网络结构的特征,如顶点度的幂律分布(即无法完整描述节点与节点之间的联系)。
代表算法:Metapath2vec++、HNE 和 EOE 是异构网络的代表性顶点嵌入方法
对二分图来说的缺点:HNE 的目标是在嵌入过程中整合内容和链接结构,而 Metapath2vec++ 则忽略了顶点之间关系的强度,将显性和隐性关系同等对待。
2.2 二分网络建模
2.2.1 引言
分析了很多种网络表示方法,发现都是有缺点的,所以用本文的方法。作为一种无处不在的数据结构,二分网络已被广泛应用,其中顶点排序是一个活跃的研究课题。
2.2.2 顶点排序的方法
(1)HITS通过捕捉二分网络中的一些语义关系来学习顶点排序。
(2)Co-HITS将顶点的内容信息和相关性约束纳入二分网络的顶点排序。
(3)BiRank通过考虑网络结构和先验知识对顶点进行排序。
2.2.3 分布式顶点表示的方法
区别:与排名任务不同的是,它学习顶点的低维表示,这可以看作是顶点的 “特征”,它保留了更多信息,而不仅仅是一个排名分数。
代表模型:潜因模型(LFM),在推荐系统和语义分析领域被广泛研究。其基于的方法:基于矩阵因式分解的方法。
最新进展:利用深度学习方法来学习用户-物品网络上的顶点嵌入,从而实现推荐。
2.2.4 上述方法的问题
(1)适用于推荐算法,不适用顶点学习表示。
(2)仅对二分网络的显式关系建模,忽略了隐式关系
3 问题的数学表述
3.1 统一符号
(1) G = ( U , V , E ) G=(U,V,E) G=(U,V,E)表示二分网络, U U U和 V V V分别表示两类顶点的集合, E ⊆ U × V E\subseteq U\times V E⊆U×V表示边( U × V U \times V U×V是笛卡尔积)
图2:二分网络结构的例子
(2) u i u_i ui和 v j v_j vj分别表示 U U U和 V V V中的第 i i i个和第 j j j个顶点,其中 i = 1 , 2 , . . . , ∣ U ∣ i=1,2,...,|U| i=1,2,...,∣U∣和 j = 1 , 2 , . . . , ∣ V ∣ j=1,2,...,|V| j=1,2,...,∣V∣。每条边都有一个权重( W i j ≥ 0 W_{ij} \geq 0 Wij≥0),用于描述相连顶点 u i u_i ui和 v j v_j vj之间的强度,如果 u i u_i ui和 v j v_j vj不相连,则 W i j = 0 W_{ij} =0 Wij=0。因此,可以用一个 ∣ U ∣ × ∣ V ∣ |U|\times |V| ∣U∣×∣V∣的矩阵 W = [ w i j ] W=[w_{ij}] W=[wij]来表示二分网络的权重。
3.2 问题定义
二分网络嵌入任务的目的是将网络中的所有顶点映射到一个低维的嵌入空间,其中每个顶点都表示为一个密集的嵌入向量。在嵌入空间中,同一类型顶点之间的隐式关系和不同类型顶点之间的显式关系都应得到保留。公式定义如下:
输入条件:二分网络 G = ( U , V , E ) G=(U,V,E) G=(U,V,E)和权重矩阵 W W W
输出结果:映射函数 f f f: U ∪ V → R d U \cup V \rightarrow \mathbb{R}^{d} U∪V→Rd,它将 G G G中的每个顶点映射到一个 d d d 维嵌入向量。其中, u i → \overrightarrow{u_i} ui和 v j → \overrightarrow{v_j} vj分别表示顶点 u i u_i ui和 v j v_j vj的嵌入向量,那么二分网络中所有顶点的嵌入向量就可以表示为两个矩阵 U = [ u i → ] U=[\overrightarrow{u_i}] U=[ui] 和 V = [ u j → ] V=[\overrightarrow{u_j}] V=[uj]。
4 BINE:二分网络嵌入
引言:目的:重建二分网络。两个角度:显式关系和隐式关系。方法:联合优化显式关系和隐式关系。
4.1 建立显式关系模型
先决条件:两个不同类型的顶点之间存在边。
方案:与 LINE中的一阶邻近性建模类似,我们通过考虑两个相连顶点之间的局部邻近性来建立显式关系模型。
方案的公式理论:顶点 u i u_i ui和 v j v_j vj之间的联合概率定义为: P ( i , j ) = w i j ∑ e i j ∈ E w i j P(i,j)=\frac{w_{ij}}{\sum_{e_{ij}\in E}w_{ij}} P(i,j)=∑eij∈Ewijwij (1)(即一个边的权重除以所有边的权重为联合概率),性质:如果两个顶点连接紧密,权重较大,那么它们共同出现的概率就会更高。
如何估计两个顶点在嵌入空间中的局部邻近度:思路:word2vec 的有效性和普遍性启发了许多研究使用内积来模拟两个实体之间的交互。公式理论支撑:使用 sigmoid 函数将交互值转换到概率空间: P ^ ( i , j ) = 1 1 + e x p ( − u i → T v j → ) \hat{P}(i,j)=\frac{1}{1+exp({-\overrightarrow{u_i}}^T \overrightarrow{v_j})} P^(i,j)=1+exp(−uiTvj)1(2)。方法:利用顶点之间共现概率的经验分布(这是估计分布)和重建分布(这应该就是真实分布了),我们可以通过最小化它们的差值来学习嵌入向量(这个就相当于LOSS函数了)。我们选择 KL-发散度(用于衡量两个概率分布之间的差异或相似性)作为分布间的差异度量,其定义为:
m i n i m i z e O 1 = K L ( P ∣ P ^ ) = ∑ e i j ∈ E P ( i , j ) l o g P ( i , j ) P ^ ( i , j ) minimize\ O_1=KL(P|\hat{P})=\sum\limits_{e_{ij}\in E}P(i,j)log\frac{P(i,j)}{\hat{P}(i,j)} minimize O1=KL(P∣P^)=eij∈E∑P(i,j)logP^(i,j)P(i,j) ∝ − ∑ e i j ∈ E w i j l o g P ^ ( i , j ) \varpropto-\sum\limits_{e_{ij}\in E}w_{ij}log\hat{P}(i,j) ∝−e