文章目录
- 论文简介
- 摘要
- 属性网络相关介绍
- 存在的问题
- 论文贡献
- 1. 提出的模型 - Dominant
- 2. 实验
论文简介
原文题目:Deep Anomaly Detection on Attributed Networks
中文题目:基于属性网络的深度异常检测
发表会议:SIAM International Conference on Data Mining
发表年份:2019-05-06
作者:Kaize Ding Jundong Li Rohit Bhanushali Huan Liu
latex引用:
@inproceedings{ding2019deep,
title={Deep anomaly detection on attributed networks},
author={Ding, Kaize and Li, Jundong and Bhanushali, Rohit and Liu, Huan},
booktitle={Proceedings of the 2019 SIAM International Conference on Data Mining},
pages={594--602},
year={2019},
organization={SIAM}
}
摘要
属性网络无处不在,是现代信息基础设施的重要组成部分,其中附加的节点属性在知识发现中补充了原始网络结构。近年来,在属性网络上检测异常节点已经引起了越来越多的研究关注,并在网络安全、金融和医疗保健等各种高影响领域得到了广泛的应用。然而,现有的大多数尝试都是通过自我网络或社区分析或通过子空间选择来解决浅层学习机制的问题。毫无疑问,这些模型不能完全解决属性网络的计算挑战。例如,它们经常受到网络稀疏性和数据非线性问题的困扰,并且无法捕获不同信息模式之间复杂的相互作用,从而影响异常检测的性能。为了解决上述问题,本文通过开发一种新的深度模型来研究属性网络的异常检测问题。特别是,我们提出的深度模型:
(1)明确地为节点嵌入学习与流行的图卷积网络(GCN)无缝地建模拓扑结构和节点属性;
(2)是定制的,以解决异常检测问题,通过深度自编码器利用学习到的嵌入来重建原始数据。
GCN和自编码器之间的协同作用使我们能够从结构和属性两个角度测量节点的重建误差,从而发现异常。在现实世界属性网络数据集上的大量实验证明了我们提出的算法的有效性。
属性网络相关介绍
由于属性网络在统一不同模态信息方面具有强大的建模能力,因此对属性网络中模式与其他多数节点显著偏离的异常节点的检测成为研究热点。一般来说,属性网络中节点的异常不仅取决于节点之间的相互作用(拓扑结构),还可以通过节点的内容不协调(节点属性)来衡量。
存在的问题
-
网络稀疏性——在现实世界的属性网络上,网络结构可能非常稀疏;因此,自我网络或社区分析很难执行,因为它们高度依赖于观察到的节点交互。
-
数据非线性——节点间的相互作用和节点属性是高度非线性的,而现有的基于子空间选择的异常检测器主要采用线性机制对属性网络进行建模。
-
复杂模态交互——由于两个信息源的组合令人困惑,属性网络非常难以处理,这就需要一个统一的特征空间来捕获它们的复杂交互以进行异常检测。
论文贡献
- 开发了一个有原则的图卷积自编码器Dominant,它无缝地建模属性网络并在联合框架中进行异常检测。特别地,该模型可以从结构和属性两个角度分析节点的重构误差,从而发现异常。
- 在来自不同领域的各种属性网络上评估我们提出的模型。实验结果表明,本文提出的框架具有良好的性能。
论文解决上述问题的方法:
- 网络稀疏性、复杂模态交互:使用GCN。以拓扑结构和节点属性为输入,通过叠加多层线性单元和非线性激活函数来学习判别性节点嵌入。
- 数据非线性:GCN可以从结构和属性两个角度分析节点的重构误差,从而发现异常
- 异常检测:首先使用图卷积网络作为编码器函数,将输入属性网络压缩为简洁的低维嵌入表示;然后利用相应的解码器函数重构拓扑结构和节点属性。然后利用编码器和解码器阶段后节点的重建误差来发现属性网络上的异常节点。
1. 提出的模型 - Dominant
将属性网络上的异常检测任务表述为一个排序问题:
属性网络异常排序:给定一个属性网络G,邻接矩阵用A表示,属性信息矩阵用X表示,任务是根据异常程度对所有节点进行排序,与大多数参考节点不同的节点应该被排在较高的位置上。
Dominant的基本构建块是深度自编码器[11],它由三个基本组成部分组成
- 属性网络编码器——它在与GCN的节点嵌入表示学习的联合框架中无缝地建模网络结构和节点属性
- 结构重建解码器——目的是利用学习到的节点嵌入重构原始网络拓扑
- 属性重构解码器——尝试用获得的节点嵌入重构观察到的节点属性。然后,利用节点的重建误差来标记属性网络上的异常。
深度自编码器:
如[32,37,17]所示,原始数据与估计数据之间的差异(即重构误差)是显示数据集中实例异常的有力指标。具体来说,重构误差较大的数据实例更有可能被认为是异常,因为它们的模式与大多数数据有明显的偏差,无法从观测数据中准确地重构。在各种基于重构的异常检测方法中,深度自编码器达到了最先进的性能。
给定输入数据集X,首先应用编码器Enc(·)将数据映射到潜在的低维特征空间,然后解码器Dec(·)尝试基于潜在表征恢复原始数据。学习过程可以描述为最小化成本函数,如下所示:
m i n { E [ d i s t ( X , D e c ( E n c ( X ) ) ) ] } min\{ E[dist(X,Dec(Enc(X)))] \} min{E[dist(X,Dec(Enc(X)))]}
-
属性网络编码器
GCN,获得新的节点嵌入矩阵Z,形状为
(node_size, embedding_size)
-
结构重建解码器
重构时,判定原图中节点i和节点j之间是否存在链接的方法:
p ( A ^ i , j = 1 ∣ z i , z j ) = s i g m o i d ( z i , z j T ) p(\hat{A}_{i,j}=1|z_i,z_j) = sigmoid(z_i,z_j^T) p(A^i,j=1∣zi,zj)=sigmoid(zi,zjT)
原理:判定两个向量在空间中的相似度,即两个向量进行内积运算即可。如果同向,则值最大。再用sigmoid函数将量纲控制在[0,1]之间,这样做获得的值也可以直接当成概率使用。
应用到矩阵上,即为:
A ^ = s i g m o i d ( Z Z T ) \hat A = sigmoid(ZZ^T) A^=sigmoid(ZZT)然后通过结构重构误差来确定网络上的结构异常:
R S = A − A ^ R_S = A−\hat A RS=A−A^ -
属性重建解码器
属性重建解码器利用另一个图卷积层来预测原始节点属性,最终输出重构后的节点嵌入 X ^ \hat X X^,然后通过计算出的重构误差,我们可以从属性的角度发现属性网络上的异常:
R A = X − X ^ R_A = X−\hat X RA=X−X^
-
异常检测
为了共同学习重构误差,我们提出的深度图卷积自编码器的目标函数可以表示为:
L = ( 1 − α ) R S + α R A = ( 1 − α ) ∣ ∣ A − A ^ ∣ ∣ F ′ 2 + α ∣ ∣ X − X ^ ∣ ∣ F ′ 2 L = (1-\alpha) R_S + \alpha R_A = (1-\alpha)||A-\hat A||^2_{F'}+ \alpha ||X-\hat X||^2_{F'} L=(1−α)RS+αRA=(1−α)∣∣A−A^∣∣F′2+α∣∣X−X^∣∣F′2
这样一来,每个节点的异常分数就可以表示为:
s c o r e ( v i ) = ( 1 − α ) ∣ ∣ a − a i ^ ∣ ∣ 2 + α ∣ ∣ x i − x i ^ ∣ ∣ 2 score(v_i) = (1-\alpha)||a-\hat{a_i}||_2 + \alpha||x_i-\hat{x_i}||_2 score(vi)=(1−α)∣∣a−ai^∣∣2+α∣∣xi−xi^∣∣2具体来说,分数较高的实例更有可能被视为异常;这样我们就可以根据相应的异常分数来计算异常的等级。
2. 实验
-
数据集:
- BlogCatalog: BlogCatalog是一个博客分享网站。blogcatalog中的博主可以互相关注,形成一个社交网络。用户与一组标签相关联,以描述他们自己和他们的博客,这些标签被视为节点属性。
- Flickr: Flickr是一个图片托管和分享网站。类似于BlogCatalog,用户可以互相关注,形成一个社交网络。用户的节点属性由其指定的反映其兴趣的标签定义。
- ACM: ACM是另一个来自学术领域的归属网络。它是一个引文网络,每一篇论文都被看作是网络上的一个节点,链接就是不同论文之间的引文关系。每篇论文的属性由论文摘要生成。
-
基线模型:
- LOF[4]在上下文层面检测异常,只考虑节点属性。
- SCAN[34]是一种基于结构的检测方法,它能探测到结构层面的异常。
- AMEN[24]同时使用属性和网络结构信息来检测异常邻域。具体来说,从自我网络的角度分析了各节点的异常情况。
- Radar[17]是用于属性网络的最先进的无监督异常检测框架。它通过描述属性信息的残差及其与网络信息的一致性来检测异常行为。
- ANOMALOUS[23]基于CUR分解和残差分析,进行联合异常检测和属性选择,检测属性网络上的异常。
-
参数:
- 优化算法:Adam
- epoch:300
- learning_rate:0.005
- 三层卷积层embedding_size:64,32,16