Self-supervised Graph Convolutio
该论文不是传统意义上的多视图,而是使用欧拉变换构建的新的表示作为多视图的输入。
作者分析,现有的图神经网络采用直接使用原始图作为过滤器的方法进行数据训练,忽视了原始图可能包含异常值信息这一缺点。其次,现有图聚类模型几乎没有利用聚类结果进行自监督来更新聚类结果。作者将自监督加入图聚类中这一点作为一个很大的创新。
在建立很少有异常值的图结构方面,作者使用欧拉变化构建新的视图。该新的视图不仅去掉了很多异常值,还挖掘到了非线性的信息。
在利用自监督来更新聚类过程中,利用聚类标签来更新隐藏表示和协同矩阵,然后再进行聚类结果更新。
技术实现:
1.使用欧拉变化去掉异常值并挖掘非线性信息作为新的视图表示。
i 是虚数,阿尔法是频率系数,在实验过程中作者直接给定具体值。
2.子空间聚类:(其实是子空间聚类+图注意力网络)
多视图子空间聚类的目的是学习多个视图之间的协同表示矩阵,再利用该矩阵聚类。
作者并不是用原始数据信息直接进行子空间聚类,而是用图注意力网络处理过的隐藏表示F进行子空间聚类。作者让原始视图表示和新的视图表示使用一个图结构,送入图注意力网络中训练,训练过程中共享参数,得到含有原始数据线性信息、去异常值的非线性信息和结构信息的隐藏表示F。
普通的子空间聚类:
在本文中,为了同时获取两个视图的信息,构建了针对多个视图的子空间学习方法:
F是前面得到的两个视图的隐藏信息。此处的C是融合了两个视图信息的自表示系数矩阵。用C进行谱聚类得到初始聚类标签。
作者将每个视图的F*C作为新的表示,送入图注意力网络的编码器中。为了同时巩固语义信息和结构信息,编码器的生成数据分别与原始数据表示和图结构表示做对比。
3.自监督学习:
初始聚类标签的标签信息不一定准确。作者利用这一特点构建了自监督学习过程。
自监督过程主要对隐藏表示F和自表示系数矩阵C进行改进:
(1) 对隐藏表示F:
作者对两个视图的F构建了三层全连接层和一个分类器,得到一个新的聚类结果。将这个聚类结果和子空间得到的聚类结果进行比对,从而加强聚类效果。具体的:
(2)对自表示系数矩阵C:
利用标签信息和自表示系数矩阵C的一致性,对C进行改进。具体的:
自表示系数矩阵Cij表示数据i和数据j之间的线性相关性。规定:聚类标签i和聚类标签j之间相同时,Cij才非零,以此来实现两者之间的一致性。
模型搭建:
1. 欧拉变换构建新视图
2. 图注意力网络编码器,得到中间层表示F
3. 图注意力网络的中间层用作多视图协同子空间聚类
用中间层的分类器结果和子空间聚类标签加强中间层F表示
用子空间聚类标签加强子空间自表示系数矩阵C
4. 图注意力网络解码器,输入加强过的F*C
总结:图注意力网络、子空间聚类、自监督的结合。
实验过程:
1.数据集:
三个数据集是采用含有官方图结构的数据集;
一个数据集用五个邻居信息构建图结构。
2.基准实验:
由于该论文主要在语义信息X,结构信息A,欧拉变换的新表示上做的工作。因此作者做了类似于消融实验的工作:
3.评价指标:acc,nmi,ari
4.参数设定:从本文可以看到,根据不同的数据集和情况,所有的参数都可以根据情况变动以取得最好的结果,只需要在论文中说明即可。
实验结果分析:
文章对每个对比实验跑了十次,最后取平均值。从结果中分析得:
(1)有图结构得普遍比非图结构的实验跑的好
(2)在cora 和Citeseer 上跑的好。
(3)多视图比单视图实验结果好
(4)实验效果同样适用于大规模数据
(5)使用不同的算法生成新的视图,效果不同。欧拉变换最好。原因是挖掘了非线性信息。
不同参数的敏感度分析:
对不同损失函数前面的参数进行分析。并画出了不同参数的效果图。
对不同的网络层参数进行分析
对聚类簇的个数进行分析
消融实验:
对四个损失函数进行消融实验
对不同的对比试验进行可视化分析