1.一种多层半监督分类方法,包括:
S100、准备数据集,所述数据集是包含图拓扑结构的数据集,其包括节点及节点间的关系,节点间的关系用图拓扑结构中的边表示,所述数据集包括已标记数据和未标记数据两部分,已标记数据包含类别信息作为数据的标签,而未标记数据不包含类别信息及标签;
S200、对步骤S100准备的数据集进行预处理,S201、提取数据集中所有的节点信息的特征向量构成特征向量X、以及数据集中所有节点的边构成邻接矩阵A;
S202、根据构造好的邻接矩阵A进行预处理得到新的邻接矩阵S300、基于步骤S200预处理的数据集建立对应的卷积神经网络模型;
S400、基于步骤S200预处理的数据集对步骤S300建立好的卷积神经网络模型进行训练得到分类结果,包括:S401、初始化模型的权值矩阵;
S402、在建立好的模型中输入数据集的特征向量X和新的邻接矩阵 进行正向传播;
S403、正向传播结束输出分类结果后,判断是否达到迭代结束条件,如果迭代结束则输出该步骤的分类结果作为最终分类结果;如果迭代未结束则利用交叉熵损失函数计算输出的分类结果和实际数据类别的误差,得到交叉熵C;
S404、利用所述交叉熵C在所述模型中进行反向传播,更新模型的权值矩阵;
S405、基于更新后的权值矩阵,返回步骤S402继续执行。
2.根据权利要求1所述的方法,优选的,所述步骤S202具体为:使用公式构建新的邻接矩阵 其中A2
代表图的二阶邻居,d代表节点自身与一阶邻居具有的权重,节点的二阶邻居具有权重(1-α),IN是对角线上全部为1的N阶单位矩阵,N代表数据集中的数据个数。
3.根据权利要求1所述的方法,所述步骤S300中,卷积神经网络模型按数据流向顺序建立,包括:输入层,用于接收特征向量X和新的邻接矩阵 作为输入并存储;
随机丢弃层_1,用于对输入层的数据进行随机丢弃;
图卷积层_1,用于接收随机丢弃层_1的结果和邻接矩阵A,进行卷积运算;
随机丢弃层_2,用于对图卷积层_1的运算结果进行随机丢弃;
图卷积层_2,用于接收随机丢弃层_2的结果和邻接矩阵A,进行卷积运算;
随机丢弃层_3,用于对图卷积层_2的运算结果进行随机丢弃;
图卷积层_3,用于接收随机丢弃层3的结果和邻接矩阵A,进行卷积运算;
全连接层,用于接收图卷积层_3的运算结果,全连接层中的每一个神经元都与图卷积层_3中的神经元相连,并进行卷积运算;
输出层,使用softmax函数对全连接层的输出进行计算,得出分类结果用于存储并输出分类结果。
4.根据权利要求1所述的方法,所述步骤S401初始化模型的权值矩阵具体为:将W(0),W(1),W(2),W(3),W(4)进行随机赋值,其中W(0)表示输入层到随机丢弃层_1的权值矩阵,W(1)图表示卷积层1到随机丢弃层_2的权值矩阵,W(2)表示图卷积层_2到随机丢弃层_3的权值矩阵,W(3)表示图卷积层_3到全连接层的权值矩阵,W(4)代表全连接层到输出层的权值矩阵。
5.根据权利要求1所述的方法,所述步骤S402正向传播过程包括:S4021、将特征向量X和新的邻接矩阵 以矩阵的形式存储到输入层;
S4022、随机丢弃层_1对输入层的神经元进行随机关闭;
S4023、将随机丢弃层_1没有被丢弃的信息以及邻接矩阵A输入到图卷积层_1进行卷积运算;
S4024、随机丢弃层_2对图卷积层_1的神经元进行随机关闭;
S4025、将随机丢弃层_2没有被丢弃的运算结果以及邻接矩阵A输入图卷积层_2进行卷积运算;
S4026、随机丢弃层_3对图卷积层_2的神经元进行随机关闭;
S4027、将随机丢弃层_3没有被丢弃的运算结果以及邻接矩阵A输入图卷积层_3进行卷积运算;
S4028、将图卷积层_3的运算结果输出到全连接层进行卷积运算;
S4029、将全连接层的运算结果传入输出层,通过softmax函数进行分类后得到分类结果进行存储并输出。
6.根据权利要求5所述的方法,所述正向传播过程中,数据经过所述卷积神经网络模型的前一层到随机丢弃层再到后一图卷积层的计算过程为:H(j)=D(σ(AH(j-1)W(j-1))),其中,H(j)表示第j层的运算结果,H(j-1)表示第j-1层的运算结果,H(j)和H(j-1)都是激活向量,W(j-1)代表连接第j-1层到随机丢弃层的权值矩阵,D代表随机丢弃函数,用于随机关闭一(0)些神经元,σ是激活函数,H 表示输入层的激活向量。
7.根据权利要求1所述的方法,所述步骤S403中,计算交叉熵C的交叉熵损失函数为:C=-∑kyklogak,
其中,C表示交叉熵,ak表示输出层中第k个神经元的输出值,yk表示第k个神经元对应的真实值,取值为0或1。
8.根据权利要求7所述的方法,计算得到交叉熵后,选择交叉熵损失较小的节点添加标签,以增加数据集中带有标签的节点的个数。
9.根据权利要求8所述的方法,选择交叉熵损失较小的节点的筛选条件是:a)交叉熵损失小于阈值t;
b)在交叉熵损失由小到大的排序中位于前d%;
其中,t和d的取值根据不同的数据集进行调整。
10.根据权利要4所述的方法,所述步骤S404反向传播过程包括:S4041、用交叉熵对W(4)求偏导p(4),公式为:更新W(4):W(4)′=W(4)-φ*p(4),其中φ代表学习速率,W(4)′代表更新后的权值矩阵;
S4042、用交叉熵对W(3)求偏导p(3),公式为: h(4)代表全连接层的输出结果;
更新W(3):W(3)′=W(3)-φ*p(3),其中φ代表学习速率,W(3)′代表更新后的权值矩阵;
S4043、用交叉熵对W(2)求偏导p(2),公式为: h(3)代表图卷积层_3的输出结果;
更新W(2):W(2)′=W(2)-φ*p(2),其中φ代表学习速率,W(2)′代表更新后的权值矩阵;
S4044、用交叉熵对W(1)求偏导p(1),公式为: h(2)代表图卷积层_2的输出结果;
更新W(1):W(1)′=W(1)-φ*p(1),其中φ代表学习速率,W(1)′代表更新后的权值矩阵;
S4045、用交叉熵对W(0)求偏导p(0),公式为: h(1)代表图卷积层_1的输出结果;
更新W(0):W(0)′=W(0)-φ*p(0),其中φ代表学习速率,W(0)′代表更新后的权值矩阵。