cs224w课程学习笔记-第2课 传统图学习
- 前言
- 一、节点任务
- 二、边任务
- 三、图任务
-
- [1、Graphlet Kernel](#1、Graphlet Kernel)
- [2、 Weisfeiler-Lehman Kernel](#2、 Weisfeiler-Lehman Kernel)
- 四、总结
前言
传统图学习的流程是通过手动提取节点,边与图的特征,然后给到传统的机器学习算法(如随机森林,SVM等)中进行预测.接下将具体阐述节点,边与图涉及到的一些特征,及其任务预测.
一、节点任务
1、任务背景
对节点做聚类任务,此时要对节点进行特征提取来表征网络中节点的结构和位置,其提取的常见特征如下:
▪ 节点度(Node degree)
▪ 节点中心性(Node centrality)
▪ 聚类系数(Clustering coefficient)
▪ 图构子(Graphlets)
2、特征节点度
以下图无向图为例,可以看到A点的度为1,因为它只与C点相连,二B点与C,D点相连,因此它的度是2.在该例子中,不同节点的连接均一视同仁为1,若不同连接点间的连接权重不一致,则其度为所连接的权重之和 ;若为有向图,则度分为出度(节点到其它节点的连接)与入度(其它节点到该节点的连接)的和.
3、特征节点中心性
考虑节点在图中的重要性,其常见计算方法有
3.1 特征向量中心性(Eigenvector Centrality)
衡量节点的重要性,不仅取决于节点本身的连接数量,还取决于其相连节点的中心性.取相邻矩阵最大特征值对应的特征向量为中心性向量.
3.2 中介中心性(Betweenness Centrality)
基于节点在最短路径上的作用,反映节点作为其他节点之间"桥梁"的重要性。
3.3 接近中心性(Closeness Centrality)
通过计算节点与图中其他节点之间的平均最短路径长度来衡量。接近中心性越高,节点越接近图中其它节点。
4、特征聚类系数

如下图所示,求v的聚类系数,第一个图,每个邻居间相连的边数均为3,分子为12,节点度为4,分母为12,因此为1;第2个图边数为6,因此为0.,第3个图边数为0,因此为0.
注意的是该特征可以由图钩子特征计算得到
5.、 特征图钩子
Graphlets 通过找到每个节点的局部邻域中的小型子图模式,能够捕获细粒度的拓扑关系,
其到5个节点的子图模式一共有73中不一样的,通不同节点数,不子图模式我们可以统计出不同的特征.
如
-
基于 Graphlets 的节点计数特征:
对于每个节点,统计它在所有可能的 Graphlets 模式中出现的次数。例如:
一个节点是否在三角形结构中。
一个节点是否是路径的中间点。
一个节点是否与某个四节点的星型结构(star)有关。
这些计数可以形成一个特征向量,表示节点在局部邻域中所参与的不同 Graphlets 模式。
-
基于角色的节点特征:
Graphlets 中的每个节点可以具有不同的角色。例如:
在三角形中,一个节点可能是"边三角形的顶点"。
在一个四节点的星形结构中,某节点可能是中心节点或者边界外围的叶节点。
基于角色的信息,可以为节点生成角色特征。
-
基于 Graphlets 的结构特征聚合:
在节点的邻域内分析有哪些 Graphlets,统计这些 Graphlets 的全局属性来构造节点特征。例如:
- 邻域内以三角形为模式的 Graphlets 的数量。
- 一个节点参与的 n 阶 Graphlets 的比例分布。
二、边任务
1、任务背景
基于已有的边预测新边,在测试集预测中,输出不存在的节点对排序,取前K个作为新边预测输出.其训练集标签可以通过两种方式构造,一是随机取消一部分边为标签,二是从时间跨度上取两个时点间差集的边集合做标签;排序方式可以根据新边的共同相邻节点数来进行.其关键是如何构建边的特征:
- 基于距离的特征
- 局部邻域重叠
- 全局邻域重叠
2、基于距离的特征
如两节点间最短路径距离,如下图所示
3、局部邻域重叠
3.1 计算两个节点间的共有相邻节点数,如A,B节点公共相邻节点为C,因此局部邻域重叠值为1
3.2 还可以通过jaccard 系数计算,即两个节点间的共有相邻节点数除以两个节点间的相邻节点数之和,如A,B节点公共相邻节点为C,两者全部相邻节点为C,D,因此局部邻域重叠值为1/2
3.3 还可以考虑度的信息,为Adamic-Adar系数,将两个节点间的共有相邻节点的度取log求倒再加和得到,如A,B节点公共相邻节点为C,C的度为4,因此值为1/log(4)
4、全局邻域重叠
两个节点局部邻域重叠值为0时,其仍有概率在未来相连,因此引入全局的信息,katz 系数计算它基于节点之间的所有路径(包括非直接连接的路径),并根据路径的长度对其进行折减,较短的路径权重更高。该信息我们可以通过相邻矩阵进行计算得到.

其求解步骤如下
三、图任务
采用核方法(kernel methods)对图进行特征生成是常见的办法,采用不同的核对图进行变换可得到不同的图信息,因此核方法的关键是设计核函数,我们知道在传统的机器学习中如SVM,常使用核方法如线性核,多项式核,高斯核,sigmoid核等;而在图中常使用核有
- Graphlet Kernel
- Weisfeiler-Lehman Kernel
- Random-walk kernel
- Shortest-path graph kernel
1、Graphlet Kernel
该核方法灵感来源于语言处理中的词袋方法,我们知道词袋方法是统计各词出现的次数,不考虑其顺序;那么在图中,我们可以将词替换为图中的子图模式,在节点特征里已经提到不同节点数它的子图模式是有限的,比如5个节点数内子图模式一共73中,同理我们可以用在图中,稍有不同的是我们将子图模式定义放宽了,其两者区别如下
- 图中的节点不需要相连(允许存在孤立节点)。
- 此处的子图模式(graphlets)不是以某个节点为根的。
上图便是在图下的子图模式在3个节点数与4个节点数的差异
那么使用该核得到的图特征将表示为 f i = ( g 1 , g 2 , . . . , g k ) fi=(g1,g2,...,gk) fi=(g1,g2,...,gk),其中gk是,图在第k个子图模式中出现的次数,i为i个节点数,如下图所示为3个节点数的子图模式库,里面一共4个模式,因此得到的特征f3=(g1,g2,g3,g4)
根据上面的例子大家应该发现了,同一个 i 下,不同图它的大小是不一样的,为了好比较,我们对fi进行归一化 .
该方法直观好懂,但是计算量很大 ,随着i增大,其计算复杂度并不是线性增长的O( n i n^i ni).因此进一步提出了Weisfeiler-Lehman Kernel
2、 Weisfeiler-Lehman Kernel
其核心思想 是使用邻域结构来构建词汇库,其灵感来源于使用度替换词,度是邻域信息的一个维度.
该方法通过节点颜色标签(或特征)的迭代式聚合,捕捉图中逐级扩展的结构信息.
以下是 Weisfeiler-Lehman Kernel 的具体步骤:
- 输入预处理
输入图 G 中的每个节点都有初始的标签或特征。初始标签可以是节点的类型,数值特征,或一些离散的标识符。如果没有初始特征,可以为所有节点分配一个统一的标签。 - 初始节点标签分配将每个节点的初始标签映射为一个离散的哈希值,作为初始 "颜色" c v ( 0 ) c_v^{(0)} cv(0).
- 迭代式标签更新,邻居集合聚合:
- 针对每个节点 v,将当前节点的颜色(标签)与其所有邻居的颜色集合进行组合。
- 哈希压缩: 使用哈希函数对组合后的信息进行映射,生成新的颜色标签 c v ( k + 1 ) c_v^{(k+1)} cv(k+1) 。
- 反复执行,直到达到设定的迭代次数 h 或标签变化稳定为止。
每次迭代中,各节点会根据局部结构的演化获得新的标签,这些标签逐渐反映了图的全局结构。
- 每一次迭代都会生成一组增强的节点标签集合。对于特定图 G,可以通过统计各标签的频率,表示为图的特征向量,例如: ϕ ( G 1 ) = ( 6 , 2 , 1 , 2 , 1 ) \phi (G1)=(6,2,1,2,1) ϕ(G1)=(6,2,1,2,1)元素分别对应颜色1到5在图中出现的次数
5.对于图 G1 和 G2通过比较它们在每次迭代中生成的特征向量,计算它们的相似度(通常是内积形式),结果即为两个图的 Weisfeiler-Lehman 核。
该方法的效率要高很多了,可以看到每一轮迭代,在颜色组合中其时长跟边的条数成线性,颜色标签汇总时与节点数成线性,因此整个算法就是线性复杂度O(edges).
四、总结
本节课主要介绍了传统的图特征提取方法,其中包括节点特征度,中心性,聚类系数,子图模式库特征;边的两点间最短距离特征,局部邻域重叠,全局领域重叠;与最后通过核函数对图进行特征提取,灵感来源于语言模型的词袋方法,介绍了基于子图模式的Graphlet Kernel与基于hash 节点颜色标签(或特征)的迭代式聚合的Weisfeiler-Lehman Kernel 得到图的特征与图之间的相似度度量.