分享一个用新方法解决老问题的算法,只能说想法巧妙,实现简单。

  1. 论文简介:

本研究提出了一种基于深度学习方法的新方法名为,CGNN,用于通过卷积神经网络(CNN)和图神经网络(GNN)识别复杂网络中的重要节点。通过收缩算法获取特征矩阵,并通过易感--恢复(SIR)模型获取标签。与九个基准方法在三十个合成网络和十二个真实网络上的比较,实验结果表明CGNN表现出更好的性能,具有增加且显着增加的Kendall's相关系数值,接近1的单调性指数值以及更均匀分布的排名分布函数曲线上的点。这些结果对于控制疫情传播和增强网络鲁棒性具有重要参考意义。

  1. 收缩算法:

      

步骤1. 查找节点x的一阶邻居和二阶邻居。

步骤 2. 将节点 x 及其一阶邻居合并为新节点 ,并删除它们之间的链接。

步骤 3. 连接新节点和节点 x 的二阶邻居。

步骤4. 删除节点x的一阶邻居和二阶邻居之间的链接。

如图所示,网络中有10个节点和18条连边

步骤1. 寻找节点1的一阶邻居2,3,4,二阶邻居是5,6,7,8。

步骤 2. 将1,2,3,4的节点合并为一个新节点 ,并删除它们之间的链接,包括(1,2)、(1,3)、(1,4)、(2,3)、(2,4)、(3,4)。

步骤 3. 将新节点和节点5、6、7、8连接起来。

步骤4. 节点2、3、4和节点5、6、7、8之间的链接被删除,包括(2 ,5)、(3,6)、(3,8)、(4,5)、(4,6)、(4,7)。

3.通过收缩算法获得特征矩阵:

步骤1.对于图 G 中的每个节点,通过广度优先搜索算法选择其个邻居节点(一阶邻居、二阶邻居,一直到第 r 阶邻居)。如果节点的邻居节点数小于,则选择所有邻居节点。当选择邻居时,如果两个节点属于相同的阶(即从节点 x 出发到达节点 u 和节点 v 的距离相同),则根据它们的节点度进行降序排列。

步骤2.根据节点 x 的邻居获取子图 和对称邻接矩阵。如果节点 x 的邻居数量小于,则将这个子图的邻接矩阵的一部分元素设为 0。具体来说:

ⅰ把原始节点 x 及其所有邻居节点都放入这个子图中。

如果节点 x 的邻居数量不足,就会添加一些节点,确保有足够多的节点参与进来。

对于那些新增的节点,它们与原始节点及其邻居节点之间的连接关系都被设置为 0。这样做的目的是确保生成的子图具有一定的大小。

步骤3.通过之前提到的收缩算法,获得压缩子图和节点x的压缩邻接矩阵

步骤4.通过将节点 x 的原始邻接矩阵和压缩后的邻接矩阵相减,并取绝对值,我们得到了节点 x 的特征矩阵 F(x),用来描述节点 x 的一些特征。

特征矩阵:

通过对比邻接矩阵A(x) 和 压缩后的邻接矩阵B(x),可以发现网络结构的变化。F(x)中每个元素表示了对应位置在两个邻接矩阵中的值之间的差异,即节点连接关系的变化情况。如果F(x)中的某个元素为 0,意味着对应位置的连接关系在合并节点 x前后没有变化。如果 F(x) 中的某个元素不为0,表示对应位置的连接关系发生了变化,这反映了网络状态的变化。

例如:例如,=1;j=2,3,4,5,6,7,8表示了节点1的直接邻居发生了变化。=0 表示在合并节点 1后,节点6和节点8之间的状态没有发生变化。网络状态变化越显著,=1的数量越多。

合并节点 4 会比合并节点 10 引起更大的网络状态变化。在特征矩阵中,F(4) 中=1的数量比 F(10) 中更多。

收缩算法生成的特征矩阵 F(x) 的优点:

1.通过收缩算法生成的特征矩阵 F(x) 克服了手工选择特征的困难。这意味着不再需要手动选择节点的特征,而是通过算法自动生成。

2.特征矩阵F(x)包含了节点x的多个特征,因此克服了单一指标的局限性。这意味着可以从多个角度来描述节点x 的特征。

如果节点 x 的度数较大,则在节点 x 合并后,网络结构更加紧凑,网络状态变化更显著。因此,特征矩阵 F(x) 可以反映节点的局部网络结构特征。

如果节点 x 处于网络的核心位置,则合并节点 x 会减少平均路径长度并改变网络状态。因此,特征矩阵 F(x) 可以描述节点位置的特征。

3.收缩算法考虑了合并节点后的网络结构变化,因此矩阵F(x)反映了整个网络结构的变化情况,而不仅仅是某个节点的特定特征。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐