论文解读(MCGC)《Multi-view Contrastive Graph Clustering》
论文信息
论文标题:Multi-view Contrastive Graph Clustering
论文作者:Erlin Pan、Zhao Kang
论文来源:2021, NeurIPS
论文地址:download
论文代码:download
1 介绍
本文贡献:
- 使用Graph Filter 过滤了高阶噪声数据;
- 提出 Graph Contrastive Regularizer 改善了视图的质量;
2 方法
2.1 定义
将多视图图数据定义为 $G=\left\{\mathcal{V}, E_{1}, \ldots, E_{V}, X^{1}, \ldots, X^{V}\right\}$,其中 $\mathcal{V}$ 表示 $N$ 个节点的集合,$e_{i j} \in E_{v}$ 表示第 $v$ 个视图中节点 $i$ 与节点 $j $ 的关系,$X^{v}=\left\{x_{1}^{v}, \ldots, x_{N}^{v}\right\}^{\top}$ 为特征矩阵。邻接矩阵 $\left\{\widetilde{A}^{v}\right\}_{v=1}^{V}$ 描述了初始图的结构。$\left\{D^{v}\right\}_{v=1}^{V}$ 表示不同视图中的度矩阵。归一化邻接矩阵 $A^{v}=\left(D^{v}\right)^{-\frac{1}{2}}\left(\widetilde{A}^{v}+I\right)\left(D^{v}\right)^{-\frac{1}{2}}$ 和相应的图拉普拉斯算子 $L^{v}=I-A^{v}$。
2.2 Graph Filtering
$N$ 个节点的特征矩阵 $ X \in \mathbb{R}^{N \times d}$ 可以被视为 $ d$ 个 $N$ 维图信号。根据底层图,一个自然信号在附近的节点上应该是平滑的。平滑信号 $H$ 可以通过解决以下优化问题来实现:
$\underset{\text{H}}{\text{min}}\; \|H-X\|_{F}^{2}+s \operatorname{Tr}\left(\mathrm{H}^{\top} \mathrm{LH}\right)\quad\quad\quad(1) $
其中,$s>0$是一个平衡参数,$L $ 是与 $X$ 相关的拉普拉斯矩阵,可以通过对 $\text{Eq.1}$ 求导得到 $\text{H}$:
$H=(I+s L)^{-1} X\quad\quad\quad(2)$
为了避免求矩阵转置,我们用它的一阶泰勒级数展开式来近似 $\text{H}$,即 $H=(I−sL)X$。一般来说,第 $m$ 阶图滤波可以写成
$H=(I-s L)^{m} X\quad\quad\quad(3)$
其中 $m$ 是一个非负整数。图滤波可以在保留图的几何特征的同时,过滤出不良的高频噪声。
推导过程
$\|H-X\|_{F}^{2}+\operatorname{sTR}\left(H^{\top} L H\right)$
$\Leftrightarrow $
$\begin{aligned}&(H-X)^{\top}(H-X)+S\left(H^{\top} L H\right) \\=&\left(H^{\top}-X^{\top}\right)(H-X)+S H^{\top} L H \\=& H^{\top} H-H^{\top} X-X^{\top} H+X^{\top} X+S H^{\top} L H\end{aligned}$
此外
${\large \begin{array}{l} &\frac{\partial\left(H^{\top} H-H^{\top} X-X^{\top} H+X^{\top} X+s H^{\top} L H\right)}{\partial H} \\&= \frac{\partial H^{\top} H}{\partial H}-\frac{\partial H^{\top} X}{\partial H}-\frac{\partial X^{\top} H}{\partial H}+\frac{\partial X^{\top} X}{\partial H}+\frac{\partial s H^{\top} L H}{\partial H} \\&= 2 H-X-X+s\left(L H+L^{\top} H\right) \\&= 2 H-2 X+s L H +s L^{\top} H \\&=\left(2+S L+S L^{\top}\right) H-2 X\end{array}} $
$\begin{array}{l}2(I+S L) H=2 X \\H=(I+S L)^{-1} X\end{array}$
回忆:
$\|A\|_{F}=\sqrt{\sum\limits_{i}^{n} \sum\limits _{j}^{n} a_{i j}^{2}}$
泰勒展开 $(I-A)^{-1}=I+A+A^{2}+A^{3}+\cdots(\rho(A)<1)$
2.3 Graph Learning
为从平滑的表示 $H$ 中学习到一个优化的图 $S$,这里考虑使用自表达模型( self-expression)【每个数据点都可以用其他数据样本的线性组合来表示】去表示:
$\underset{S}{\text{min}}\left\|H^{\top}-H^{\top} S\right\|_{F}^{2}+\alpha\|S\|_{F}^{2}\quad\quad\quad(4)$
其中,$S \in \mathbb{R}^{N \times N}$ 为图矩阵,$\alpha>0$ 为权衡参数。
第一项是重构损失,第二项是作为一个正则化项,以避免平凡解。许多其他的正则化器也可以被应用,如核范数,稀疏$\ell_{1}$范数。
为了处理多视图数据,我们可以为每个视图计算一个平滑表示的 $H^{v}$,并扩展 $\text{Eq.4 }$ 通过引入一个加权因子来区分不同观点的贡献。
$\underset{S, \lambda^{v}}{\text{min}} \sum\limits _{v=1}^{V} \lambda^{v}\left(\left\|H^{v \top}-H^{v \top} S\right\|_{F}^{2}+\alpha\|S\|_{F}^{2}\right)+\sum\limits_{v=1}^{V}\left(\lambda^{v}\right)^{\gamma}\quad\quad\quad(5)$
其中,$\lambda^{v} $ 为第 $v$ 个视图的权值,$\gamma$ 为平滑参数。$\text{Eq.5 }$ 学习了一个由所有视图共享的 Consensus Graph $S$。为了学习更有鉴别性的 $S$,我们在本文中引入了一种新的正则化器。
2.4 Graph Contrastive Regularizer
本文选择将每个节点及其 $k$ 个近邻(KNN)视为正对。然后,我们通过在图矩阵 $S$ 上应用对比正则化器,而不是使用节点特征,从而在图级上进行对比学习。它可以表示为
$\mathcal{J}=\sum\limits_{i=1}^{N} \sum\limits _{j \in \mathbb{N}_{i}^{v}}-{\large \log \frac{\exp \left(S_{i j}\right)}{\sum\limits_{p \neq i}^{N} \exp \left(S_{i p}\right)}} \quad\quad\quad(6)$
其中,$\mathbb{N}_{i}^{v}$ 表示第 $v$ 个视图中节点 $i$ 的 $k$ 个最近邻。
$\text{Eq.6 }$是将邻居拉近,并将非邻居分开,以提高图的质量。最终,我们提出的多视点对比图聚类(MCGC)模型可以表述为:
$\underset{S, \lambda^{v}}{\text{min}} \sum\limits_{v=1}^{V} \lambda^{v}\left(\left\|H^{v \top}-H^{v \top} S\right\|_{F}^{2}+\alpha \sum\limits_{i=1}^{N} \sum\limits_{j \in \mathbb{N}_{i}^{v}}-{\large \log \frac{\exp \left(S_{i j}\right)}{\sum\limits_{p \neq i}^{N} \exp \left(S_{i p}\right)}} \right)+\sum\limits_{v=1}^{V}\left(\lambda^{v}\right)^{\gamma}\quad\quad\quad(7)$
与现有的多视图聚类方法不同,MCGC从多视图属性和多个结构图中探索整体信息。此外,它从平滑信号而不是原始数据构建一个 consensus graph。
2.5 Optimization
在等式中有两组 $\text{Eq.7 }$,很难直接解决它们。为了优化它们,我们采用了一种交替优化策略,即每次更新一个变量并固定所有其他变量。
固定 $\lambda^{v}$ , 优化 $S$:
因为 $\lambda^{v}$ 是固定的,所以我们的目标函数可以表示为:
$\underset{S}{\text{min}} \sum\limits_{v=1}^{V} \lambda^{v}\left(\left\|H^{v \top}-H^{v \top} S\right\|_{F}^{2}+\alpha \sum\limits_{i=1}^{N} \sum\limits_{j \in \mathbb{N}_{i}^{v}}-\log {\large \frac{\exp \left(S_{i j}\right)}{\sum\limits_{p \neq i}^{N} \exp \left(S_{i p}\right)}} \right)\quad\quad\quad(8)$
$S$ 可以用梯度下降法简单地求解,它在 $t$ 时代的导数可以记为
$\nabla_{1}^{(\mathrm{t})}+\alpha \nabla_{2}^{(t)}\quad\quad\quad(9)$
第一个项是:
$\nabla_{1}^{(\mathrm{t})}=2 \sum\limits _{v=1}^{V} \lambda^{v}\left(-\left[H^{v} H^{v \top}\right]_{i j}+\left[H^{v} H^{v \top} S^{(t-1)}\right]_{i j}\right)\quad\quad\quad(10)$
定义:$K^{(\mathrm{t}-1)}=\sum_{p \neq i}^{N} \exp \left(S_{i p}^{(t-1)}\right)$ ,$n$为所有邻居的数目,因此第二项为:
$\nabla_{2}^{(t)}=\left\{\begin{array}{l}\sum\limits_{v=1}^{V} \lambda^{v}\left(-1+{\large \frac{n \exp \left(S_{i j}^{(t-1)}\right)}{K^{(t-1)}}} \right), \text { if } j \text { in } \mathbb{N}_{i}^{v} \\\sum\limits_{v=1}^{V} \lambda^{v}\left({\large \frac{n \exp \left(S_{i j}^{(t-1)}\right)}{K^{(t-1)}}} \right), \text { otherwise }\end{array}\right.\quad\quad\quad(11)$
然后采用 Adam 优化策略来更新 $S$。为了提高收敛速度,我们用 $S^{*}$ 初始化 $S$,其中 $S^{*}$ 是 $\text{Eq.5 }$ 的解。
固定 $S$ , 优化 $\lambda^{v} $:
对于每个视图 $v$,我们定义了 $M^{v}=\left\|H^{v \top}-H^{v \top} S\right\|_{F}^{2}+\alpha \mathcal{J}$。然后,将损失函数简化为
$\underset{\lambda^{v}}{\text{min}} \sum\limits _{v=1}^{V} \lambda^{v} M^{v}+\sum\limits_{v}^{V}\left(\lambda^{v}\right)^{\gamma}\quad\quad\quad(12)$
通过将它的导数设为零,我们得到
$\lambda^{v}=\left(\frac{-M^{v}}{\gamma}\right)^{\frac{1}{\gamma-1}}\quad\quad\quad(13)$
我们交替优化 $S$ 和 $\lambda^{v}$ 直到收敛。完整的过程在 Algorithm 1 中概述。
3 Experiments
3.1 Datasets and Metrics
数据集
评价指标
- Accuracy (ACC)
- normalized Mutual Information (NMI)
- Adjusted Rand Index (ARI)
- F1 score
3.2 Results
结果分析
- 与单视图的 GAE 方法相比,MCGC 在ACM、DBLP、IMDB上的ACC改善效果分别提高了 9%、4%、19%以上,虽然使用深度神经网络,但它不能探索视图的互补性;
- 与 PMNE 相比,ACC、NMI、ARI、F1 平均提高了 16%、20%、20%、12% ;
- 对 LINE、RMSC、SwMC的改善更为显著。这可以归因于在MCGC中对特征信息和结构信息的探索;
- 尽管O2MA、O2MAC和MAGCN都捕获了属性和结构信息,但MCGC的性能仍然大大优于它们。具体来说,MCGC 在 ACC、NMI 和 F1 上的 O2MAC 性能平均分别提高了近 6%、9%、11%。关于 MAGCN,所有指标的改进都超过了20%。与基于学习的对比方法相比,我们的改进也令人印象深刻;
- 特别是,与 COMPLETER 相比,在 Amazon 数据集上的改进超过了 30%,这说明 MCGC 受益于图结构信息。MCGC 还将 MVGRL 的性能提高了20%。通过比较 MCGC 和 MCGC* 的结果,我们可以看到选择邻居的策略确实对性能有影响;
4 Ablation Study
4.1 The Effect of Contrastive Loss
验证 Contrastive regularizer 的有效性:
- 在所有数据集上,没有对比损失导致性能急剧下降。MCGC 在 DBLP、ACM、IMDB、Amazon 数据集上的 ACC 性能分别提高了16%、8%、5% 和 12% ;
4.2 The Effect of Multi-View Learning
为了演示多视图学习的效果,本文评估了以下单视图模型的性能
$\underset{S}{\text{min}}\left\|H^{\top}-H^{\top} S\right\|_{F}^{2}+\alpha \sum\limits _{i=1}^{N} \sum\limits_{j \in \mathbb{N}_{i}}-\log \frac{\exp \left(S_{i j}\right)}{\sum_{p \neq i}^{N} \exp \left(S_{i p}\right)}\quad\quad\quad(14)$
结果分析:
- 可以观察到,当合并所有视图时,总是能达到最佳的性能。此外,不同视图的性能有很大差异。这就证明了在 $\text{Eq.7}$ 中使用 ${\lambda}^{v}$ 的必要性。因此,探索多视角信息的互补性是有益的;
4.3 The Effect of Graph Filtering
为了理解 graph filtering 的贡献,本文进行了另一组实验。如果没有 graph filtering ,我们的目标函数就变成了
$\underset{S, \lambda^{\nu}}{\text{min}} \sum\limits_{v=1}^{V} \lambda^{v}\left(\left\|X^{v \top}-X^{v \top} S\right\|_{F}^{2}+\alpha \sum\limits_{i=1}^{N} \sum\limits_{j \in \mathbb{N}_{i}^{v}}-\log {\large \frac{\exp \left(S_{i j}\right)}{\sum\limits_{p \neq i}^{N} \exp \left(S_{i p}\right)}} \right)+\sum\limits_{v=1}^{V}\left(\lambda^{v}\right)^{\gamma}\quad\quad\quad(15)$
结果分析:
将这个模型表示为 MCGC-。MCGC、ACC对ACM、DBLP、IMDB的ACC分别下降了 0.8%、1.3% 和 0.8%。这表明图滤波对我们的模型有积极的影响。对于其他指标,MCGC在大多数情况下也优于 MCGC-。
5 Conclusion
在本文中,我们提出了一种新的方法(MCGC),不仅利用属性内容,而且利用图的结构信息。特别地,引入 Graph Filtering 来滤除噪声分量,并采用对比正则化器来进一步提高学习图的质量。
相关论文
2018—IJCAI——Scalable Multiplex Network Embedding
2020—PMLR——A simple framework for contrastive learning of visual representations
2020—IJCAI——Multi-view attribute graph convolution networks for clustering
2019—IJCAI ——Multi-view spectral clustering network
2021—AAAI——Contrastive clustering
论文解读(MCGC)《Multi-view Contrastive Graph Clustering》的更多相关文章
- 论文解读(CGC)《CGC: Contrastive Graph Clustering for Community Detection and Tracking》
论文信息 论文标题:CGC: Contrastive Graph Clustering for Community Detection and Tracking论文作者:Namyong Park, R ...
- 论文解读(SCGC))《Simple Contrastive Graph Clustering》
论文信息 论文标题:Simple Contrastive Graph Clustering论文作者:Yue Liu, Xihong Yang, Sihang Zhou, Xinwang Liu论文来源 ...
- 论文解读(GCC)《Graph Contrastive Clustering》
论文信息 论文标题:Graph Contrastive Clustering论文作者:Huasong Zhong, Jianlong Wu, Chong Chen, Jianqiang Huang, ...
- 论文解读(gCooL)《Graph Communal Contrastive Learning》
论文信息 论文标题:Graph Communal Contrastive Learning论文作者:Bolian Li, Baoyu Jing, Hanghang Tong论文来源:2022, WWW ...
- 论文解读(GCA)《Graph Contrastive Learning with Adaptive Augmentation》
论文信息 论文标题:Graph Contrastive Learning with Adaptive Augmentation论文作者:Yanqiao Zhu.Yichen Xu3.Feng Yu4. ...
- 论文解读(GMI)《Graph Representation Learning via Graphical Mutual Information Maximization》2
Paper Information 论文作者:Zhen Peng.Wenbing Huang.Minnan Luo.Q. Zheng.Yu Rong.Tingyang Xu.Junzhou Huang ...
- 论文解读(GMI)《Graph Representation Learning via Graphical Mutual Information Maximization》
Paper Information 论文作者:Zhen Peng.Wenbing Huang.Minnan Luo.Q. Zheng.Yu Rong.Tingyang Xu.Junzhou Huang ...
- 论文解读(MVGRL)Contrastive Multi-View Representation Learning on Graphs
Paper Information 论文标题:Contrastive Multi-View Representation Learning on Graphs论文作者:Kaveh Hassani .A ...
- 论文解读(NWR)《Graph Auto-Encoder via Neighborhood Wasserstein Reconstruction》
论文信息 论文标题:Graph Auto-Encoder via Neighborhood Wasserstein Reconstruction论文作者:Shaked Brody, Uri Alon, ...
随机推荐
- 5月8日 python学习总结 mysql 建表操作
一 .创建表的完整语法 create table 表名( 字段名1 类型[(宽度) 约束条件],字段名2 类型[(宽度) 约束条件],字段名3 类型[(宽度) 约束条件]); 解释: 类型:使用限制字 ...
- phpstudy、Apache安装DVWA教程
1.下载DVWA(http://www.dvwa.co.uk/) 2.解压缩DVWA安装包到服务器的目录下 Apache: \Apache24\htdocs phpStudy: \PHPTutoria ...
- java高级用法之:调用本地方法的利器JNA
目录 简介 JNA初探 JNA加载native lib的流程 本地方法中的结构体参数 总结 简介 JAVA是可以调用本地方法的,官方提供的调用方式叫做JNI,全称叫做java native inter ...
- 运行 Spring Boot 有哪几种方式?
打包用命令或者放到容器中运行用 Maven/ Gradle 插件运行直接执行 main 方法运行
- 在 Spring中如何注入一个java集合?
Spring提供以下几种集合的配置元素: 类型用于注入一列值,允许有相同的值. 类型用于注入一组值,不允许有相同的值. 类型用于注入一组键值对,键和值都可以为任意类型. 类型用于注入一组键值对,键和值 ...
- Redis缓存穿透、缓存雪崩、缓存击穿
缓存穿透: 缓存穿透,是指查询一个数据库一定不存在的数据.正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存.如果 ...
- 乱序数组中第k大的数(顺序统计量)
该问题是顺序统计量中十分经典的问题. 使用快排中的分区法,将第k大的数排序.若双向扫描分区加上三点中值法或绝对中值法,可以保证在 O(n) 时间里找出第k大的数. 补充:可以直接使用C++STL中的n ...
- ubuntu vmware kernel module updater
Ubuntu 19.04 - VMWare内核模块更新程序问问题 4 3我运行了这个命令: apt-cache search linux-headers-$(uname -r)它返回输出 linux- ...
- printf()函数压栈a++与++a的输出
printf()中a++与++a的输出问题 在C语言中有个很常用的函数printf(),使用时从右向左压栈,也就是说在printf("%d %d %d %d\n",a,a++,++ ...
- [CSS]《CSS揭秘》第四章——视觉效果
投影 单侧投影 box-shadow:0px 10px 10px -5px black; 邻边投影 box-shadow:10px 10px 10px 2px black; 双侧投影 box-shad ...