用于二进制分类的有向加权图的图嵌入的当前最佳算法是什么?

数据挖掘 深度学习 分类 图表 嵌入
2022-02-19 17:46:35

抱歉,如果这是一个新手问题,我不是数据科学专家,所以这就是问题所在:

我们有一个有向加权图,其较高或较低的权重值并不意味着边缘的重要性(因此最好嵌入算法不应该认为较高的权重更重要),它们仅用于暗示事件的时间它连接节点,所以较高的加权边是在较低的边之后发生的事件。

节点之间可以有多个边,我想使用深度学习进行二进制分类,这意味着我的模型将嵌入的图向量作为输入并决定它是否是恶意的(1)或不是(0)。

那么对于这项任务,可以从图中捕获尽可能多的信息的最先进的图嵌入算法是什么?我阅读了一些图形嵌入论文,但由于有很多新论文,因此找不到它们的任何好的比较。

重要提示:我在一些图嵌入算法中看到的一个问题是,它们尝试使用较小的向量维度,因为我猜它们用于有很多节点的字段中,因此它们需要这样做,但是在这个任务中它并不重要,节点是程序中的函数,它们很少超过 2000 个函数,所以即使算法创建 20k 维也没问题,我这么说是因为一些算法我正在阅读将产生一个向量,与图中的节点数相比,它的维数甚至更低!在我看来,这会导致信息丢失。总而言之,性能和大向量大小在我的任务中不是问题。所以最好算法应该从图中收集尽可能多的信息。

1个回答

我自己不是专家,但最近(即 2019 年也是如此),我听说(在专家的聚会上)Node2Vec 是 SOTA。

这是 Medium 上一篇文章的链接,对其进行了解释 - 基本上,Node2Vec 在图上生成随机游走(使用与游走长度等相关的超参数),并将节点嵌入到游走中,就像 Word2Vec 在句子中嵌入单词一样。

请注意,由于随机游走是在图上生成的,直观地您不必使用边权重,并且可以使用多个边。

PS 有一个较旧的(2014 年)算法,称为“DeepWalk”,我不太了解,但应该是相似的,更简单的,而且没有那么高性能。我只是添加这个以防你想搜索这个词。