One2Multi Graph Autoencoder for Multi-view Graph Clustering(有代码)

简要概括

这篇文章是针对多视图图聚类,大部分较为传统,但是也有自己创新的想法在里面,下面简要记录一下,方便以后回来看。

摘要(翻译过来的,建议看英文)

多视图图聚类是一种对具有多个视图的图进行划分的方法,这些视图往往提供更全面但更复杂的信息,近年来受到了广泛的关注。虽然在多视图图聚类方面已经做了一些努力并取得了不错的性能,但大多数聚类方法都采用了较浅的模型来处理多视图图内部的复杂关系,这严重限制了多视图图信息的建模能力。本文首次尝试将深度学习技术用于属性多视图图聚类,提出了一种新的任务引导的one2multigraph自编码器聚类框架。one2multigraph图形自动编码器能够通过使用一个信息图形视图和内容数据重构多个图形视图来学习节点嵌入。因此,可以很好地捕获多个图的共享特征表示。此外,提出了一种自训练聚类目标来迭代改进聚类结果。通过将自训练和自编码器重构集成到一个统一的框架中,我们的模型可以联合优化适合图聚类的簇标签分配和嵌入。在多视图数据集上的实验很好地验证了我们模型的有效性。

讲真的,不如直接看英文,因为中文翻译一些地方不对,影响理解,而且会对你的论文写作有影响,深受其害

接下来就简单说了,直接上图

在这里插入图片描述
一个数据对应多个图,就是比如你,李华,小文。你们三个是同学,所以这是一个关系图,同时你和李华是好朋友,这是一个图。你和小文还是表兄弟,这又是一个图。人是你们三个人,但是有三个不同的邻接矩阵A,作者就是先找一个最重要的图,也就是最有代表性的图来用,也就是那个Max modularity,就是比如表兄弟关系最重要,所以直接只用这个图。然后通过一个两层GCN网络获得中间层表达Z,然后就是下面的的学生t分布弄得一个监督约束(PS:挺多无监督论文都用,起一个自监督训练的作用)。然后右边的Decoder就是解码器,但是它并不是直接Z和Z的转置相乘,中间加了一个W,其实想想也是,你不加个W,你想用表兄弟网络构建同伴同学网络,我感觉不可能,对吧。这就完事了,这篇论文比较简单。
对了,补充一下,其实找出那个最重要的图的方法很简单,就是把每一个A和数据X分别输入一个单层GCN网络,得到一个特征编码,然后用k-means聚类,效果最好的,就是最适合的。

损失

在这里插入图片描述
这个就是邻接矩阵A的重建损失
在这里插入图片描述
这个就是自监督损失
总的损失就是把上面两个加起来,如下
在这里插入图片描述

代码链接和论文结果

代码链接
论文链接
在这里插入图片描述

总结

我也是刚入门GNN没多久,大家一起学习。这篇论文有代码。
最后说一下自己的想法:
1.如果一开始不是选一个最好的,而是给不同的A不同的权值,都用上不知道效果会不会好,或者把作者的前找出的结果的前K名都分配权重而不是只用一个,感觉效果多少会好一点,毕竟数据集算是扩充了。或者解码只要求解码出前K个重要的就可以了。
2.不知道对中间层Z做一个自表示,然后对自表示加一些稀疏低秩的约束,然后谱聚类效果会不会好。
3.给中间层Z,再加一个对抗约束,让他服从个一个先验分布会怎么样。
4.如果对于X来说的话,做一些数据扰动,类似于MGAE: Marginalized Graph Autoencoder for Graph Clustering 这篇论文,让X也变化,配着不同的A,会怎么样。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页