LINE: Large-scale Information Network Embedding

LINE是一种高效的大规模网络嵌入方法,能将网络节点映射到低维向量空间,适用于有向无向图及带权图。该方法利用一阶和二阶相似度保留网络的局部和全局结构,并提出边采样技术解决传统随机梯度下降中的梯度爆炸问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LINE: Large-scale Information Network Embedding

ABSTRACT

ABSTRACT部分说了,这篇文章主要解决了大规模网络给embedding到低纬向量。而低纬向量能够更加有助于visualization, node classification, and link prediction。这个方法起了个名字叫LINE。而且这个方法能够处理各种各样的网络,有向无向图,带不带权等等。作者认为本文主要有如下两个亮点:

  • 优化的目标函数设计的比较好
  • 边采样方法能够克服(address)传统的随机梯度下降方法的缺陷,同时提高最后结果的效率和效果(efficiency and effectiveness)。

作者说,处理的效率非常的高,几个小时能处理millions of vertices 
and billions of edges 的网络

INTRODUCTION

这篇文章的Introduction还挺长的,而且介绍的蛮有干货。 
第一段跟Abstract部分差不多,简要介绍了Network的普遍性 ,和embedding的重要性。 
第二段就进入了踩踩别人方法的阶段就列举出了3个已有的Graph Embedding方法:MDS , IsoMap, 
Laplacian eigenmap 的局限性(话说找的方法还真是有点早啊,Laplacian eigenmap 那个方法01年的了)。说他们都是只能处理小规模网络,不能处理大规模网络。他们的时间复杂度至少是平方级别的。 
当然,作者又说,最近有些研究可以处理大规模网络了,但是他们要么是间接方法不是特别为了网络设计的,要么是缺乏一个明确的目标函数去embedding。然后作者进入正题说:我们设计了一个 a new model with a carefully designed objective function that preserves properties of the graph and an efficient optimization technique should effectively find the embedding of millions of nodes. 看来目标函数和优化技术是这篇文章的主要亮点。 
第三段作者说,他们的那个优化函数能同时呈现全局局部两种网络结构信息。

  • 局部信息是指,网络中的边信息,它是一个观测到的一阶相似度,之前很多方法就用了这个信息,如IsoMap,Laplacian eigenmap 。但是实际上在现实网络中,很多合法的边没有被观测到。所以一阶相似度并不能有效的表示全局信息。
  • 所以作者就提出了,二阶相似度,不是通过节点周围点的连接强度,而是通过与其他节点间共享邻居节点的结构来表示信息。直觉上,节点之间share的邻居节点越多,可以认为他们越相似。

所以一阶相似度,二阶相似度就这么被定义出来,二阶相似度能完善一下只用一阶相似度带来的稀疏性问题。 
所以优化的目标就出来了,但是怎么去优化它也是一个挑战。 
最近常用的方法就是梯度下降了,但是作者发现,直接用SGD会有一些问题。作者分析原因在于,如果网络带权的话,通常情况下,带权网络的权值是一个方差非常大的分布,而大的方差,导致了最后乘以梯度的时候,会导致梯度爆炸,而使结果不好。 
所以作者说他们提出了一个边采样的方法。按照概率分布采样,而概率是通过边权大小计算出来的,然后将边当成一个二元的边来处理。有了这样的处理之后,优化的目标函数还是一样,但是就没有梯度爆炸的问题了。 
作者用多个不同的现实网络去评估自己的方法:language networks, social 
networks, and citation networks。而评测指标用的:word analogy, text classification, and node classification. 最终实验表明LINE算法效率也高,效果也好,就是NB。

之前列举的那些方法,经常就是用KNN来构建一个矩阵,然后来求矩阵的主要特征向量,因为要求特征向量,所以这样复杂度至少就为平方级别了。 
而最近的一些工作,如graph factorization,它的问题在于

  • 并不是专门为了网络而设计的
  • 只有一阶相似度
  • 只能处理无向图

然后另外一个相关的工作是Deep Work,它是用随机游走的办法,主要应用了二阶相似度,但是主要的问题在于:

  • DeepWork用随机游走是一个DFS,而我们的方法是一个BFS,更能利用二阶相似度
  • 只能用在不带权的图中

PROBLEM DEFINITION

这一部分中,作者形式化的定义了,问题中的各种描述,诸如图的定义就不再赘述了。 
一阶相似度定义为:两个节点之间边的权重值。 
二阶相似度定义为一阶相似度向量(节点u的一阶相似度向量为pu=(wu,1,wu,2,...,wu,|v|)pu=(wu,1,wu,2,...,wu,|v|))之间的相似度(应该是pu,pvpu,pv的cos相似度?作者具体也没说)。 
然后定义了问题,就是既要用到一阶相似度又要用到二阶相似度的一个embedding算法。

LINE: LARGE-SCALE INFORMATION NETWORK EMBEDDING

作者说一个好的能用到现实数据中的network embedding方法应该具备如下特征:

  1. 用到两个相似度
  2. 能够处理大规模数据
  3. 能够处理各种各样的网络:带权/不带权,有向图/无向图

1.模型描述部分

一阶相似度

定义两个点i,ji,j之间的相似度为

p1(vi,vj)=11+exp(−ui→T⋅ui→)p1(vi,vj)=11+exp(−ui→T⋅ui→)


其中ui,ujui,uj指i,ji,j两个节点的低纬向量表示 
个人感觉就是一个sigmoid函数 
然后是经验相似度

p^1(i,j)=wijWp^1(i,j)=wijW


WW是所有边权之和 
所以两种节点之间相似度的分布就出来了,接下来求两个分布之间的距离——KL距离 

O1=d(p^1(⋅,⋅),p1(⋅,⋅))O1=d(p^1(⋅,⋅),p1(⋅,⋅))


将p^1p^1的定义带入其中化简得到 

O1=−∑(i,j)∈Ewijlogp1(vi,vj)O1=−∑(i,j)∈Ewijlogp1(vi,vj)

 

一阶相似度只能用在无向图上

二阶相似度

二阶相似度可以用在无向和有向图上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值