本发明涉及一种图节点分类方法,尤其是涉及一种基于循环神经网络的图节点分类方法。
背景技术:
图模型结构广泛存在于现实社会中,如在线社交网络就是反应人与人关系的图结构,用户为图中的节点,用户间的关系为图的边。因此,对图结构的分析是诸多现实问题的理论基础。节点是图的基本组成部分,因此对节点的分析十分重要,这其中对节点类型的预测是现实社会中尤其是社交网络中用户分析的关键任务。
深度神经网络在图像、文本和语音识别等领域取得了众多突破性进展。循环神经网络模型(recurrentneuralnetwork,rnn)作为一类深度神经网络被广泛用于和序列相关的模型中。在自然语言中,词语在句子中的排列具有顺序性,因此可以用rnn模型捕捉词语间的关系。rnn模型将短文本中的单词按顺序输入模型,并最终将文本映射为一个低维实值向量。近年来,有大量的工作研究基于深度神经网络的图表示学习。图表示学习将图中的每个节点表示为低维向量(networkembedding),这些低维向量反映了节点在图中的结构信息。
技术实现要素:
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于循环神经网络的图节点分类方法。
本发明的目的可以通过以下技术方案来实现:
一种基于循环神经网络的图节点分类方法,该方法包括如下步骤:
s1、给定一个原始图,构建针对每个节点的中心图;
s2、初始化每个中心图节点的初始状态表示向量,同时获取中心图邻接矩阵;
s3、以中心图邻接矩阵和初始状态表示向量为输入,节点类型为输出训练基于循环神经网络的分类模型;
s4、将原始图邻接矩阵和待分类的节点的初始状态表示向量输入至所述的分类模型得到节点类型。
步骤s1具体为:对于给定的一个原始图,针对任意一个给定节点,构建一个围绕该给定节点的中心图,该中心图包括给定节点和与给该节点直接连接的邻居节点的连接状态以及邻居节点间的连接状态。
步骤s2具体为:
s201、构建原始图的邻接矩阵m,m中第i行第j列元素mij表示图中第i个节点和第j个节点的连接情况,若有边连接则mij为1,没有边连接则mij为0,i=1,2……n,j=1,2……n,n表示原始图中节点总个数;
s202、对该邻接矩阵m利用矩阵分解算法降至低维子空间中,得到图的低维矩阵s,矩阵s的第i行记作向量si,si为第i个节点的低维表示向量,将si作为第i个节点的初始状态表示向量;
s203、获取每个中心图的中心图邻接矩阵a,a中第p行第q列元素apq表示中心图中第p个节点和第q个节点的连接情况,若有边连接则apq为1,没有边连接则apq为0,p=1,2……c,q=1,2……c,c表示中心图中节点总个数。
步骤s3中分类模型包括:
门限循环神经网络:以原始图邻接矩阵和各中心图节点的初始状态表示向量为输入,传播每个中心图节点的连接信息,通过t次的传播,得到节点状态表示向量;
全连接神经网络:以节点状态表示向量为输入,得到节点特征表示向量;
分类器:以节点特征表示向量为输入,得到节点类型。
门限循环神经网络通过如下方式构建:
针对原始图的第i个节点,以该节点为中心节点构建的中心图包含c个节点,对应的邻接矩阵为ai,以该中心图作为门限循环网络的输入,具体形式为:
对于该中心图中的所有节点,门限循环网络的初始隐藏层状态为该中心图中各节点对应的原始图邻接矩阵低维表示向量:
进而,门限循环神经网络初始输入为:
当t>1时:
t为循环次数,aip以原始图中第i个节点为中心节点构建的中心图中第p个节点所对应的邻接向量,即aip为ai中第p行向量,
所述的全连接神经网络具体为:
其中,vi为原图中第i个节点的特征表示向量,
与现有技术相比,本发明具有如下优点:
(1)本发明基于循环神经网络的分类模型分类准确度高;
(2)本发明利用邻接矩阵的矩阵分解子空间获得图的全局信息,同时利用中心图的邻接矩阵获得节点的局部信息,门限循环神经网络传播在局部空间中传播信息状态,从而得到图节点的特征表示向量,提高节点分类准确率。
附图说明
图1为本发明基于循环神经网络的图节点分类方法的流程框图;
图2为本发明中心图的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。注意,以下的实施方式的说明只是实质上的例示,本发明并不意在对其适用物或其用途进行限定,且本发明并不限定于以下的实施方式。
实施例
如图1所示,一种基于循环神经网络的图节点分类方法,该方法包括如下步骤:
s1、给定一个原始图,构建针对每个节点的中心图;
s2、初始化每个中心图节点的初始状态表示向量,同时获取中心图邻接矩阵;
s3、以中心图邻接矩阵和初始状态表示向量为输入,节点类型为输出训练基于循环神经网络的分类模型;
s4、将原始图邻接矩阵和待分类的节点的初始状态表示向量输入至所述的分类模型得到节点类型。
步骤s1具体为:对于给定的一个原始图,针对任意一个给定节点,构建一个围绕该给定节点的中心图,该中心图包括给定节点和与给该节点直接连接的邻居节点的连接状态以及邻居节点间的连接状态。如图2所示为中心图的结构示意图,该图中,vi为中心节点,vi1、vi2、vi3和vi4为vi的邻居节点。以社交网络中的用户分类为例,给定一个社交网络中的数据,将社交网络中的用户看作成图中的节点,则用户之间的关系可以看作一条边,,即用户i与用户j有关系,则节点i和节点j之间有一条边。针对每个节点,构建一个围绕该节点的中心图(egonetwork),该中心图包括该节点和与该节点直接连接的邻居节点以及邻居节点间的连接状态。
步骤s2具体为:
s201、构建原始图的邻接矩阵m,m中第i行第j列元素mij表示图中第i个节点和第j个节点的连接情况,若有边连接则mij为1,没有边连接则mij为0,i=1,2……n,j=1,2……n,n表示原始图中节点总个数;
s202、对该邻接矩阵m利用矩阵分解算法降至低维子空间中,得到图的低维矩阵s,矩阵s的第i行记作向量si,si为第i个节点的低维表示向量,将si作为第i个节点的初始状态表示向量;
s203、获取每个中心图的中心图邻接矩阵a,a中第p行第q列元素apq表示中心图中第p个节点和第q个节点的连接情况,若有边连接则apq为1,没有边连接则apq为0,p=1,2……c,q=1,2……c,c表示中心图中节点总个数。
具体地,针对社交网络,m为原始图的邻接矩阵m,该邻接矩阵反应节点间的连接关系;若节点i和节点j之间有一条边,则mij的值为1,若没有边连接的两个节点,mij对应的值为0。在得到邻接矩阵m的基础上,对矩阵进行谱分解,
步骤s3中分类模型包括:
门限循环神经网络:以原始图邻接矩阵和各中心图节点的初始状态表示向量为输入,传播每个中心图节点的连接信息,通过t次的传播,得到节点状态表示向量;
全连接神经网络:以节点状态表示向量为输入,得到节点特征表示向量;
分类器:以节点特征表示向量为输入,得到节点类型。
门限循环神经网络通过如下方式构建:
针对原始图的第i个节点,以该节点为中心节点构建的中心图包含c个节点,对应的邻接矩阵为ai,以该中心图作为门限循环网络的输入,具体形式为:
对于该中心图中的所有节点,门限循环网络的初始隐藏层状态为该中心图中各节点对应的原始图邻接矩阵低维表示向量:
进而,门限循环神经网络初始输入为:
当t>1时:
t为循环次数,aip以原始图中第i个节点为中心节点构建的中心图中第p个节点所对应的邻接向量,即aip为ai中第p行向量,
所述的全连接神经网络具体为:
其中,vi为原图中第i个节点的特征表示向量,
本实施例中,分类器采用softmax分类器,具体地:
上述实施方式仅为例举,不表示对本发明范围的限定。这些实施方式还能以其它各种方式来实施,且能在不脱离本发明技术思想的范围内作各种省略、置换、变更。