cs224w课程学习笔记-第2课 传统图学习
- 前言
- 一、节点任务
- 1、任务背景
- 2、特征节点度
- 3、特征节点中心性
- 3.1 特征向量中心性(Eigenvector Centrality)
- 3.2 中介中心性(Betweenness Centrality)
- 3.3 接近中心性(Closeness Centrality)
- 4、特征聚类系数
- 5.、 特征图钩子
- 二、边任务
- 1、任务背景
- 2、基于距离的特征
- 3、局部邻域重叠
- 4、全局邻域重叠
前言
传统图学习的流程是通过手动提取节点,边与图的特征,然后给到传统的机器学习算法(如随机森林,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 系数计算它基于节点之间的所有路径(包括非直接连接的路径),并根据路径的长度对其进行折减,较短的路径权重更高。该信息我们可以通过相邻矩阵进行计算得到.
其求解步骤如下