Link-Level Prediction:通过已知连接补全未知连接。
Link Prediction分两个类别:一种是静态图例如蛋白质的结构长时间不会改变,我们会删除一些蛋白质连接在尝试将删掉的去预测。一种是动态图例如论文的引用会随着时间而改变,我们利用上一个时间区段的图去预测下一个区段的L个连接,在将预测出来的L个连接中选出分数最高的n个连接,用这n个连接和真实存在的连接去比较。
连接的特征可以基于三类:
1.基于两节点距离
2.基于两节点局部 连接信息
3.基于两节点在全图的连接信息
基于两节点之间的局部连接信息:1.基于共同好友个数 2.基于两节点邻居的交并比 3.下图中的“共同还有是不是社牛”的意思是若C还连接了比如E、F....很多点,那么A、B之间的关系就会显得很“淡”。
基于两个节点的邻域节点信息的缺陷:若两个节点之间没有共同好友就不行。所以不能只看邻域要看全图情况。
Katz index:Katz指数的计算涉及到图的邻接矩阵A和一个权重衰减因子β。具体来说,Katz指数可以定义为:
其中,Pl(x,y)Pl(x,y) 表示从节点x到节点y长度为l的路径的数量,β是一个衰减因子,用于减少长路径的影响力。为了保证数列的收敛性,β的取值必须小于邻接矩阵A最大特征值的倒数。
在矩阵形式下,Katz指数可以表示为:
这里,I是单位矩阵,A是图的邻接矩阵。通过这种方式,Katz指数可以区分不同邻居节点的不同影响力,对于短路径赋予较大的权重,而长路径赋予较小的权重。这种方法的时间复杂度为O(v^2 + vk),其中v是网络中节点的数量,k是网络中度数最大的节点的度。
计算u和v之间长度为k的路径个数就是计算出矩阵的u行v列元素。
计算出来的S矩阵就是Katz系数矩阵。
总结:
基于两节点距离的连接特征、基于两节点局部连接信息、基于两节点在全图的连接信息