Graph Anomaly Detection with Deep Learning——节点检测
Posted Anooyman
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Graph Anomaly Detection with Deep Learning——节点检测相关的知识,希望对你有一定的参考价值。
节点检测算法分类
论文:A Comprehensive Survey on Graph Anomaly Detection with Deep Learning
论文地址:https://arxiv.org/abs/2106.07178
异常节点的分类
异常节点可以进一步分为以下三种类型:
- 全局异常:只考虑节点属性。它们是具有与图中所有其他节点显著不同的属性的节点。
- 结构异常:只考虑图形结构信息。它们是具有不同连接模式的异常节点(例如,连接不同社群,与其他社群形成密集链接)
- 社群异常:既考虑节点属性又考虑图结构信息。它们被定义为与同一社群中的其他节点相比具有不同属性值的节点
下图直观地展示了三种异常:
可以看到:
- 节点 14 是一个全局异常点,因为第四个特征只有他一个人是 1 其余的都是 0。
- 节点 5,6 以及 11 是结构异常点,因为只有他们三个节点有对其他的社群的链接。
- 节点 2 和 7 是社群异常,因为他们有一个特征值异常于社群中的其他节点。
作者分别根据不同类型的图分别介绍了相关的异常节点检测方法
ANOS ND on Plain Graphs 平面图上的节点异常检测
传统的异常检测方法
核心思想:将图形异常检测转化为传统的异常检测问题,因为传统的检测技术(仅针对表格数据)无法直接处理具有丰富结构信息的图形数据。
L. Akoglu [1] 提出的 Oddball 利用从每个节点及其 1 跳邻居中提取的统计特征(例如,1跳邻居和边的数量、边的总权重)来检测特定的结构异常:1)形成近团或星状的局部结构;2)与邻居有重链接,使得总权重非常大;3)与其中一个邻居有单一主导重链接。
基于网络表示的异常检测方法
核心思想:将图形结构编码到嵌入式向量空间中,并通过进一步分析识别异常节点。
R. Hu [2] 提出了一种有效的嵌入方法来检测与许多社区相连的结构异常
- 采用图划分算法(METIS)将节点划分为不同的社群
- 设计了一种特殊的嵌入过程来学习 node embedding,该 embedding 可以捕获每个节点与不同社群直接的链接信息
- 通过生成的 embedding 可以量化节点和社群直接的链接信息,进而检测异常(节点与某个社群链接越多,则该社群所对应的分数越大)
- 得到每个节点对于所有社群的分数,选择最大的作为节点分数,然后根据设置的阈值找出异常点
除此之外,还有许多得到 embedding 的方法(随缘补充其论文解读):Deepwalk [3], Node2Vec [4], LINE [5]
ANOS ND on Attributed Graphs 属性图上的节点异常检测
ANOS ND On Dynamic Graphs 动态图上的节点异常检测
传统非深度检测方法
核心思想:对节点结构变化的建模
典型的方法有 [6][7] 他们假设相较于异常节点,正常节点的变化通常符合一个稳定的模式并且不会引入较大的影响。
除此之外,Teng [8] 提出将节点和边属性分成两个试图来描述一个节点,通过将两种信息编码到同一个隐空间并且从历史记录中学到超球面。对于节点新的观测结果(即,节点和边属性的变化),可以通过超球面来计算距离。Nguyen [9] 等人提出了一种非参数方法来检测社交平台上的异常用户、推特、标签和链接。他们将社交平台建模为异构的社交图,这样就可以有效地捕捉用户、推特、标签和链接之间丰富的关系。根据异常对象的偏离特征发现异常对象,这项工作还利用单个对象之间的关系以及检测到的异常,并检测异常对象组。
基于网络表示的检测方法
核心思想:将图编码到嵌入空间,进行异常检测
Yu [10] 提出了一种灵活的深度表示技术 NetWalk,仅使用结构信息检测动态图中的异常节点。首先用 autoencoder 对节点进行特征抽取,之后采用 k-means 聚类算法,将当前时间戳中的现有节点分组为不同的簇,最后将每个节点的异常得分作为其与 k 个簇的最近距离进行测量得到异常点。
基于 GAN 的检测方法
核心思想:利用生成性对抗网络(GAN)在捕获真实数据分布和生成模拟数据方面的良好性能,模拟生成正常的数据分布
Zheng [11] 提出仅使用观察到的正常用户属性来进行欺诈者检测,其基本思想是抓住正常的活动模式,发现行为明显不同的异常。他们提出一种名为 OCAN 的方法,首先使用 LSTM 来提取正常用户的历史社会行为(例如,历史帖子、帖子URL)特征(假定异常用户和正常用户的特征分布并不相同)。其次,训练一个 GAN 模型生成处于低密度特征区域的正常用户数据点,从而可以得到一个可以鉴别正常用户特征区域的判别器,因此可以鉴别异常。
PS:NetWalk 和 OCAN 都可以在一定程度上解决异常节点检测问题,但是它们分别只考虑了结构和属性。
下图相关算法的总结图:
参考文献
[1] L. Akoglu, M. McGlohon, and C. Faloutsos, “Oddball: Spotting anomalies in weighted graphs,” in PAKDD, 2010, pp. 410–421
[2] R. Hu, C. C. Aggarwal, S. Ma, and J. Huai, “An embedding approach to anomaly detection,” in ICDE, 2016, pp. 385–396
[3] B. Perozzi, R. Al-Rfou, and S. Skiena, “Deepwalk: Online learning of social representations,” in KDD, 2014, pp. 701–710
[4] A. Grover and J. Leskovec, “Node2vec: Scalable feature learning for metworks,” in KDD, 2016, pp. 855–864
[5] J. Tang, M. Qu, M. Wang, M. Zhang, J. Yan, and Q. Mei, “Line: Large scale information network embedding,” in WWW, 2015, pp. 1067–1077
[6] R. A. Rossi, B. Gallagher, J. Neville, and K. Henderson, “Modeling dynamic behavior in large evolving graphs,” in WSDM, 2013, pp. 667– 676.
[7] H. Wang, J. Wu, W. Hu, and X. Wu, “Detecting and assessing anoma- lous evolutionary behaviors of nodes in evolving social networks,” ACM Trans. Knowl. Discovery Data, vol. 13, no. 1, pp. 12:1–12:24, 2019.
[8] X.Teng,Y.Lin,andX.Wen,“Anomalydetectionindynamicnetworks using multi-view time-series hypersphere learning,” in CIKM, 2017, pp. 827–836
[9] N. T. Tam, M. Weidlich, B. Zheng, H. Yin, N. Q. V. Hung, and B. Stantic, “From anomaly detection to rumour detection using data streams of social platforms,” VLDB J., vol. 12, no. 9, pp. 1016–1029, 2019
[10] W. Yu, W. Cheng, C. C. Aggarwal, K. Zhang, H. Chen, and W. Wang, “Netwalk: A flexible deep embedding approach for anomaly detection in dynamic networks,” in KDD, 2018, pp. 2672–2681
[11] P. Zheng, S. Yuan, X. Wu, J. Li, and A. Lu, “One-class adversarial nets for fraud detection,” in AAAI, 2019, pp. 1286–1293.
微信公众号:
以上是关于Graph Anomaly Detection with Deep Learning——节点检测的主要内容,如果未能解决你的问题,请参考以下文章
Graph Anomaly Detection with Deep Learning——节点检测
Graph Anomaly Detection with Deep Learning——节点检测
Graph Anomaly Detection with Deep Learning——节点检测
Graph Anomaly Detection with Deep Learning——边检测