目标
将网络节点嵌入成向量
方法
考虑网络结构,节点文本,节点标签 三个因素,采用神经网络,将网络的节点嵌入成向量。
论文中的网络的结构信息其实是网络的邻居信息。和deep walk一样,使用random walk之后用skip-gram就可以保留邻居信息。论文中的文本信息使用的是论文标题,也就是文章使用的数据集是论文的引用网络,每一篇论文都有标题,标题内容相似的节点更加相似。但是在本例中,节点1和节点9的标题都含有transfer,但嵌入后却不相似,是因为本文的第三个考虑点label,节点1的label是属于transfer learning,而节点9的label是video coding。
步骤
本文的网络是两个相连的skip-gram网络。
左边的skip-gram和deep walk中的一样,就是通过ramdom walk之后,将节点串看成文本,设置窗口,进行学习。右边的网络的输入有两个,一个是节点,一个是此节点的label,而输入是论文title中的每个单词的向量。也就是在此节点和此节点的label下,的到的标题的word的可能性要大。
因此我们可以的到下面的目标:
alpha是权重。第一项是random walk+skip-gram的概率表达,也就是在当前点vi作为输入时,输出的的到的向量要更大可能的表示他的邻居。第二项是在当前节点的输入下,输出的向量要更大可能的表示此节点的论文标题中的单词。第三项是在当前节点的label的输入下,输出的向量要更大可能的表示此节点的论文标题中的单词。
综合来看,也就是我们学习到的点的表达,不仅可以使得邻居节点的表达相似,也可以使得论文的文本相似的节点相似,当然是在label相似的前提下。
对于每一项的概率,可以使用softmax来表示: