Heterogeneous Graph Structure Learning for Graph Neural Networks (HGSL)论文笔记

该博客介绍了一种针对异质网络的节点分类方法,通过分解网络成多个子图,针对每种边类型应用GCN。首先,根据特定关系类型构建子图并融合节点属性信息,利用余弦相似度创建新邻接矩阵。接着,通过元路径生成节点的语义信息子图。最后,使用Attention机制融合所有邻接矩阵,并在GCN中进行训练,以最小化交叉熵损失。整个过程对不同关系类型重复,以实现全面的节点分类任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标:异质网络(子图)的嵌入,用于节点分类任务

方法:根据边(R)类型的的不同分解成多个子网络,对每个子网络使用GCN,进行联合优化,目标为是最小化交叉熵(目标是节点分类)

具体流程如图:

一、得到关系r1的子图

对于一类关系 r1  ,指的是连接两个节点的边,将这类关系的节点从异质图上挖下来构成一个子图。该子图的邻接矩阵为Ar1。

另外还融入了节点属性信息和节点间的语义信息。

二、得到融合节点属性的子图

对于一个关系 r1 ,节点的属性信息(文本、图像)先变成一个向量(如词嵌入,图像CNN等),然后用一层神经网络映射到同一特征空间。

如图(b)所示,得到了两个节点(h和t,h和t的节点类型可能一样也可能不一样)属性向量后,先进行一层神经网络映射(proj),然后计算向量相似度

这个长得奇奇怪怪的函数就是利用余弦相似度计算向量的相似度。

相识度表明了两个节点的关系强弱,相似度高就表示两个节点的关系越强。理论上我们可以认为这两个节点之间存在一条边。

选定一个阈值,如果相似度大于这个阈值我们就认为他们存在边,小于阈值认为不存在边。从而我们重新构建一个新的邻接矩阵

上面讲的是两类节点h和t之间的邻接矩阵。如果h和t节点类型不一样,同样对h同类节点也需要一个邻接矩阵

同理t类型的节点也需要一个邻接矩阵

然后计算(Ar表示的就是在r关系下的邻接矩阵)

关于这一步的意义论文这么解释:具有相似特征的两个节点可能具有相似的邻居。

因此,生成特征传播图的过程是双重的:首先,生成特征相似度图,即找到相似的节点;

其次,通过拓扑结构传播特征相似图,生成新的边,即寻找具有相似特征的节点的邻居(即)。

最后通过Attention机制融合这三个邻接矩阵

到这里,节点属性信息子图就构建完了。接下来根据语义信息(元路径)构建语义子图,如图(c)。

三、得到融合节点间语义信息的子图

第一步:利用MatePtah2Vec的方法根据选取的元路径不同(手工选择元路径),对每个节点进行向量化表示。

第二步:有了向量就可以像上面的套路一样构建邻接矩阵。

四、三个子图融合成一个子图

因为元路径有很多种,所以邻接矩阵就有很多个,最后再利用Attention机制融合成一个最终邻接矩阵

这里有一个疑问,既然只有一种关系r1,元路径不只有一种吗?对于t节点为(t-h-t),对于h节点为(h-t-h)

不管疑问,到这里就有了t和h节点的原始邻接矩阵和根据节点属性和语义信息的两个邻接矩阵。将这3个邻接矩阵融合(还是Attention机制)

五、对这个子图进行训练

最后把这个矩阵放入GCN进行训练,目标是最小化交叉熵

另外还防止过拟合加入正则化

最终目标函数为 

六、重新选取关系r重复以上五步

以上为针对一类关系(边)r1,那么对不同的关系r2、r3...也这么做,优化目标都是一样的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二流子学程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值