Luan S., Hua C., Lu Q., Zhu J., Zhao M., Zhang S., Chang X. and Precup D. Revisiting heterophily for graph neural networks. NIPS, 2022.
概
介绍了一种新的 graph homophily metrics.
符号说明
- G=(V,E,A), graph;
- |V|=N;
- A∈RN×N, adjacency matrix;
- Ni={j:eij∈E}, neighborhood set;
- X∈RN×F, feature matrix;
- Z∈RN×C, label encoding matrix, 每一行是一个 ont-hot 向量.
Homophily metrics
-
Edge homophily: 每条边两端的结点的类别的一致性,
Hedge(G)=|{euv|euv∈E,Zu,:=Zv,:}||E|.
-
Node homophily: 每个结点和它的邻居结点的类别的一致性 (使用最多的一个指标),
Hnode(G)=1|V|∑v∈VHvnode,Hvnode=|{u|u∈Nv,Zu,:=Zv,:}|dv.
其中 dv=|Nv|.
-
Class homophily: 它主要是用于解决 imbalanced classes 之前的 metrics 可能会过大的问题,
Hclass(G)=1C−1C∑k=1[hk−|{v|Zv,k=1}N]+,hk=∑v∈V|{u|Zv,k=1,u∈Nv,Zu,:=Zv,:}|∑v∈{v|Zv,k=1}dv,
其中 [a]+:=max(a,0).
-
上述的 metrics 的取值范围都为 [0, 1], 越大表明越强的 homophily. 但是作者认为, 这些指标难以准确的显示一个图的可判别性, 如下图所示的简单的二部图的情况:

-
这种情况下, 它们的 homohily metrics 都是 0, 但是即便如此, 应该 Aggregation 后, 它们依旧能够无碍地进行区分. 换言之, 上述地 homohily metrics 和图结点的可判别性并不是直接挂钩的. 作者希望用一个更加合适的 metric 来替代.
Post-aggregation node similarity matrix
-
让我们首先考虑用 SGC 来进行结点预测的方式:
Y=softmax(Y′)=softmax(^AXW),
其中 W 是通过如下的损失进行训练的:
L=−Tr(ZTlogY).
-
作者证明, 倘若采用学习率为 γ 的一般的梯度下降训练, 有
ΔY′=^AXΔW=γ^AXdLdW∝^AXdLdW=^AXXT^AT=:S(^A,X)(Z−Y).
注: 作者证明的时候把 softmax 转换为:
Y=softmax(Y′)=(exp(Y′)1C1TC)−1⊙exp(Y′)
然后进行矩阵推导的方式挺巧妙的. 但是在推导的时候,

红色框出的部分, 我不知道是怎么来的. 无论是手推还是用数值计算得出的结果都是不等的. 不知道是我理解错了, 还是作者的证明有些瑕疵.
-
总而言之, 作者认为 S(^A,X) 能够更好地反映 aggregation 后的 heterophily, 进一步, 作者定义 aggregation similarity score:
Sagg(S(^A,X))=1|V|∣∣∣{v|Mean({S(^A,X)v,u|Zu,:=Zv,:≥S(^A,X)v,u|Zu,:≠Zv,:})}∣∣∣.
-
这种情况下得到的指标往往是 ≥0.5 的, 为了和上面的指标保持一致, 作者又稍微做了一些改进
SMagg(S(^A,X))=[2Sagg(S(^A,X))−1]+.
代码
[official]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2023-02-27 On the Theories Behind Hard Negative Sampling for Recommendation
2021-02-27 Chapter 4 Effect Modification
2019-02-27 Python Revisited Day 13 (正则表达式)