一种基于双注意力的社交网络图节点分类方法

文档序号:37456476发布日期:2024-03-28 18:39阅读:11来源:国知局
一种基于双注意力的社交网络图节点分类方法

本发明涉及社交网络分析,特别指一种基于双注意力的社交网络图节点分类方法。


背景技术:

1、图神经网络(graph neural networks,简称gnns)是一类用于图数据挖掘的深度学习方法,近年来被广泛应用于众多领域。随着互联网和社交媒体的迅猛发展,产生了大量的异质图,其中包括社交网络、金融交易网络、电商网络等的异质图,而传统的图神经网络无法有效处理这些异质图。为解决这一问题,异质图神经网络应运而生。

2、异质图是一种具有多种节点和边类型的图结构,例如在社交网络中,节点可以表示不同类型的实体,如用户、商店和机构等,而边可以表示不同类型的关系,如同事、好友和上下级等关系。在异质图网络上进行节点分类是对异质图进行数据挖掘的一项重要任务,异质图的挖掘和分析对于理解复杂关系网络、推荐系统、社交网络分析等任务非常重要。

3、异质图节点分类在实际生活中有着广泛的应用,例如社交网络分析、生物信息学、推荐系统、文本分类和金融风控等。在生物信息学中,异质图可以用于表示蛋白质相互作用网络;节点可以表示不同类型的蛋白质,边可以表示蛋白质之间的相互作用类型;通过对蛋白质节点进行分类,可以对蛋白质进行功能预测,有助于理解蛋白质相互作用网络的结构和功能。在文本分类任务中,可以将文本数据转化为异质图,其中节点可以表示单词或短语,边可以表示它们之间的语义关系;通过对文本节点进行分类,可以实现文本情感分析、主题分类等任务,有助于理解文本数据的内容和情感倾向。在金融领域中,异质图可以用于表示用户、交易和风险等信息之间的关系;通过对用户节点进行分类,可以实现风险评估和欺诈检测等任务,有助于提升金融风控的准确性和效率。

4、传统的异质图神经网络基于元路径对异质图的结构、特征进行建模,进而对异质图进行节点分类,而元路径需要手动选择,然而社交网络图(社交网络的异质图)中节点和边具有不同的类型和属性,手动选择元路径存在信息丢失的问题,不能充分挖掘社交网络图的丰富信息,进而影响社交网络图节点分类的准确率。

5、因此,如何提供一种基于双注意力的社交网络图节点分类方法,实现提升社交网络图节点分类的准确率,成为一个亟待解决的技术问题。


技术实现思路

1、本发明要解决的技术问题,在于提供一种基于双注意力的社交网络图节点分类方法,实现提升社交网络图节点分类的准确率。

2、本发明是这样实现的:一种基于双注意力的社交网络图节点分类方法,包括如下步骤:

3、步骤s1、获取大量的社交网络图,对各所述社交网络图进行标准化的预处理以及标注后构建数据集;

4、步骤s2、基于信息编码器模块、边特征注意力模块、节点排序注意力模块以及输出模块创建一节点分类模型;

5、所述信息编码器模块用于从社交网络图中提取节点特征以及初始邻接矩阵集合,通过归一化函数对所述节点特征进行节点特征编码得到归一化特征,通过平均池化函数对所述初始邻接矩阵集合进行边特征编码得到新邻接矩阵;

6、所述边特征注意力模块用于对归一化特征进行特征嵌入,得到嵌入表示、嵌入表示、嵌入表示,对所述新邻接矩阵进行特征嵌入,得到嵌入表示;将所述嵌入表示融合到嵌入表示、嵌入表示、嵌入表示中,得到嵌入表示、嵌入表示、嵌入表示;对所述嵌入表示、嵌入表示、嵌入表示,采用多头注意力机制以及归一化点乘注意力机制依次计算各节点的全局注意力矩阵,对各所述全局注意力矩阵取平均得到节点嵌入,通过归一化函数以及激活函数将所述节点嵌入输出为边特征;所述嵌入表示、嵌入表示、嵌入表示分别使用三个不同的线性参数矩阵wn1、wn2、wn3进行特征嵌入得到;n1、n2和n3表示嵌入表示的下标,用于区分嵌入表示;所述嵌入表示、嵌入表示、嵌入表示,为分别用嵌入表示、嵌入表示、嵌入表示与嵌入表示融合得到的嵌入表示;e1、e2和e3表示嵌入表示的下标,用于区分嵌入表示;

7、所述节点排序注意力模块用于从边特征中提取各节点的特征矢量,基于所述特征矢量计算各节点与一阶邻居节点的注意力系数,进而得到各节点的第一注意力系数序列;按照数值递减的顺序对所述第一注意力系数序列的各注意力系数进行排序,得到第二注意力系数序列,对所述第二注意力系数序列进行归一化得到特征,通过双向长短期记忆函数将所述特征输出为特征;基于多头注意力机制计算各节点与一阶邻居节点的注意力系数,对各所述注意力系数进行排序得到第三注意力系数序列;通过双向长短期记忆函数将所述第三注意力系数序列输出为特征;基于所述特征以及特征输出节点排序特征z;所述注意力系数中,i表示第i个节点,j表示节点i的一个一阶邻居节点,k表示第k次独立计算的注意力系数,即表示节点i与一阶邻居节点j在第k次计算注意力系数得到的值;

8、所述输出模块用于通过线性函数以及归一化指数函数将节点排序特征z输出为节点分类结果;

9、步骤s3、基于所述数据集对节点分类模型进行训练,训练过程中不断优化所述节点分类模型的损失函数、优化器函数以及超参数;

10、步骤s4、利用训练后的所述节点分类模型进行社交网络图节点分类。

11、进一步的,所述步骤s2中,所述信息编码器模块对节点特征进行节点特征编码得到归一化特征的公式为:;

12、其中,表示节点特征,,r表示实数,n表示节点数量,d表示节点特征维度;表示归一化函数;表示归一化特征;

13、所述通过平均池化函数对初始邻接矩阵集合进行边特征编码得到新邻接矩阵的公式为:;

14、其中,表示新邻接矩阵,;表示平均池化函数;表示初始邻接矩阵集合,,表示社交网络图的边的类型数。

15、进一步的,所述步骤s2中,所述边特征注意力模块对归一化特征进行特征嵌入的公式为:;;;

16、其中,、、均表示线性矩阵,、、,d表示节点特征维度,,表示输出嵌入维度;表示归一化特征;

17、所述对新邻接矩阵进行特征嵌入的公式为:;

18、其中,表示新邻接矩阵;均表示线性矩阵,,;

19、所述将嵌入表示融合到嵌入表示、嵌入表示、嵌入表示中,得到嵌入表示、嵌入表示、嵌入表示的公式为:

20、;;;

21、其中,||表示矩阵拼接操作;

22、所述采用多头注意力机制以及归一化点乘注意力机制依次计算各节点的全局注意力矩阵,对各所述全局注意力矩阵取平均得到节点嵌入的公式为:;;

23、其中,表示全局注意力矩阵;表示归一化指数函数;表示的转置;head表示多头注意力机制的头数;表示第i次计算得到的全局注意力矩阵;表示可学习的参数矩阵,;;

24、所述通过归一化函数以及激活函数将节点嵌入输出为边特征的公式为:;

25、其中,表示归一化函数;表示激活函数。

26、进一步的,所述步骤s2中,所述节点排序注意力模块计算各节点与一阶邻居节点的注意力系数的公式为:;

27、其中,表示非线性激活函数leakyrelu;表示可学习的注意力权重向量,,r表示实数,表示节点特征的输出维度;表示的转置;表示线性变换中节点共享的可学习权重矩阵,,d表示节点特征维度;表示第i个节点的特征矢量,即边特征的第i行;表示第j个节点的特征矢量,即边特征的第j行,为的一阶邻居节点;||表示矩阵拼接操作;

28、所述按照数值递减的顺序对第一注意力系数序列的各注意力系数进行排序,得到第二注意力系数序列的公式为:;

29、其中,表示第二注意力系数序列;表示第一注意力系数序列;表示数值递减排序函数;表示排序后的下标;表示一阶邻居节点的数量;

30、所述对第二注意力系数序列进行归一化得到特征的公式为:;

31、其中,表示指数函数;表示第个特征矢量;

32、所述通过双向长短期记忆函数将特征输出为特征的公式为:;

33、其中,表示双向长短期记忆函数;

34、所述基于多头注意力机制计算各节点与一阶邻居节点的注意力系数的公式为:;

35、其中,表示第k次计算注意力系数对应的函数;表示第k次计算注意力系数对应的;

36、所述通过双向长短期记忆函数将第三注意力系数序列输出为特征的公式为:;

37、其中,表示第k个双向长短期记忆函数;表示多头注意力的头数。

38、进一步的,所述步骤s2中,所述输出模块输出节点分类结果的公式为:;

39、其中,p表示节点分类结果;表示归一化指数函数;表示线性函数。

40、进一步的,所述步骤s3中,所述损失函数为交叉熵损失函数,公式为:;

41、其中,表示损失值;表示交叉熵损失函数;y表示图数据的节点标注的标签,,表示第n个节点的标签;p表示节点分类结果,,表示第n个节点的节点分类结果。

42、进一步的,所述步骤s3中,所述超参数至少包括随机失活率、权值衰减率以及学习率。

43、进一步的,所述步骤s3中,所述基于数据集对节点分类模型进行训练具体为:

44、基于预设比例将所述数据集划分为训练集、验证集以及测试集,利用所述训练集对节点分类模型进行训练,训练过程中不断优化所述节点分类模型的损失函数、优化器函数以及超参数,直至满足预设的收敛条件;

45、利用所述验证集对训练后的节点分类模型进行验证后,再利用所述测试集对验证后的节点分类模型进行测试,若测试通过,则结束所述节点分类模型的训练;若测试不通过,则扩充所述训练集继续对节点分类模型进行训练。

46、本发明的优点在于:

47、通过获取大量的社交网络图进行标准化的预处理以及标注后构建数据集,基于信息编码器模块、边特征注意力模块、节点排序注意力模块以及输出模块创建一节点分类模型,基于数据集对节点分类模型进行训练,训练过程中不断优化节点分类模型的损失函数、优化器函数以及超参数,最后利用训练后的节点分类模型进行社交网络图节点分类;节点分类模型的信息编码器模块用于对社交网络图的特征和结构信息进行编码,边特征注意力模块用于结合自注意力机制并引入边的特征,以学习社交网络图的全局结构和特征表示,节点排序注意力模块用于通过节点排序注意力学习社交网络图的局部结构和特征表示,输出模块用于特征解码并输出节点分类结果,在整个学习过程中不需要使用元路径,并能够更好学习社交网络图丰富的特征信息,最终极大的提升了社交网络图节点分类的准确率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1