1.一种基于三元互信息图对比学习的网络节点分类算法,其特征在于,包括以下步骤:S1、确定目标图数据集对目标图数据集进行两次数据增强,获得视图其中,为节点集,N为节点数,ε={e1,e2,…eM}为边集,M为边数;
S2、通过共享权重的GNN编码器f(·,·),将视图编码得到下游任务需要的特征表示H1,H2;
S3、通过共享权重的映射头h(·),将特征表示H1,H2的非线性变化映射到指定特征空间表示Z1,Z2;
S4、通过共享权重的解码器d(·)解码指定特征空间表示Z1,Z2,得到D1,D2;
S5、计算指定特征空间表示Z1,Z2之间的对比损失再分别计算D1,D2与原图节点特征矩阵X的对比损失F是特征维度;
S6、根据对比损失和对比损失计算整体损失l,通过最小化损失更新GNN编码器f(·,·)的模型参数,完成本轮训练迭代;
S7、判断是否完成训练迭代次数,若是,则跳转至步骤S8,否则返回至步骤S2;
S8、将目标图数据集输入到训练好的GNN编码器f(·,·)中,输出得到结果表示H;
S9、对得到的结果表示H进行分类。
2.根据权利要求1所述基于三元互信息图对比学习的网络节点分类算法,其特征在于,步骤S1中,选择了边丢弃和节点特征掩盖两种增强方式,分别生成视图在边丢弃增强过程中,生成一个掩码矩阵MaskE∈{0,1}N×N,在Aij=1的情况下,从伯努利分布中采样,其它情况pE为边丢弃的概率,由此产生的邻接矩阵A计算为:A=A ⊙MaskE
其中⊙为哈达玛积,邻接矩阵A∈{0,1}N×N,若(vi,vj)∈ε,则Aij=1,否则Aij=0;
在节点特征掩盖增强过程中,从伯努利分布中采样,生成掩盖向量m∈{0,1}F,pF为节点特征掩盖的概率,此时原图节点特征矩阵X为:X=[x1 ⊙m;x2 ⊙m;…;xN ⊙m]T
其中是连接操作。
3.根据权利要求2所述基于三元互信息图对比学习的网络节点分类算法,其特征在于,边丢弃的概率pE∈(0.1,0.9),节点特征掩盖的概率pF∈(0.1,0.9)。
4.根据权利要求2所述基于三元互信息图对比学习的网络节点分类算法,其特征在于,步骤S2中,GNN编码器f(·,·)的神经网络传播层数L1={1,2,3,4}。
5.根据权利要求4所述基于三元互信息图对比学习的网络节点分类算法,其特征在于,步骤S3中,映射头h(·)的神经网络传播层数L2={1,2,3,4}。
6.根据权利要求5所述基于三元互信息图对比学习的网络节点分类算法,其特征在于,步骤S4中,解码器d(·)的神经网络传播层数L3={1,2,3,4}。
7.根据权利要求6所述基于三元互信息图对比学习的网络节点分类算法,其特征在于,步骤S5中,采用的损失函数定义为其中,U,V属于不同的样本,u∈U,v∈V,σ(·,·)为余弦相似性,τ为超参数温度系数,控制模型对负样本的区分度,τ∈(0.1,1);
对比损失的计算公式为
对比损失的计算公式为
8.根据权利要求7所述基于三元互信息图对比学习的网络节点分类算法,其特征在于,步骤S6中,整体损失l的计算公式为其中,λ∈(0,1),控制两部分损失线性组合比例。
9.根据权利要求8所述基于三元互信息图对比学习的网络节点分类算法,其特征在于,步骤S9中,采用线性分类器对结果表示H进行分类。