维生素C吃多了会上火-个人CSDN博文目录
cs224w(图机器学习)2021冬季课程学习笔记集合
任务是根据现有链接预测新链接
在测试时,对节点对(没有现有链接)进行排名,并预测前 节点对
关键是为一对节点设计特征
方法:对于每对节点 (x,y) 计算分数 c(x,y)【例如,c(x,y) 可以是 x 和 y 的共同邻居的数量】,按递减分数 c(x,y) 对 (x,y) 进行排序,将前 n 对预测为新链接,查看这些链接中的哪些实际出现在[1,1′]
两个节点之间的最短路径距离,然而这并没有捕捉到邻域重叠的程度
捕获两个节点和之间共同邻居
Common neighbors:| 1 ∩ 2 |
Jaccard系数
Adamic-Adar 指数
Local neighborhood overlap,如果两个节点没有任何共同的邻居,度量值始终为零。但是,这两个节点将来可能仍可能连接。
Global neighborhood overlap通过考虑整个图来解决限制。
Katz 指标可以区分不同的邻居节点不同的影响力。Katz 指标给邻居节点赋予不同的权重, 对于短路径赋予较大的权重, 而长路径赋予较小的权重
Auv:矩阵A的Auv的值
Puv(K):节点u和v之间长度为K的路径的数量
Puv(k)=Akuv:点u和v之间长度为K的路径的数量,等于邻接矩阵A的k次幂的Auv的值
Sv1v2= ∑ l = 1 ∞ \sum_{l=1}^{\infty} ∑l=1∞ β \beta βl A A Alv1v2
0< <1: discount factor
会给比较长的距离以比较小的权重
Katz矩阵计算:
S = β S=\beta S=β A + β A+\beta A+β2 A A A2 + + + β \beta β3 A A A3 + + + . . . ... ...
S = S= S= ∑ i = 1 ∞ \sum_{i=1}^{\infty} ∑i=1∞ β \beta βi A A Ai − ( I − β -(I-\beta −(I−β A ) A) A)-1 − I -I −I
目标:我们想要表征整个图结构的特征
背景:kernels
kernels广泛用于传统的 ML 进行图级预测
想法:设计kernels而不是特征向量
内核简介:核函数(Kernels)
图内核:测量两个图之间的相似性
Graphlet Kernel
Weisfeiler-Lehman Kernel
设计图特征向量()
Bag-of-Words (BoW)
bag-of-words相当于是把文档表示成一个向量,每个元素代表对应word出现的概率,此处讲述的特征抽取方法也将图变成bag-of-something的形式,将图表示成一个向量,每个元素代表对应something出现的概率(这个something可以是node, degree)
表示在图 G G G中每个 g g gi出现的次数
(,′) =T′
问题:如果 和 ′ 有不同的大小,这将极大地扭曲值
解决方案:对每个特征向量进行归一化
h h hG = f =f =fG ÷ \div ÷ S u m ( f Sum(f Sum(fG ) ) )
(,′) =T′
计算量太大了
1.在具有n个节点的图中计算大小为K的graphlet,枚举需要nk次方
C k n C_{k}^{n} Ckn ≈ \approx ≈ n n nk
2.最坏的情况是不可避免的,因为子图同构测试(判断一个图是否是另一个图的子图)是 NP-hard[完全子图问题]
目标:设计一个高效的图特征描述符()
思路:利用邻域结构迭代,丰富节点词汇
算法:Color refinement
具体例子请参考课程
进行K次迭代后,用整个迭代过程中颜色出现的次数作为()
( , ′ ) = (,′)= K(G,G′)=()(′)点积
图表示是为Bag-of-graphlets
计算成本高
应用 − s t e p -step K−step颜色细化算法来丰富节点颜色
图表示是为Bag-of-color
计算高效
与图神经网络密切相关
手工制作的特征 + ML 模型
Node-level:
节点度,节点中心性,聚类系数,graphlet
Link-level:
基于距离的特征,局部邻域重叠,全局邻域重叠
Graph-level::
Graphlet kernel, WL kernel