繁体   English   中英

有没有办法让 GraphSAGE 考虑加权边

[英]Is there a way to allow GraphSAGE take into account weighted edges

目前,我正在使用一个很棒的 Python 库 StellarGraph 来实现 GraphSAGE(图神经网络),并且对于大多数用途,该库运行良好。

我现在有一种情况,我有带加权边的图 - 权重反映了某些关系与其他关系相比的相对重要性。 换句话说,节点之间的某些链接具有较低的权重(低重要性),而另一些具有较高的权重(高重要性)。

在图网络训练期间考虑权重的情况下,这对于聚类甚至节点分类非常有用。

有没有办法让 GraphSAGE / python StellarGraph 考虑加权边?

现在通过数据生成器的weighted=True参数在 StellarGraph版本 1.2.0 中支持这一点。

例如,对于GraphSAGE 的GraphSAGENodeGenerator

G_generator = GraphSAGENodeGenerator(G, 50, [10,10], weighted=True)

有关这意味着什么的详细信息(引用修复相关问题 #462拉取请求 #1667 ):

这扩展了 GraphSAGE(无向和有向)以支持加权采样,其中权重较高的边被更频繁地按比例获取。

例如,假设有来自节点 A 的 4 条边:

A -0- B, A -1- C, A -2- D, A -3- D

从 A 开始的未称重的步行将选择具有相等概率的每条边,因此以 1:1:2 的比例(边数)在 B、C 或 D 上结束。 加权行走将选择与权重成比例的边,因此最终以 0:1:5 的比例(边权重之和)在顶点上。 (值得特别强调:加权行走永远不会选择 AB 边,因为它的权重为 0。)

支持边缘权重的全套算法通过文档中演示表中的“边缘权重”列进行标记。

您是否找到了解决方法或解决方案? 我也有同样的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM