拉普拉斯矩阵_图嵌入专题(四):图嵌入与矩阵分解

//本文是图嵌入专题的第四篇文章//

引言

在图嵌入专题的前三篇文章中,我们分别从图嵌入算法的整体概况、基于深度学习的图嵌入算法以及基于skip-gram的图嵌入算法三个方面进行了介绍。本文从图嵌入算法与矩阵分解算法的关系出发,对图嵌入算法进行进一步的介绍。    

1

图嵌入与矩阵的关系

    图嵌入算法的基本思想,是通过一种学习方式,将复杂网络中的节点表达成一个低维的向量,使其能够反映出该节点在网络中复杂的交互信息。早期的图嵌入算法通过构造一个设计好的节点连接矩阵,通过矩阵分解的方式学习到节点的嵌入向量;近年来,许多的图嵌入算法虽然没有显式地构建连接矩阵(例如deep-walk算法),但本质上依然可以近似为对一种隐性的连接矩阵进行分解。这一节我们先介绍图嵌入算法与矩阵分解的联系,在第二节我们将以deepwalk为例详述这一过程。

    图嵌入算法的基本思想是,对于一个节点,首先寻找它的邻近节点(这里简称邻域),通过该节点邻域的嵌入信息,学习到该节点的嵌入表示。一般来讲,与目标节点直接相连的节点,可以被看作它的一阶邻域,例如对于下述网络:

a0dd5dd53f09770c007237d70ba4cb29.png

如果图嵌入算法只考虑了与目标节点直接连接的节点(即一阶邻域),例如我们在图嵌入算法(三)中介绍的,deepwalk算法通过截断式随机游走寻找邻域,如果设置随机游走的长度为1,则得到的实际是邻接矩阵:

d9964c7b026e7b11893b44326f096a9f.png

如果图嵌入算法考虑二阶邻域(即邻域的邻域),也就是deepwalk算法的游走长度为2,则得到的节点的连接矩阵为:

d3f0d9a220aa91b51cd0c0e9ce99579b.png

当然,如果根据节点的邻近关系设置不同节点之间的权重,则上述矩阵将不再是0,1矩阵,而是一个带权矩阵。可以看出,在我们的例子中仅6个节点,二阶邻域构成的节点连接矩阵已经非常稠密了。那么在大型的网络中,如果设置邻域的窗口长度L趋近于无穷,则连接矩阵将被节点之间的近似关系填满。

    图嵌入算法,编码的虽然是节点,编码需要保留的信息却是图中的拓扑结构,即节点之间的连接关系。因此,有了节点之间的连接矩阵后,图嵌入算法的假设是,这个连接矩阵是低秩的。因此可以通过某种低秩矩阵近似方法来学习节点的嵌入表达,并且这些图中重要的连接信息,能够通过这个低维的嵌入向量得到很好的编码。

小结一下,虽然图嵌入算法有很多,但他们通用框架本质上都是相似的。即先通过一种方式得到节点的连接矩阵,再通过一种方式对该连接矩阵进行分解。根据对节点邻域的定义不同,不同的图嵌入算法将得到不同的连接矩阵。例如有的算法直接用邻接矩阵进行嵌入,skip-gram算法通过设置随机游走的窗口长度寻找邻域。得到连接矩阵也就是得到了节点的邻域信息,不同的嵌入算法按照不同的方式利用邻域信息进行嵌入。

 论文[2]从数学上对基于skip-gram的网络嵌入方法进行了理论证明:

  1. DeepWalk,Line,PTE从理论上讲都是一种隐式的矩阵分解。(这篇文章从数学书推导出了三种模型近似的矩阵分解形式);

  2. 当节点的上下文规模被设为1时,Line实际上是DeepWalk的一个特殊形式;作为Line的一种扩展,PTE可以被看作多个网络的拉普拉斯矩阵的联合分解;

  3. 这篇文章发现了DeepWalk的隐式矩阵和图拉普拉斯算子之间的理论联系。

文中推导出的关于DeepWalk,Line,PTE和node2vec的近似隐性矩阵分解形式为: 

90f5349c78255a065e11c7ec2fb25707.png

2

DeepWalk的矩阵分解

    矩阵分解的一般形式为 W=UV,而基于skip-gram的嵌入算法在学习过程中却从而产生过类似的矩阵分解形式。本节将以DeepWalk为例,分析其学习方式的内在

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值