目前,我正在使用一个很好的python库StellarGraph来实现GraphSAGE (图形神经网络),并且对于大多数使用来说,这个库工作得很好。
现在,我遇到了一种情况,即我有带加权边的图--权重反映了一些关系相对于其他关系的重要性。换句话说,节点之间的一些链接具有较低的权重(低重要性),而另一些则具有较高的权重(高重要性)。
在图网络训练中考虑权重的情况下,这对于聚类甚至节点分类都是非常有用的。
有没有办法让GraphSAGE / python StellarGraph考虑加权边?
发布于 2020-07-21 05:10:50
现在,StellarGraph中的版本1.2.0通过数据生成器的weighted=True参数来支持这一点。
G_generator = GraphSAGENodeGenerator(G, 50, [10,10], weighted=True)有关这意味着什么的详细信息(引用修复拉请求#1667的相关问题#462):
这扩展了GraphSAGE (无向和有向),以支持加权抽样,其中权重较高的边缘被更多地按比例选取。 例如,假设节点A有4条边:

从A开始的未称重行走将以相同的概率选择每一条边,因此以1:1:2的比例结束于B、C或D(边数)。加权行走将选择与权重成比例的边,因此在顶点上按0:1:5 (边权之和)结束。(值得特别强调的是:加权行走永远不会选择A边缘,因为它的权重为0。)
支持边缘权重的整套算法通过文档中的演示表中的“边缘权重”列进行标记。
https://stackoverflow.com/questions/57259920
复制相似问题