cs224w 2-2 Traditional Feature-based Methods-Line
边层级
上节课我们介绍了关于节点相关的基础知识,这节课我们将关注于**“边”**。
任务:
利用现有的链接来预测新的链接的产生;我们需要评估所有为连接的节点对;并对他们进行排序,排名前K个为我们的预测结果;这里的重点是 “节点对” 特征的设计,我们可以将点A和点B的特征融合起来来作为“节点对”, 但失去了点之间的关系信息。
我们连接预测任务有两种类型:
随机缺失边预测:随机移除某些边,然后用机器学习方法尝试预测那些边;(蛋白质-蛋白质交互作用静态网络,探索蛋白质随机连接的种类)
随时间推移边预测:如果时间自然发展(如社交网络、协作网络),我们预测的边将在未来的时间出现,输入T0的图,预测T1时刻的边(随时间推移,人们认识的人会越来越多)
使用边的特征来完成任务:
为了更好的表示边的特征,我们对点进行相似性评分,计算两点间的相似性得分(如用共同邻居衡量相似性),然后将点对进行排序,得分最高的n组点对就是预测结果,与真实值作比。
1. 两点最短路径长度(Distance—base Feature):
这种方式没有考虑两个点邻居的重合度,如B-H有2个共同邻居,B-E和A-B都只有1个共同邻居,但是分值却相同。
2. 节点的邻域重叠数(Local neighborhood Overlap Feature):
Jaccard(杰卡德系数)将Common neighbors (普通系数)归一化了
Adamic—Adar index:降低邻居里有高度联系其他节点的“著名节点”影响,一堆度低的邻居比一堆“著名”邻居的得分更高。
3. 全局邻域重叠矩阵(Global neighborhood Overlap Feature):
节点的邻域重叠数(Local neighborhood Overlap Feature)有个问题:当两个节点没有共同邻居,值为0,但是他们有可能是相互连接的。(如图,A和E的领域重叠是什么?他们没有共同的领域,A到E只有四跳,且C和D有可能相连,但在他们的值在节点的邻域重叠数的标准下为0)所以,我们考虑采用全局邻域重叠矩阵(Global neighborhood Overlap Feature)来解决这个问题。
Katz index:计算点对之间所有长度的路径的条数(长度1路径数A+长度2路径数B+…长度n路径数C)
如何计算?邻接矩阵求幂!
A
u
v
A_{uv}
Auv代表u和v之间长度为1的路径的数量;
P
u
v
(
K
)
P^{(K)}_{uv}
Puv(K)代表u和v之间的路径长度为K的数量;
P
(
K
)
=
A
k
P^{(K)}=A^k
P(K)=Ak;计算A的k次幂,Auv将会告诉我们路径的数量;
P
u
v
(
1
)
P^{(1)}_{uv}
Puv(1)=u和v之间路径长度为1的数量;
P
u
v
(
2
)
P^{(2)}_{uv}
Puv(2)怎么算?
P
u
v
(
2
)
=
∑
i
A
u
i
∗
A
i
v
=
A
u
v
2
P^{(2)}_{uv}=\sum_{i}A_{ui}*A_{iv}=A_{uv}^2
Puv(2)=∑iAui∗Aiv=Auv2,更高的幂(更远的距离)就重复过程,继续乘起来;
所以我们可以得到Katz index的计算公式:
S
v
1
v
2
=
∑
l
=
1
∞
β
l
A
v
1
v
2
l
S_{v1v2}=\sum _{l=1}^\infty \beta^l A_{v1v2}^l
Sv1v2=l=1∑∞βlAv1v2l
S
v
1
v
2
S_{v1v2}
Sv1v2是
v
1
v1
v1和
v
2
v2
v2之间所有路径长度的路径数量,
β
\beta
β是折扣系数,
0
<
β
<
1
0<\beta<1
0<β<1,代表距离越远其影响值越小;
S
=
∑
i
=
1
∞
β
i
A
i
S=\sum _{i=1}^\infty \beta^i A^i
S=i=1∑∞βiAi
这里视频中讲的封闭式(closed-form),不太明白,上网搜了下,推导过程如下: