2020 ICDM | AANE: Anomaly Aware Network Embedding For Anomalous Link Detection
2020 ICDM | AANE: Anomaly Aware Network Embedding For Anomalous Link Detection
Paper Link: https://ieeexplore.ieee.org/document/9338406
1 Basic Knowledge
1.1 Graph Convolution Network
图结构实际上是图论中抽象意义的拓扑图,GCN的本质就是要提取拓扑图的空间特征。
1.1.1 Implementation of Two Ways
1. vertex domain(spatial domain)——点域(空间域)
目的:把每个顶点相邻的neighbors找出来核心问题:
①按照什么条件去找中心vertex的neighbors,即如何确定receptive field。
②确定receptive field之后,按照什么方式处理不同数目的neghbors的特征。
*参考文章:
Learning Convolutional Neural Networks for Graphs
2.spectral domain——谱域
① 什么是Spectral graph theory?
可以概括为:借助于图的拉普拉斯矩阵的特征值和特征向量来研究图的性质
*参考文章:
Spectral graph theory
小杰:谱图理论(spectral graph theory)
②什么是拉普拉斯矩阵?为什么GCN要用拉普拉斯矩阵?
Graph Fourier Transformation及Graph Convolution的定义都用到图的拉普拉斯矩阵,下面详细说明拉普拉斯矩阵的计算。
对于图G=(V,E)G=(V,E)G=(V,E),其拉普拉斯矩阵(Laplacian)可以定义为L=D−AL=D-AL=D−A。其中**LLL是拉普拉斯矩阵**,DDD是node的度矩阵(对角矩阵),对角线上的元素为每个node的度,AAA是图的邻接矩阵。
③实际上,拉普拉斯矩阵有三种:
- L=D−AL=D-AL=D−A, 称为组合拉普拉斯算子(Combinatorial Laplacian)。
- L=D−1/2LD−1/2L=D^{-1/2}LD^{-1/2}L=D−1/2LD−1/2, 称为对称规范拉普拉斯算子(Symmetric Normalized Laplacian),很多GCN使用的就是这种。
- L=D−1LL=D^{-1}LL=D−1L, 称为随机游走规范拉普拉斯算子(Random Walk Normalized Laplacian)
1.1.2 Formula for Graph Convolution
任何一个图卷积层都可以写成这样一个非线性函数:
Hl+1=f(Hl,A)H^{l+1}=f(H^l,A)Hl+1=f(Hl,A)
通常令H0=XH_0=XH0=X为第一层的输入,图中的所有节点表示为X∈RN×DX\in R^{N\times D}X∈RN×D。其中,NNN为图的节点个数, DDD为每个节点特征向量的维度,AAA为邻接矩阵,不同模型的差异点在于函数**fff的实现不同**。
具体的图卷积的公式可能有以下三种:
1. Hl+1=σ(AHlWl)H^{l+1}=\sigma(AH^lW^l)Hl+1=σ(AHlWl)
其中WlW^lWl为第lll层的权重参数矩阵,σ(⋅)\sigma(\cdot)σ(⋅)为非线性激活函数,例如ReLU。
A×HlA\times H^lA×Hl的本质是将每个Node用其邻居的信息表示,A×HlA\times H^lA×Hl的每一行表示节点viv_ivi经过GCN layer操作之后的节点表示vi′{v_i}'vi′。
例如,下图中的a1表示节点v1v_1v1的邻居情况(a1=[01100]),然后h1表示所有节点的第1维上的特征(h1=[3,4,5,6,7]),则z1=a1h1=03+14+15+06+07=4+5=9。
2. Hl+1=σ(LHlWl)H^{l+1}=\sigma(LH^lW^l)Hl+1=σ(LHlWl)
这里的L=D−AL=D-AL=D−A, 称为组合拉普拉斯算子(Combinatorial Laplacian)。
3. Hl+1=σ(D−12A^D−12HlWl)H^{l+1}=\sigma(D^{-\frac 1 2}\hat A D^{-\frac 1 2}H^lW^l)Hl+1=σ(D−21A^D−21HlWl)
这里的L=D−1/2LD−1/2L=D^{-1/2}LD^{-1/2}L=D−1/2LD−1/2, 称为对称规范拉普拉斯算子(Symmetric Normalized Laplacian)。
2 Motivation
- 问题的背景是什么?
- 作者为什么提出这个问题?
- 这个问题合理吗?
该文的大背景是网络嵌入(Network Embedding),大多数网络嵌入都致力于解决的是异常节点的检测,很少有对边的异常进行检测的。关于为什么要考虑边的异常。
例如,为了隐藏异常行为,一个可疑的金融账户可能会进行许多正常交易,但只有少数异常交易,这表明区分特定节点的异常链接和正常链接在实际应用中非常重要。(其实没太看懂这个例子)
该文的相关工作包括:网络嵌入(Network Embedding)、在网络上的异常检测和网络异常点生成。
现有的网络嵌入模型将网络中的所有链接视为正常链接,并无差别地对它们进行建模。在真正的网络中,可能会有异常链接,如噪声或对抗链接,如果全部视为正常链接,会使得模型的预测结果不准确。
不同于GAE,该文提出的AANE(Anomaly Aware Network Embedding)的损失函数是创新点。
在评估过程,该文提出了一个启发式异常链接生成算法,我们将异常链接生成到6个真实世界的网络数据集中。实验结果表明,在大多数情况下,AANE 在异常链接检测性能方面优于基线和有竞争力的网络嵌入模型(4个)。
本文贡献:
- 提出ANNE用于检测异常链接,通过明确考虑异常链接的存在将异常检测和网络嵌入集成到一个框架中,并设计了新的损失函数。
- 处于评估的目的,提出了一个新的异常链接的生成算法。
- 在6个真实世界的数据集上表现出强大的竞争力。
3 Traditional Method
- 已有方法是如何解决这个问题的?
- 相关工作发表在哪里?
- 传统方法有什么缺点或局限性
3.1 Network Embedding
3.2 Anomaly Detection on Network
表示学习给异常检测带来了增益,如Dominant, SpecAE, Radar 和 GraphUCB。
3.3 Anomaly Generation
异常点生成[24],[12],[7]
4 Main Idea
- 本文是如何解决这个问题的?
- 提出了新概念还是设计了新方法?
该文使用的是结构化的无向图网络,考虑的是特定节点的异常链路,而非全局的异常链路。异常链路的直观定义为,其预测的存在概率显著偏离大多数相邻链路。(注:邻居意味着本身在矩阵Au,vA_{u,v}Au,v中是1,即实际有边)
4.1 Preliminary
给定一个图,可以通过GAE或GCN的方式生成图嵌入的节点表示。我们定义图为G=(V,E)G=(V,E)G=(V,E),邻接矩阵为**Au,vA_{u,v}Au,v**,节点 u∈Vu\in Vu∈V的嵌入表示为zuz_uzu(通常为GCN最后一层的输出)。
预测的节点uuu和vvv的连接概率可以表示为:
Pu,v=Sigmoid(zuTzv)P_{u,v}=Sigmoid(z_u^Tz_v)Pu,v=Sigmoid(zuTzv)
其中,P可以被视为预测的“邻接矩阵”,因此可以定义拟合误差fitting loss(即实际的邻接矩阵要尽可能和预测的邻接矩阵相似):
Jfit=∑u=1N∑v=1N(Au,v−Pu,v)2J_{fit}=\sqrt{\sum_{u=1}^N \sum_{v=1}^N (A_{u,v}-P_{u,v})^2}Jfit=u=1∑Nv=1∑N(Au,v−Pu,v)2
4.2 Model Loss
4.2.1 Framework
1. Anomaly Indicator
Iu,vI_{u,v}Iu,v表示节点**uuu**和vvv之间的链接是否为异常链接,若为异常链接Iu,v=1I_{u,v}=1Iu,v=1,若为正常链接Iu,v=0I_{u,v}=0Iu,v=0。
在预测矩阵Pu,vP_{u,v}Pu,v中,如果这条链接小于它的邻居的平均阈值,则被视为异常链接。这个是什么意思呢?首先我们要get到,这里图中的链接都是实际存在的,那为什么预测矩阵Pu,vP_{u,v}Pu,v中认为u1–v4,u1–v5为异常呢?因为通过模型学出来可能根据u1的邻居特征,这两条链接不应该存在。比如:在实际的欺诈中,这两个人本不应该有联系,但是产生了联系,说明这个边很可能是个欺诈行为。
2. Adjusted Adjacency Matrix
可以发现图中还有一个叫做调整后的邻接矩阵B,那这个矩阵是怎么得到的呢?实际上是通过下面两个式子得到的。
第一个式子:
可以将MEANv′∈VuPu,v′−μSTDv′∈NuPu,v′\mathop{MEAN}\limits_{v'\in V_u}P_{u,v'}-\mu\mathop{STD}\limits_{v'\in N_u}P_{u,v'}v′∈VuMEANPu,v′−μv′∈NuSTDPu,v′视为一个阈值,可以发现,当uv为异常链接时,前面的值为正,则会取得一个异常偏差值(即异常的程度);当uv为正常链接的时候,前面的值为负,则S(uv)=0S(uv)=0S(uv)=0。
第二个式子:
由于⊙\odot⊙表示元素的广义相乘,其实可以发现B就是考虑了异常偏差的一个邻接矩阵。
4.2.2 Loss Design
1. Removal loss
实质上是为了防止训练模型的时候,模型中的噪声对模型的影响。
当uv链接为正常链接的时候,JrmI(u)J_{rm}^I(u)JrmI(u)是为0的;只有当uv为异常链接(Iu,v=1I_{u,v}=1Iu,v=1)时候JrmI(u)J_{rm}^I(u)JrmI(u)才等于∑v∈NuPu,v2\sum_{v\in N_u}P_{u,v}^2∑v∈NuPu,v2(实质上是Jfit=∑u=1N∑v=1N(Au,v−Pu,v)2J_{fit}=\sqrt{\sum_{u=1}^N \sum_{v=1}^N (A_{u,v}-P_{u,v})^2}Jfit=∑u=1N∑v=1N(Au,v−Pu,v)2
2. Deviation loss
实质上是让正常的边的重构误差小,即预测矩阵Pu,vP_{u,v}Pu,v和Au,vA_{u,v}Au,v尽可能像。
可以发现,当uv为异常链接时,JdevI(u)J_{dev}^I(u)JdevI(u)为0;只有当uv为正常链接(Iu,v=0I_{u,v}=0Iu,v=0)时,JdevI(u)J_{dev}^I(u)JdevI(u)为∑v∈Nu(1−Pu,v2)\sum_{v\in N_u}(1-P_{u,v}^2)∑v∈Nu(1−Pu,v2),也就是Jfit=∑u=1N∑v=1N(Au,v−Pu,v)2J_{fit}=\sqrt{\sum_{u=1}^N \sum_{v=1}^N (A_{u,v}-P_{u,v})^2}Jfit=∑u=1N∑v=1N(Au,v−Pu,v)2
3. Anomaly aware loss
考虑所有点的removal loss和deviation loss之和:
4. Adjusted fitting loss
Jafl=∑u=1N∑v=1N(Bu,v−Pu,v)2J_{afl}=\sqrt{\sum_{u=1}^N \sum_{v=1}^N (B_{u,v}-P_{u,v})^2}Jafl=u=1∑Nv=1∑N(Bu,v−Pu,v)2
5. Total loss
J=Jafl+γJaalJ=J_{afl}+\gamma J_{aal}J=Jafl+γJaal
实质上可以发现,total loss的主要部分和原来的fitting loss很像,只不过把邻接矩阵换成了考虑了异常偏差的,然后文中设置的其他loss作为附加loss用**平衡参数γ\gammaγ**来调节。
4.3 Anomalous Link Generation
之前的paper[12]生成链接的方法是,随机选择一些nodes,然后使这些nodes的全连接作为异常链接。该文认为这样是不合理的,因为这样的链接看起来并不异常。
该文的方法:
随机选择source nodes集合,然后计算这些source nodes与其他nodes的距离,然后用降序(DES)排序。根据异常率来生成每个结点的异常链接,最后从source nodes集合出发生成的边链接到的点就作为target nodes集合。
条件(condition):
- target node不能是source node
- target node不能是原始图的邻居
- target node的个数不能超过设定的异常率(anomaly_ratio)
5 Metrics
- 如何进行客观的衡量?
- 优化目标是什么?
- Average Precision (AP)
AP=(1/R)∑r=1R(r/pos(r))AP=(1/R)\sum_{r=1}^R(r/pos(r))AP=(1/R)∑r=1R(r/pos(r)),其中pos(r)pos(r)pos(r)是排序后第r个预测为异常的链接。
- Mean Average Precision (MAP)
考虑所有点的平均情况
- ROC-AUC (AUC)
6 Experiment
- 本文是怎样做实验的?
- 实验环境是真实的还是仿真的?
- 数据是真实的还是模拟的?
- 实验中测试了哪些评价指标?
- 实验结果是什么,是否合理?
6.1 Datasets
6.2 Baselines
- GAE[11]: The simplest Graph auto-encoder, in which encoder is simply modeled as node embedding lookup table.
- GCNAE: The graph convolution based GAE model, in which encoder is modeled as one-layer graph convolution.
- GraphSAGE[6]: One of the most popular graph neural networks based on neighborhood sampling and information aggregation.
- GAT[4]: Attention mechanism based graph neural network.
- AAGAE: AANE built upon GAE model.
- AAGCN: AANE built upon GCNAE model.
6.2 Results
- 参数敏感性
- 实验结果:
2020 ICDM | AANE: Anomaly Aware Network Embedding For Anomalous Link Detection相关推荐
- ICDM‘20 AANE: Anomaly Aware Network Embedding For Anomalous Link Detection论文笔记
AANE: Anomaly Aware Network Embedding For Anomalous Link Detection ICDM'20 1. Abstract 现有的网络嵌入模型将网络中 ...
- 论文笔记 | RGSE: Robust Graph Structure Embedding for Anomalous Link Detection
文章信息 来源:IEEE Transactions on Big Data.(2022) 作者:Zhen Liu, Wenbo Zuo, Dongning Zhang and Xiaodong Fen ...
- 论文 | 属性网络嵌入 Attributed Network Embedding
论文 | 属性网络嵌入 Attributed Network Embedding 前言 Why this article? Network Embedding相关工作 Network Embeddin ...
- [TKDE 2020]Dynamic Heterogeneous Information Network Embedding with Meta-path based Proximity
[TKDE 2020]Dynamic Heterogeneous Information Network Embedding with Meta-path based Proximity 介绍 对于时 ...
- 论文笔记(一):Temporal Network Embedding with High-Order Nonlinear Information
论文笔记(一):Temporal Network Embedding with High-Order Nonlinear Information 论文标题:Temporal Network Embed ...
- 员外带你读论文:LINE: Large-scale Information Network Embedding
本次要总结和分享的论文是 LINE: Large-scale Information Network Embedding,其链接 论文[1],所参考的实现代码 code[2],这篇论文某些细节读起来有 ...
- 文献学习(part14)--Structural Deep Network Embedding
学习笔记,仅供参考,有错必纠 文章目录 Structural Deep Network Embedding ABSTRACT INTRODUCTION RELATED WORK Deep Neural ...
- Network Embedding中方法回顾
网络嵌入方法(Network Embedding)旨在学习网络中节点的低维度潜在表示,所学习到的特征表示可以用作基于图的各种任务的特征,例如分类,聚类,链路预测和可视化. 传统意义上的 Graph E ...
- NEU(Fst Network Embedding Enhancement via High Order Proximity Approximation)
NEU(Fst Network Embedding Enhancement via High Order Proximity Approximation) NEU(Fst Network Embedd ...
最新文章
- Genome-scale de novo assembly using ALGA 使用ALGA进行 基因组规模的从头组装
- 【 C 】指针数组案例分析(const的作用)
- 查看提交历史 —— Git 学习笔记 11
- 删除同域名所有cookies_淘宝自动登录2.0,新增Cookies序列化
- React事件优雅绑定
- 金蝶k3单据编码规则_金蝶K3存货跌价案例教程
- 全新的 Vue3 状态管理工具:Pinia
- 退出Activity(转)
- 组合数学中的项链计数
- checkbox,全选和反选的功能
- [PhoneGap]Mac下搭建PhoneGap开发环境
- Codevs 3269 混合背包(二进制优化)
- 使用tortoiseGit对GitHub添加公钥
- Atitit.会员卡(包括银行卡)api的设计
- 东方甄选推独立App自立门户;西湖大学『强化学习数学基础』教材书稿;经典书籍『深入浅出设计模式』Python版代码;前沿论文 | ShowMeAI资讯日报
- 金融科技成为服贸会热议话题:数字化转型中如何保障金融安全
- 差分贴片晶振使最强军事武器出世
- 适合年轻人的副业项目,想要赚钱养家就不要再懒了
- 分享一个会遮掩的吊炸天登录页面
- 云层高度方法总结:激光雷达信号反演/遥感数据估计
热门文章
- 清廷是如何被汉族寡头瓜分的。。。
- 17 个关于雪花的有趣事实
- 我国无线电频率划分规定
- 每日新闻:中国母婴幼市场将达3万亿;基于内存计算技术的智能芯片问世;谷歌推图片压缩工具Squoosh;腾讯选定全球地图数据提供商...
- 以下不属于mysql列类型的是什么意思_下列 ________ 类型不是 MySQL 中常用的的数据类型。_学小易找答案...
- 【Mysql】Mysql SQL 大小写规范
- Educode--头歌 《软件工程》实验作业8-需求分析
- 计算机信息技术挂号,利用Access实现自助挂号系统(6页)-原创力文档
- 如何从小白变成优秀文案?这几个APP来帮你
- 快递100接口 使用