论文阅读|浅读DNC: A Deep Neural Network-based Clustering-oriented Network Embedding Algorithm
Posted 海轰Pro
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文阅读|浅读DNC: A Deep Neural Network-based Clustering-oriented Network Embedding Algorithm相关的知识,希望对你有一定的参考价值。
目录
- 前言
- 简介
- ABSTRACT
- 1. Introduction
- 2. Related work
- 3. Definitions
- 4. Method
- 5. Experiments
- 5.1. Datasets
- 6. Discussion
- 7. Conclusion
- 读后总结
- 结语
前言
Hello!
非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~
自我介绍 ଘ(੭ˊᵕˋ)੭
昵称:海轰
标签:程序猿|C++选手|学生
简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研。
学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!
唯有努力💪
知其然 知其所以然!
本文仅记录自己感兴趣的内容
简介
原文链接:https://www.sciencedirect.com/science/article/pii/S1084804520303209
期刊:Journal of Network and Computer Applications (CCF C类)
年度:2020
ABSTRACT
深度神经网络(DNN)在图像等欧几里得数据领域取得了令人瞩目的成功
然而,设计深度神经网络来聚类节点,特别是在社会网络中,仍然是一个具有挑战性的任务。
此外,最近先进的节点聚类方法都集中在学习节点嵌入上,在此基础上应用K-Means等经典聚类算法
然而,所产生的节点嵌入通常是任务不可知的。
这导致了分簇的性能很难保证
为了有效地缓解这一问题,本文借助深度神经网络提出了一种新的面向聚类的非属性网络数据节点嵌入方法–深层节点聚类(DNC)
- 首先提出了一种采用随机冲浪模型直接获取图的结构信息的预处理方法
- 随后,我们提出了学习深度聚类网络,该网络可以联合学习节点嵌入和簇分配
在三个用于节点聚类的真实网络数据集上进行了大量的实验,结果表明所提出的DNC算法的性能大大优于现有的节点聚类方法
1. Introduction
随着网络数据存在于多个领域和场景,如物联网(IoP),特别是社交网络
网络数据挖掘和分析已经引起了工业界和学术界的广泛关注
然而,机器学习方法对图数据的高计算复杂性、低并行化以及不适用,使得这些图分析任务具有深刻的挑战性
图分析中最热门的话题之一:结点聚类自然也不例外
节点聚类作为一种数据聚类任务,在机器学习社区中可以看作是一个无监督学习问题,其目标是将图中的节点划分为不相交的组
典型的应用包括社交网络中的群组/社区发现
为了解决图相关任务中的上述挑战,近年来提出了许多网络嵌入(NE)方法
它的灵感来自深度学习强大的从数据中学习潜在嵌入的能力
网络嵌入的目的是学习从原始拓扑空间中给定的网络数据到低维向量空间的映射,同时对网络结构信息进行编码
当使用NE算法学习通用节点特征向量时,可以非常方便地使用K-均值等经典聚类算法和支持向量机(SVM)等分类方法来执行节点聚类和节点分类任务
对于本文所关注的节点聚类任务,存在一个值得注意的问题
- 即大多数节点嵌入算法(包括一些深度图聚类方法)所获得的嵌入向量并不是专门针对聚类任务的
因此,它不能保证在集群任务上有更好的性能。换句话说,这通常会导致不太理想的性能
为了克服这一困境,节点聚类导向学习框架的目标是非常可取的
就我们所知,目前很少有人像最近的工作那样在深度学习的框架下设计面向聚类的网络嵌入算法
然而,这些方法的局限性在于,它们只关注基于图神经网络(GNN)方法的属性图聚类,而对于非属性图的聚类效果通常较差
这些工作证明了一个观察结果,即图的结构和结点内容都包含对图聚类有用的信息
值得注意的是,图中每个节点的丰富属性信息在实际场景中并不总是可用的
因此,对于我们关注的非属性图,上述模型将面临性能下降,这与在链接预测任务上所展示的事实类似
本文主要是关注非属性图
在此基础上,本文提出了一种新的基于深度神经网络的节点聚类方法,使模型在学习节点嵌入的同时进行节点聚类
综上所述,本文做出了以下贡献:
- 在深度学习的框架下,提出了一种新的针对非属性网络的深层节点聚类方法,该方法可以学习有效的面向聚类的节点嵌入。
- 该方法首先对网络数据进行预处理,通过确定正点互信息(PPMI)来获取结构信息。然后,我们提出了一种由深层堆栈自动编码器和聚类层组成的深层节点聚类网络,该网络可以学习从数据空间到低维特征空间的映射,在该映射中迭代地优化聚类目标
- 通过在三个真实网络数据集上与13种最先进的节点聚类方法的比较,证明了DNC方法的优越性
2. Related work
在这一部分中
- 首先回顾一些具有代表性的数据聚类的最新工作
- 然后介绍基于嵌入的节点聚类算法的相关工作,它们与我们的方法具有相同的本质
- 介绍数据聚类、任务无关网络嵌入方法和基于聚类的网络嵌入方法的研究进展
考虑到本文所涉及的网络数据集的网络类型是同构网络,不区分节点类型和边类型,所以我们不会介绍异质网络嵌入算法
数据聚类在数据挖掘和机器学习领域得到了广泛的研究
目前已提出的数据聚类方法很多,大致可以分为两类:
- 基于特征选择的方法
- 基于特征学习的方法
在第一类中,这些方法大致可分为
- 分区方法
- 等级方法
- 基于密度的方法
- 基于模型的方法
然而,这些方法中的绝大多数都有内在的局限性:例如对手工特征的高度依赖和对复杂数据的线性建模
基于特征学习的第二类聚类方法主要是指基于流行的深度学习的无监督聚类方法,该方法已被证明具有强大的非线性建模能力
其代表性工作:
- 用于聚类的深度嵌入(DEC),它可以通过预先训练自动编码器和明确定义面向聚类的损失来使用深度神经网络同时学习特征表示和聚类分配
- IDEC
- Dizaji
- DBC
- DualAAE
- Vaed
然而,这些方法通常是面向图像等欧几里得数据的,不能直接应用于本文所关注的结构复杂的网络数据(非欧几里德数据)
受自然语言处理中的成功算法word2vec(Mikolov等人,2013)的启发,近年来提出了许多网络嵌入算法
这些算法可分为四类:
- 基于随机游走的方法
- 基于矩阵分解的方法
- 基于优化的方法
- 基于深度学习的方法
第一类中的代表性方法是DeepWalk(Perozzi等人,2014)和Node2Vec(Grover和Leskovec,2016)
- DeepWalk通过一种截断的随机游走算法将网络结构转换为节点序列,然后利用word2vec模型学习顶点嵌入
- Node2Vec对DeepWalk模型进行了改进,采用了有偏策略来平衡广度优先采样和深度优先采样
第二类是基于矩阵分解的方法
- TADW(Yang等人,2015)将文本特征矩阵引入矩阵因式分解框架
- M-NMF(Wang等人,2017)提出了一种模块化的非负矩阵分解模型,该模型同时保留了微观结构和介观结构
第三类中具有代表性的算法是Line(Tang et al.,2015),它定义了两个用于建模一阶邻近度和二阶邻近度的优化函数
最后一类是基于深度学习的方法,通常采用基于深度自动编码器的方法和基于产生式对抗网络(GAN) 的方法
一般而言,基于深度自动编码器的方法可以分为以下三类:
- 基于稀疏自动编码器的模型(Tian等人,2014;Hu等人,2017)
- 基于去噪自动编码器的模型(曹等人,2016)
- 基于图形自动编码器的方法(Kipf和Well,2016;潘等人,2018;潘等人,2019)
在第一类算法中
- GraphEncode(Tian等人,2014)提出了通过稀疏自动编码器学习深度表示来进行图聚类
- Darg(Hu等人,2017)提出了一种深层属性残差图算法,该算法可以通过考虑节点相关性来发现簇
在第二类算法中
- DNGR(曹等人,2016)提出通过堆叠去噪自动编码器从PPMI矩阵学习深层图表示
在最后一类方法中
- VGAE(Kipf和Well,2016)提出了一种变分图自动编码器,它由一个图卷积网络(GCN)(Kipf和Well,2017)编码器和一个简单的内积解码器组成
- ARGA和ARVGA(潘等人,2018;潘等人,2019)通过在图卷积自动编码器中添加对抗性正则化,提出了一种针对图数据的对抗性图嵌入框架
对于基于GaN的方法,代表性的方法
- GraphGAN(Wang等人,2018年)
- ProGAN(Gao等人,2019年)
前者提出在极大极小博弈中通过对抗性训练来统一图表示学习方法的两个流派,即生成法和判别法
后者提出在不同节点之间产生邻近度,以帮助发现复杂的底层邻近度,从而提高网络嵌入性。
不幸的是,上述网络嵌入方法是任务不可知的。它们在节点分簇任务上的性能没有得到很好的保证
如上所述,这很可能得到问题的次优解。在本文中,我们提出的方法可以处理这个问题。
最近的一些工作已经开始注意到上述方法的不足,并探索了面向簇的网络嵌入方法的设计,这在该领域仍然是一个开放的问题
- GEMSEC(Rozemberczki et al.,2019)提出了一种结合基于随机游走的损失NE方法和与K-Means相似的聚类代价的自聚类图嵌入算法。然而,该模型并没有在深度学习的框架下探讨解决上述问题的可行性。因此,它不能利用深度学习强大的非线性建模能力来学习数据的深层表示。
- DAEGC(Wang等人,2019)提出将图形注意自动编码器和聚类丢失结合在一个统一的方法中。
- O2MAC提出了一种新的面向属性多视图聚类的任务导引图编码聚类框架
然而,这些模型是为具有丰富节点内容信息的属性图设计的
当他们处理非属性图时,已经证明算法的性能将大大下降
相反,我们探索利用深度学习的能力,并针对非属性网络提出了一种高效的面向聚类的网络嵌入方法。
3. Definitions
3.1. Network and its taxonomy
网络或图数据可以用 G = ( V , E ) G = (V, E) G=(V,E)表示
- 其中 V = v 1 , v 2 , . . . , v n V=\\v_1, v_2,...,v_n\\ V=v1,v2,...,vn表示带有 V = ∣ V ∣ V = |V| V=∣V∣的节点集
- E E E表示节点之间的边集。
网络可以有不同的分类,从不同的角度。
属性和非属性网络是分类的一种,它是基于网络中的节点或边是否包含辅助信息
例如,社交网络中的用户节点可能包含丰富的个人信息,如年龄、性别、兴趣描述等,这类网络自然可以视为属性网络。
默认情况下,本文重点介绍非属性网络。考虑到这种非属性网络较为常见,因为由于安全和隐私原因,属性信息很容易丢失
3.2. Problem definition of node clustering
考虑到网络 G G G, A A A表示网络的经典邻接矩阵表示法
节点集群的目标是
- 将节点划分为不相交的组 G 1 , G 2 , . . , G k \\G_1, G_2,.., G_k\\ G1,G2,..,Gk
- 使得同一群集中的节点通常在图结构方面彼此较近,而在其他方面则较远
4. Method
在这一部分中,我们提出了一种新的无监督节点聚类的深度神经网络方法
图1显示了所提出的DNC的整体框架,该框架由两个部分组成:
- 用于捕获结构信息的数据预处理
- 深层节点聚类网络
颜色的显著性分别代表PPMI矩阵中的不同值和聚类层中属于不同聚类的数据点
在第一部分中,我们将给定的邻接矩阵变换为正的逐点互信息(PPMI)矩阵
在第二部分量中,将得到的PPMI矩阵反馈给由深度堆叠自动编码器和聚类层组成的深层节点聚类网络,从而共同最小化堆叠自动编码器的重构损失和聚类损失
我们提出的方法可以被视为最近的网络嵌入算法DNGR(曹等人,2016)的新扩展。
本文的显著改进是在深度学习框架中提出了一种高效的面向聚类的网络嵌入方法
这样,我们的方法避免了原方法使用K-means进行节点聚类任务可能带来的次优结果
4.1. Capturing the structural information
为了获取网络的结构信息,我们借用了现有工作DNGR中计算PPMI矩阵的方法
事实上,在自然语言处理(NLP)领域,PPMI已经被广泛研究用于生成词嵌入
近年来,其在网络数据处理方面的潜力也得到了证明
给定非属性网络 ,表示图上每个节点的度数的度矩阵𝐷和节点之间的转移矩阵𝑇也称为重新缩放的𝐴矩阵可以定义为:
矩阵D是一个对角矩阵
然后,采用PageRank模型激励的随机冲浪模型计算PPMI矩阵。具体来说,随机冲浪策略考虑重启:在每一个时间,有一个概率 u u u随机冲浪过程会继续,概率是 1 − u 1−u 1−u它会回到原来的顶点,重新开始这个过程。由此推导出递推式为:
…
随机冲浪模型与PPMI矩阵的生成见【论文阅读|深读】DNGR:Deep Neural Networks for Learning Graph Representations的3.1节
…
在对网络数据进行处理后,我们将PPMI矩阵作为深度聚类网络的输入,该网络由深度堆叠的自编码器和聚类层组成。
4.2. DNC network
4.2.1. Stacked autoencoder
AE的介绍(略)
文中就简单介绍了一下
4.2.2. Clustering layer
由于节点聚类自然是无监督的,我们无法直接从无标记数据中获得优化的反馈
受自训练机制最近进展的启发(Xie et al., 2016),我们定义了基于聚类损失的聚类层(Xie et al., 2016)
其最初设计用于聚类图像数据,而不是处理网络数据
该机制可以将“自信”的聚类分配作为软标签来指导优化过程
这样可以迭代优化聚类性能。
损失旨在最小化软聚类分布 𝑄 之间的 Kullback-Leibler (KL) 散度
这是由student’s-t 分布(Maaten 和 Hinton,2008 年)测量的软标签的分布,以及可以导出的辅助目标分布 𝑃 来自𝑄
具体形式如下
其中
- 𝑞 𝑢 𝑣 𝑞_𝑢𝑣 quv是节点嵌入表示 𝑧 𝑢 𝑧_𝑢 zu和聚类中心 𝑐 𝑣 𝑐_𝑣 cv之间的相似度。
受先前模型 t-SNE (Maaten and Hinton, 2008) 的启发,我们使用student’s-t分布作为核来衡量这种相似性:
它可以看作是每个节点的软聚类分配分布
因此,我们可以直接从最后优化的𝑄中获得聚类结果。
每个节点的标签𝑖可以如下获得:
软分配的概率值越大,节点越靠近聚类中心。
目标分布 𝑝 𝑢 𝑣 𝑝_𝑢𝑣 puv可以定义为:
正如我们所见,目标分布 𝑃 将 𝑄 提高到二次方,以突出那些“自信分配”的作用
通过最小化两个分布 𝑃 和 𝑄 之间的距离,聚类层实现了由高度置信分配引导的嵌入学习
4.2.3. Joint embedding and clustering
如前所述,一般情况下,在对数据进行学习表示和聚类分离时,算法对节点聚类任务只能得到次优解
因此,我们在深度学习的框架下共同学习嵌入和聚类
因此,最终的目标函数可以定义为:
其中
- 𝐽 𝑟 𝐽_𝑟 Jr和 𝐽 𝑐 𝐽_𝑐 Jc分别是重建损失和聚类损失
- 𝜁 是控制两者之间平衡的系数
4.2.4. Optimization
为了优化深度节点聚类网络的聚类中心 𝑐 𝑣 𝑐_𝑣 cv 和参数 Font metrics not found for font: .,我们采用了最近流行的优化方法 — Adam (Kingma and Ba, 2015)
𝐽 𝑐 𝐽_𝑐 Jc相对于每个节点嵌入的特征空间 𝑧 𝑢 𝑧_𝑢 zu和每个簇质心 𝑐 𝑣 𝑐_𝑣 cv的梯度计算如下:
然后将梯度
∂
𝐽
𝑐
∂
𝑧
𝑢
\\frac\\partial 𝐽_𝑐\\partial𝑧_𝑢
∂zu∂Jc传递给堆叠式自动编码器,后者采用标准反向传播来计算参数的梯度
不失一般性,我们以W1和W2为例。 公式如下:
接下来,我们设置
∂
J
∂
W
j
=
g
t
\\frac\\partial J\\partial W_j = g_t
∂Wj∂J=gt,那么编码器权重和解码器权重的更新方程可以通过以下方程计算:
其中
- 𝛽1和𝛽2是第一矩估计和第二原始矩估计的衰减率
- 𝛼 表示学习率
- 聚类中心的更新 𝑐𝑣 可以通过类似的步骤计算, 因此我们在此不再赘述。
DNC伪代码如下:
DNC 方法具有以下过程
- 我们首先初始化模型的参数
- 之后,我们通过将邻接矩阵转换为 PPMI 矩阵来对网络数据进行预处理,以捕获结构信息。PPMI 矩阵的计算方法遵循 4.1 节详述的方法
- 然后,我们将计算出的 PPMI 矩阵输入到由深度堆叠自动编码器和聚类层组成的深度节点聚类网络中。
- 为了训练这个深度节点聚类网络,我们首先通过最小化重建损失𝐽𝑟来训练堆叠自动编码器,以获得隐藏层中的潜在表示作为节点的初始嵌入向量
- 然后,我们对节点的初始特征使用 K-means 算法来确定初始聚类中心
- 然后,我们通过等式计算软分配分布𝑄。 (14)。为避免训练不稳定,目标分布𝑃不应在每次迭代时更新。
- 否则,在训练过程中,𝑃作为“ground-truth label”的频繁变化会阻碍模型的学习和收敛
因此,我们在实验中每 5 次迭代更新目标分布𝑃
在固定目标分布 𝑃 之后,我们可以确定集群损失 𝐽𝑐 和联合损失 𝐽
通过使用上面第 4.2.4 节中介绍的优化方法,可以迭代更新深度节点聚类网络的聚类中心 𝑐 𝑣 𝑐_𝑣 cv 和参数 𝜃
如果两次连续迭代之间的集群分配变化小于收敛阈值𝑡𝑜𝑙,我们将停止训练过程
当模型训练良好时,我们可以通过方程得到节点聚类结果
5. Experiments
5.1. Datasets
5.2. Baseline methods
- Lap
- Gf
- Deepwalk
- GraphEncoder
- Line
- HOPE
- Sdne
- DNGR
- M-NMF
- DANMF
- ARGA
- ARVGA
- DAEGC
5.3. Experiment and parameter settings
略
5.4. Results
5.4.1. Effectiveness evaluation
5.4.2. Efficiency evaluation
6. Discussion
6.1. Loss analysis
6.2. Time complexity analysis
6.3. Visualization analysis
…其余见原文
6.4. Contribution of deep clustering
6.5. Parameter analysis
6.6. Architecture of deep clustering network
7. Conclusion
在本文中,我们提出并演示了一种新的无监督深度节点聚类(DNC)方法,通过联合学习嵌入和在深度学习框架下进行节点聚类
我们的模型可以学习面向聚类的节点嵌入,自然可以提高聚类的性能
该方法巧妙地利用PPMI矩阵获取结构信息,利用深度节点聚类网络获取最优结果
在深度节点聚类网络中,联合优化自编码器重构损失和聚类损失,同时获得节点嵌入和图聚类结果
读后总结
这篇文章借鉴了之前的文章DNGR
思路差不多:先生成PPMI矩阵 , 再利用堆叠自动编码器进行训练
改进的地方在于:利用了节点聚类产生的损失
不同的地方在于,损失由两部分组成
- 编码器重构的损失
- 与聚类层的损失
这两部分的损失结合,共同训练参数,得到嵌入
结语
文章仅作为个人学习笔记记录,记录从0到1的一个过程
希望对您有一点点帮助,如有错误欢迎小伙伴指正
以上是关于论文阅读|浅读DNC: A Deep Neural Network-based Clustering-oriented Network Embedding Algorithm的主要内容,如果未能解决你的问题,请参考以下文章
论文阅读|浅读GCC: Graph Contrastive Coding for Graph Neural Network Pre-Training
论文阅读|浅读DeepEmLAN: Deep embedding learning for attributed networks
论文阅读|浅读DMER:Deep Mutual Encode Model for Network Embedding From Structural Identity
论文阅读|深读DNGR:Deep Neural Networks for Learning Graph Representations
论文阅读|深读ANRL: Attributed Network Representation Learning via Deep Neural Networks
[论文阅读-1]ImageNet Classification with Deep Convolutional Neural Networks