cs224w(二) Traditional Methods for Machine Learning in Graphs

cs224w(二) Traditional Methods for Machine Learning in Graphs


参考博文: 大佬笔记
图数据有两种特性,一种是图中节点连接所形成的拓扑结构,另一种是图(包括节点和边)具有的特征和属性。

节点的特征

节点的度

节点的度是指某个节点所连接的边(邻居节点)的数量,节点的度将所有邻居节点视为同等重要。

节点的中心性

Eigenvector centrality

如果邻居节点重要,则节点本身也重要。
我们将节点v的中心性表述为邻居节点中心性的和
在这里插入图片描述

以矩阵形式重写递归方程
在这里插入图片描述

我们可以看到中心性就是特征向量。最大的特征值总是正的并且唯一,所以对应的最大特征向量可以就是特征向量中心性

Betweenness centrality

如果一个节点处于很多节点对的最短路径上,那么这个节点是重要的。
在这里插入图片描述

Closeness centrality

如果一个节点距离其他节点距离最短,那么节点是重要的
在这里插入图片描述

聚类系数

衡量邻居节点的连接程度
在这里插入图片描述

如图,对于v节点来说,左图它的四个邻居节点都互相相连,6/6=1,中图四个邻居节点只有三条边互相连接,3/6=0.5,右图它的四个邻居节点互相之间没有连接,故0/6=0
聚类系数衡量的是某个节点的邻居节点的连接紧密性,

Graphlets

根连通的异构子图
在这里插入图片描述

Graphlet Degree Vector(GDV):以给定节点为根的graphslet的计数向量。
在这里插入图片描述

考虑2-5个节点的graphlets,我们得到73个坐标的向量GDV,描述节点邻域的局部拓扑结构,可以捕获4跳距离的互联性。

Graphlet degree vector提供了节点局部网络拓扑的度量:比较两个节点的向量提供了比节点度或聚类系数更详细的局部拓扑相似性度量。

总结

我们介绍了不同的方式来获取节点的特征。
它们可以分为两类,
捕获节点在图中的重要性:节点的度,不同节点中心性度量,用于预测图中有影响的节点,例如预测社交网络中的名人用户。
捕获节点结构属性:节点的度,聚类系数,Graphlet count vector,用于预测节点在图中扮演的角色,例如预测蛋白质相互作用网络中的蛋白质功能。

边的特征

Distance-based feature

两点间最短路径的距离
在这里插入图片描述

但是,并不能反映邻域重叠的程度,如(B,H)有两个共同邻居,而(B,E)和(A,B)只有一个。

Local neighborhood overlap

捕获两个节点的共同邻居数目
在这里插入图片描述

局部邻域特征的限制性:
如果两个节点没有任何共同的邻居,则度量值始终为零。但是,这两个节点将来仍可能连接。
全局邻域重叠度量通过考虑整个图来解决这一限制。

Global neighborhood overlap

Katz index:计算给定节点对之间所有长度路径的条数。
通过计算邻接矩阵的k次幂,来得到对应节点对之间长度为k的路径的条数
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

总结

Distance-based features:使用两个节点之间的最短路径长度,但不捕获邻域重叠的方式。
Local neighborhood overlap:捕获两个节点共享的相邻节点数。但是在没有共享相邻节点时变为零。
Global neighborhood overlap:使用全局图结构对两个节点进行评分。Katz index统计两个节点之间所有长度的路径。

图的特征

目标:我们需要表征整个图形结构的特征

Graph Kernels:衡量两个图的相似度

Bag-of-Words (BoW)

BoW只是将节点的数目作为图的特征(且不考虑节点排序)。
如图,由于两个图都有4个红色节点,这两个不同图的特征向量是相同的。
在这里插入图片描述

如果我们使用Bag-of-node degrees呢?
在这里插入图片描述

第一个图节点度为1的节点有一个,节点度为2的节点有两个,节点度为3的节点有一个,第二个图节点度为1的节点为零个,节点度为2的节点有两个,节点度为3的节点有两个。这两个图的特征向量不同!

Graphlet内核和Weisfeiler-Lehman(WL)内核都使用图形的包表示,比节点度更复杂!

Graphlet Kernel

关键思想:计算一个图形中不同Graphlet的数量。
注:此处Graphlet的定义与节点级特征略有不同。不同点在于:

  1. 此处Graphlet中的节点不需要连接(允许隔离节点)
  2. 这里的Graphlet没有根
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

给定两个图G和G’,graphlet kernel 计算为
在这里插入图片描述

但是当G和G’大小不同,这个值就会扭曲,解决方法就是将特征向量标准化
在这里插入图片描述

缺点:计算graphlets是非常困难的,因为子图同构测试(判断一个图是否是另一个图的子图)是NP难的

Weisfeiler-Lehman Kernel

目标:设计一种高效的图形特征描述符
思想:使用邻域结构以迭代方式丰富节点表。
在这里插入图片描述

即给定V个节点的图G,为每个节点v分配一个初始的颜色c(v),然后通过公式迭代更新节点的颜色,在K轮颜色更新后,c(v)就总结了k-hop邻域的结构
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述

WL内核计算效率高,当计算内核值时,只需要跟踪两个图中出现的颜色。时间复杂度在#(边)中是线性的。

总结

Graphlet Kernel:图被表示为Bag-of-graphlets,计算相当复杂。
Weisfeiler-Lehman Kernel:图被表示为Bag-of-colors,计算效率高,利用k-step颜色更新算法来丰富节点的颜色,非常近似图神经网络。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值