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

前言

异常节点的分类

异常节点可以进一步分为以下三种类型:

  1. 全局异常:只考虑节点属性。它们是具有与图中所有其他节点显著不同的属性的节点。
  2. 结构异常:只考虑图形结构信息。它们是具有不同连接模式的异常节点(例如,连接不同社群,与其他社群形成密集链接)
  3. 社群异常:既考虑节点属性又考虑图结构信息。它们被定义为与同一社群中的其他节点相比具有不同属性值的节点

下图直观地展示了三种异常:

可以看到:

  • 节点 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] 提出了一种有效的嵌入方法来检测与许多社区相连的结构异常

  1. 采用图划分算法(METIS)将节点划分为不同的社群
  2. 设计了一种特殊的嵌入过程来学习 node embedding,该 embedding 可以捕获每个节点与不同社群直接的链接信息
  3. 通过生成的 embedding 可以量化节点和社群直接的链接信息,进而检测异常(节点与某个社群链接越多,则该社群所对应的分数越大)
  4. 得到每个节点对于所有社群的分数,选择最大的作为节点分数,然后根据设置的阈值找出异常点

除此之外,还有许多得到 embedding 的方法(随缘补充其论文解读):Deepwalk [3], Node2Vec [4], LINE [5]

ANOS ND on Attributed Graphs 属性图上的节点异常检测

PS:涉及内容偏多,后续会单独总结,将链接补在此处

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——边检测

Graph Anomaly Detection with Deep Learning——边检测

Graph Anomaly Detection with Deep Learning——边检测