论文阅读”NCAGC: A Neighborhood Contrast Framework forAttributed Graph Clustering“(arxiv)

论文标题

NCAGC: A Neighborhood Contrast Framework for Attributed Graph Clustering

论文作者、链接

作者:Tong WangGuanyu YangQijia HeZhenquan ZhangJunhua Wu

链接:https://arxiv.org/abs/2206.07897

代码:https://github.com/wangtong627/NCAGC


Introduction逻辑(论文动机&现有工作存在的问题)

特征图聚类,将给定的结点分到一些不相交的簇——传统聚类要么只关注结点特征,要么只关注图谱结构——图神经网络GNN,将结点的特征提取到低维,并且尽量同时保持原始的图谱结构以及结点特征——一些基于GNN的方法,没有针对聚类任务进行一些设计,仅仅使用GNN对特征进行提取然后在提取的结点特征上使用传统的聚类算法

为了构建一个面向聚类的框架,很多端到端的聚类算法将特征学习和聚类任务融合进一个统一的框架中——但是它们不能有效地利用异构节点嵌入

与对比学习结合——但是仍然存在以下问题:1)没有面向聚类的损失函数2)依赖数据增广3)几乎没有在特征学习上使用对比学习

论文核心创新点

1 设计了基于特征图聚类的双路对比学习算法(Neighborhood Contrast Framework for Attributed Graph Clustering ,NCAGC),应用了一个邻居对比模块

2.NCAGC是第一个学习一个自表示居住地呢的对比学习策略

3.在没有数据增广的原始视图选择样本对


相关工作

特征图聚类

图对比学习


论文方法

 标记

无向特征图\mathcal{G}=(\bold{V,E,X}),其中\bold{V}=\{v_1,v_2,\dots,v_N\}是结点集合,\bold{E}是边的集合,\bold{X}=\{\bold{x}_1,\bold{x}_2,\dots,\bold{x}_N\}是结点属性矩阵,d为特征数量,N是结点的数量,\bold{x}_i \in \mathbb{R}^d对应矩阵\bold{X} \in \mathbb{R}^{d \times N}的第i列。\bold{A} \in \mathbb{R}^{N \times N}是邻接矩阵,\bold{A}_{ij}=1代表(v_i,v_j)\in \bold{E},即结点v_i,v_j之间有边相连,否则\bold{A}_{ij}=0\bold{H}=[\bold{h}_1,\bold{h}_2,\dots,\bold{h}_N]是结点特征矩阵,其中\bold{h}_i \in \mathbb{R}^{d^{(j)}},其中d^{(j)}是结点的特征维度

对称特征提取模块Symmetric Feature Extraction Module

如图1所示,对称特征提取模块包含一个GNN编码器以及一个对称的解码器,将原始的结点和图谱结构映射到一个新的低维空间,在低维空间上做属性图聚类。

给定一个结点属性矩阵\bold{X}\in \mathbb{R}^{d \times N},以及图结构矩阵A \in \mathbb{R}^{N \times N},假设编码器网络有L层,在编码器的第i层的的结点特征\bold{H}^{(i)} \in \mathbb{R}^{d^{(i)} \times N}可以用公式表示为:

 其中\bold{\Omega}^{(i)}是编码器中的一个可训练的参数,g(\cdot)是一个非线性的映射函数,代表了任意GNN的编码过程。本文使用一个两层的GAT网络作为非线性映射编码器。特别地,结点的属性 node attribute 会被认为是结点的初始特征,即\bold{H}^{(0)}= \bold{X},编码器的输出被认为是结点在第L层的特征表达,即\bold{Z}=\bold{H}^{(L)}

解码器的过程是编码器的逆过程。给定结点特征\bold{Z} \in \mathbb{R}^{N \times N}以及在第L层的结点关系矩阵\bold{A}^{(L)}\in \mathbb{R}^{N \times N},并且假设解码器有L层,那么解码器的第L层的结点特征\hat{\bold{H}}^{(i)}\in \mathbb{R}^{d^{(i)}\times N}为公式表达为:

 其中\hat{\bold{\Omega}}^{(i)}是编码器中的一个可训练的参数,\hat{g}(\cdot)是一个非线性的映射函数。为了与编码器保持一致,解码器也使用GAT作为非线性映射函数。解码器的输入经过自表示层过后的结点特征,即\hat{\bold{H}}^{(L)}=\bold{ZC}其中\bold{C}\in \mathbb{R}^{N \times N}是自表示系数矩阵,解码器的输出被视为结点属性矩阵的重构,即\hat{\mathbf{X}}=\hat{\mathbf{H}}^{(0)}

保证结点的特征可以在结点属性和图谱结构方面,学习到更多有用的信息,结点的重构损失\mathcal{L}_{rec}定义如下:

其中 \bold{\Omega}是对称特征提取模块中的一个可训练的参数。

邻居对比模块Neighborhood Contrast Module

至此已经从对称特征提取模块拿到结点的特征,为了提升学到的特征质量,进一步引入邻居对比模块。

如何区分结点之间的相似性,即如何构建正负样本对是引入对比学习的一个关键问题。前人的工作中,图对比学习是执行在实例级并且通过图的数据增广来构建正负样本对的。但是,图的数据增广是否对对应的聚类任务有效,还是不确定的。于是,为了摆脱图数据增广,本文选择使用特征的距离来衡量结点之间的相似性,通过KNN来选择K个最近的邻居,使其构建为正样本。

 具体来说,对于给定的结点特征z_{(i)} \in \mathbb{R}^{d^{(i)}},即图2中的红色点,在N个样本点中,计算最近的K个邻居结点\tilde{\bold{z}}_j \in \mathbb{R}^{d^{(L)}}视为正样本,剩下的N-K-1个样本为负样本。

对于结点\bold{z}_i的邻居对比损失的计算公式如下:

 其中 \bold{\Omega}是对称特征提取模块中的一个可训练的参数,K是预定义的邻居尺寸,\tilde{\bold{z}}_j\bold{z}_j通过KNN计算得到的邻居结点,\sum_{j=1}^{K} \exp \left(s\left(\mathbf{Z}_{i}, \tilde{\mathbf{Z}}_{j}\right)\right)表示正样本的相似性的和,逐对相似性s(\bold{a,b})是由余弦相似性计算得:

 将所有的结点都纳入考虑,于是有如下的邻居对比损失,即:

 对比自表示模块Contrastive Self-Expression Module

虽然上面的模块已经可以输出高质量的结点特征表达\bold{Z}了,但是无法保证可以很好的在深度子空间聚类的过程中构建自表示系数矩阵\bold{C}。因此,引入了对比自表示模块,来学习更具有区分度的自表示系数矩阵。

深度子空间聚类方法通过引入一个自表示层,即一个位于编码器和解码器中间的不带偏置值的全连接层,来学习自表示信息。对于给定的结点特征\bold{z}_i,自表示层可以计算其他结点\bold{z}_{j,j\neq i}的线性组合去解释结点重构\hat{\bold{z}}_i

 现有的深度子空间聚类算法只是简单的通过最小化自表示损失\mathcal{L}_{se}来对目标函数进行优化,即:

 其中\bold{C} \in \mathbb{R}^{N \times N}是自表示的系数矩阵,其描述了自表示的程度以及每一层的线性组合的系数。

然而,普遍的自表示损失只考虑了结点重构前后的差值,即\bold{z}_i,\hat{\bold{z}}_i,忽略了其他结点的信息,这导致学到的\bold{C}的质量不高进而影响聚类的结果。

于是本文提出了对比自表示学习模块来通过对比学习的策略提高子空间聚类的效果。

 如图3所示,有属性图视图\mathcal{M}以及经过自表示层的视图\hat{\mathcal{M}}。对于在视图\mathcal{M}中的结点\bold{z}_i,可以与其在视图\hat{\mathcal{M}}中对应的结点\hat{\bold{z}}_i构成正样本对,其余结点则构成负样本对。于是结点\bold{z}_i的对比损失计算为:

 将图中所有的结点都纳入考虑,则对比自表示损失\mathcal{L}_{cse}为:

 作为一个深度子空间聚类方法,自表示系数矩阵\bold{C}被用来构建关联矩阵\Lambda,用来做谱聚类。于是优化以下的正则项:

其中||\cdot||表示任意的矩阵正则化,本文中使用\ell_{2}正则化。

总的目标函数为:


消融实验设计

邻居对比模块的消融

对比自表示模块的消融

注意力机制的消融

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
因子分解遇见邻域:一个多方面的协同过滤方法是一种结合了因子分解和邻域方法的协同过滤算法。在传统的协同过滤算法中,主要有两种方法:基于邻域的方法和基于模型的方法。基于邻域的方法主要是通过计算用户间或物品间的相似度来推荐相似用户或相似物品的评分。而基于模型的方法则是通过构建模型来预测评分。 因子分解是一种常见的基于模型的方法,它可以将用户-物品评分矩阵分解为两个低秩矩阵的乘积,以得到用户和物品的隐含特征。这种方法可以有效地处理稀疏性和冷启动的问题,但在数据稀疏的情况下仍然存在一些挑战。 为了克服因子分解算法在数据稀疏情况下的问题,多方面的协同过滤算法提出了将因子分解与邻域方法相结合的新思路。具体而言,它利用了邻域方法的局部信息来改进因子分解算法的准确度和鲁棒性。 在多方面的协同过滤算法中,首先通过因子分解算法得到用户和物品的隐含特征,并用隐含特征对评分进行预测。然后,利用邻域方法计算用户或物品的邻居,并根据邻居的评分信息进行调整。最终,通过加权融合因子分解和邻域方法的结果,得到最终的推荐结果。 该算法的优点是综合了因子分解和邻域方法的优势,可以克服两种方法在特定情况下的局限性。它既考虑了全局的隐含特征,又考虑了局部的用户或物品相似度。因此,多方面的协同过滤算法在推荐系统中具有广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值