原文地址:https://epubs.siam.org/doi/epdf/10.1137/1.9781611975673.67.
属性网络无处不在,是现代信息基础设施的一个关键组成部分,其中额外的节点属性补充了知识发现中的原始网络结构。近年来,属性网络上的异常节点的检测受到了越来越多的研究关注,在网络安全、金融、医疗保健等各种高影响领域得到了广泛的应用。
过去的图节点异常检测经常存在网络稀疏性和数据非线性问题,无法捕捉到不同信息模式之间的复杂交互,从而对异常检测的性能产生负面影响。为了解决上述问题,本文通过开发一种新的深度模型来研究归属网络上的异常检测问题。
这篇文章提出的深度模型:
一般来说,属性图节点异常检测中,属性网络上节点的异常不仅取决于它们与其他节点的相互作用(拓扑结构),还取决于它们的内容不一致(节点属性)。
该领域之前是有一些方法被提出的,但都不是很适合,因为属性图异常检测存在下面的特性:
为了解决上述挑战,本文提出用图卷积网络 (GCN) 来建模属性网络。GCN以拓扑结构和节点属性为输入,能够通过叠加多层线性单元和非线性激活函数来学习节点嵌入。尽管GCN在图节点分类和图分类中获得很不错的乘积,但如何将其应用于异常检测呢?因此本文提出了模型DOMINANT,即Deep Anomaly Detection on Attributed Networks,尝试解决这一问题。
DOMINANT模型分成三个组件:
然后,利用节点的重构误差来标记属性网络上的异常。结构如下图所示:
编码器使用了三层的图卷积,激活函数为ReLU。我们在之前的文章中介绍了GCN的基本型,设输入属性图的邻接矩阵为AA,属性矩阵为XX,那么属性网络编码器就是
ZZ=Enc(AA,XX)=ReLU(~AA(ReLU(~AA(ReLU(~AAXWXW1))WW2))WW3)其中~AA=DD−12ADAD−12为归一化的邻接矩阵。得到了属性图表示ZZ后,接下来的任务是重建结构和属性。重建结构等价于判断两个节点间存在连接的概率,等价于预测邻接矩阵:
ˆAˆA=sigmoid(ZZZZT)至于重建属性,DOMINANT是再用一个图卷积,使图表示的维数和原数据维数相同。通过优化结构和属性的重构误差来优化网络:
L=(1−α)RS+αRA=(1−α)‖AA−ˆAˆA‖2F+α‖XX−ˆXˆX‖2F其中‖⋅‖F为矩阵的Frobenius范数。类似的,每个节点的异常得分为:
score(i)=(1−α)‖aai−^aai‖22+α‖xxi−^xxi‖22本文的实验部分用到了BlogCatalog,Flickr和ACM三个数据集,这些都是属性图异常检测方面的常用数据集了,前两个偏向于社交网络,而ACM是一个引文网络,将每篇论文视为网络上的一个节点,链接是不同论文之间的引文关系。每个数据集都是一张图:
BlogCatalog | Flickr | ACM | |
---|---|---|---|
节点数 | 5196 | 7575 | 16484 |
边数 | 171743 | 239738 | 71980 |
属性维数 | 8189 | 12047 | 8337 |
异常数 | 300 | 450 | 600 |
值得注意的是,原数据集是没有异常标签的,上表所谓的异常数,其实是作者人为注入的异常。属性图节点的异常检测中,异常注入是一个固定的方法,即分别注入结构异常和属性异常:
属性异常注入:选择n×m个节点(这是为了使两种异常在数量上相同),对于每个节点i,随机选择k个节点,选择k个节点中属性欧氏距离与i最远的节点的属性作为i的新属性,i就是异常点,即
j=argmaxk‖xxi−xxk‖2xxi←xxj文中将k的值设为50。
以下模型为baseline:
模型的ROC曲线:
DOMINANT达到了最佳效果,验证了模型的可靠性和优异性。可以看到三个数据集对应模型的参数α是不同的,所以显然作者是进行了细致的调参。α代表了DOMINANT对结构异常和属性异常的权衡,对不同α进行的实验AUC值如下: