消失的网络-基于图流的异常检测算法SpotLight

4c7f951a5b9d4e09c21ce8f62dce2290.png

e48efbd6eca8c034c2a327f5503f29d7.png

今天给大家介绍一个非常牛逼的图异常检测方法,今天只开个头,抛砖引玉,介绍下基本原理,后续有时间了,慢慢讲细节和实战。

我们如何从电子邮件或运输日志中发现有趣的事件?我们如何从IP-IP通信数据中检测端口扫描或拒绝服务攻击?通常,给定一系列加权图,有向图或二部图,每个图都汇总了一个时间窗口中的活动快照,我们如何才能发现异常图,其中包含大的密集子图(例如,双斜度)的突然出现或消失,而该图又在真实附近 使用次线性记忆的时间?为此,我们提出了一种基于随机草图绘制的方法,称为SpotLight,该方法可确保在适当选择参数的情况下,以高概率将异常图形与草图空间中的“正常”实例“相距很远”。

这篇文章的核心是将整个图结构嵌入为一个vector,然后进行图级别的异常检测,我读完的感受是:simple but effective!简直牛逼大发了。

39602d9dd6e1483a6558ee3619b54ed6.png

这个二部图表示,密集异常出现在了t=3这一时刻,可以发现是s3和s4之间可能发生了故障。

今天要给大家介绍的论文的题目是《SpotLight: Detecting Anomalies in Streaming Graphs》,这是一篇2018年kdd上的文章,主要介绍了如何在动态二部图中进行异常检测。

论文地址:https://dl.acm.org/doi/abs/10.1145/3219819.3220040

PDF地址:https://dl.acm.org/doi/pdf/10.1145/3219819.3220040

一、算法概述

问题1: 给定一系列加权有向/二部图,{G1,G2,…},使用亚线性存储器接近实时地检测Gt是否包含突然消失的大密集有向子图。

基于该问题,本文提出了一种基于随机草图绘制的方法----SpotLight。该方法可确保在选择适当参数的情况下,以高概率将异常图形与草图空间中的“正常”图形相距很远。

1、SpotLight的应用场景有哪些?

SpotLight专注于检测涉及大的有向子图的突然出现或消失的异常,可应用于

a)检测网络通信日志中的攻击(端口扫描,拒绝服务)

b)有趣的/ 欺诈行为会在用户-用户通信日志中造成活动高峰

c)重要事件导致流入/流出某些位置的流量异常

2、spotLight与以前的方法相比有哪些优势?

在现实世界的数据集上进行的大量实验表明,SpotLight

a)与以前的方法相比,至少提高了8.4%的精度

b)速度快,可以在几分钟内处理数百万条边

c)与 边缘和草图尺寸

d)在实践中带来有趣的发现

检测大型密集有向子图的突然消失或者出现,技术挑战是在计算上,新的边缘和节点不断到达,只有限的时间和空间来处理更改。采用的方法是设计图表的简短摘要或草图,这些摘要或草图可以揭示新发现的异常,并且可以在高速移动数据流上快速进行更新和维护。

二、本文贡献

1、算法

提出了SpotLight,这是一种简单的基于随机草图的简单方法来解决问题。

2、保证

证明SpotLight在预期中具有焦点意识,即将焦点集中在边缘的添加或删除上

3、有效性

对真实数据的大量实验表明,SpotLight在性能方面优于以前的方法精确度和召回率,快速且可扩展。

三、算法细节

e96586b6dd6677e3b5e39bc8cc7a4740.png

1、定义:图流

每个Gt=(St,Dt,εt),边缘集合Et中的每个边缘*(s,d,w)都源自源s ∈St*,终止于目标d∈Dt,权重为w∈R 。At = [At,sd]是Gt的邻接关系,其中每个A t,sd表示将源s连接到目的地d的边缘权重之和。

我们根据节点采样概率,将从源头的采样概率定为p,将从目标的采样概率定为q的,组成一个草图,其中包含K个特定的查询子图的总边缘权重,这些查询子图是独立且随机选择的。

2、步  骤

步骤1:它为每个图提取一个K维SpotLight草图v(G),以使包含大型密集子图的突然出现(消失)的图距离草图空间中的“正常”图很“远”。

步骤2:它利用草图空间中的距离间隙来检测产生异常的草图作为异常图

1b49b8956bf616b45b757ba58204eb72.png

SpotLight图草绘制:

dcc6c3ff23fc7b31847239d89de729b0.png

06442f11555ec56f320a3ddf76ebdf05.png

举例:具有单位重量边缘的图G的 (K = 3,p = 0.5,q = 0.33)-SpotLight草图v(G):

df772c17e0d3b01091b37416d96533ca.png

具体算法:

11119bafc1d44b35fe185e8aa27f9679.png

分析

假设:G始终是拥有Ns个源和Ns个目标的任意加权有向图或者二分图,且Ns = Nd = N,p = q。

定义SL-distance:SL-distance是它们的SpotLight草图之间的期望平方欧几里得距离

a3292dfdff0aa22313256534f83d211b.png

G1,G2代表SpotLight空间中图形G1和G2之间 SL-distance

Focus-awareness:如下图,稠密星图的添加比稀疏匹配图的添加更异常,即d¯(G, GS ) > d¯(G, GM )。同时距离间隙甚至随着边数m和草图尺寸K的增加而增加

334f2c92157d2401138da7ddda4176cf.png

*ϵ-SL-Farness:如果 G1 和 G2满足下图的要求,则认为与G2相比,G1是ϵ-SL-Farness。

b913c9e298043c36c39f1d2d3e42a57e.png

异常检测标准:

5137a6df39162d2772f40d93cf446169.png

其中ξ满足

7b4f72cc7b5d8dc0f142bdd4dfcc123c.png

四、实验内容

1、数据集

1)Darpa dataset

包含450万个IP-IP通信,这些通信在9484个源IP和23398个目标IP之间进行,时间间隔为87.7K(分钟)。每种通信都是有向边。通过汇总每个小时持续时间内出现的边,本文获得了1463个图的流。数据集包含89种已知的网络攻击。

2)Enron dataset

包含约50000封电子邮件,这些电子邮件在Enron公司的151名员工中,围绕着著名的Enron丑闻在3年时间内进行了交换。每封电子邮件都是有向边的(发件人,收件人,时间戳)。通过将每天视为自己的图,得出1139张图的流。

3)NycTaxi dataset

包含从纽约市出租车委员会获得的3个月(2015年11月至2016年1月)期间的出租车乘客数据。每次出租车旅行都配备有上车(PU)/下车(DO)时间和PU / DO位置的(经纬度)坐标,本文将按下列步骤处理:根据地图上的常识(包括公园,机场,体育场,桥梁,居民区,岛屿)手动选择57个在地理上或概念上可区分的纽约市区域的中心,并记下其(经度,纬度)坐标。然后将每个PU / DO位置分配到最近的区域。因此,为每个出租车行程创建了一个有向边(srcZone,dstZone,时间戳),这些被进一步汇总为2208个图表。

2、试验结果

SpotLight(SL)与基线(EW,RHSS,STA)的precision(精确度),recall(召回率),运行时间的结果对比

9e943f2ad9dbdbd3f83056a79c30b8cb.png

c20d8956ac4a8930f8612fb545df9573.png

8031d26d2378c5edc2a114467cfd7243.png

SL的可扩展性以及边的数量和草图尺寸

e6dc6b69f1e781380dbccc0be0250f65.png

1)Darpa dataset的异常检测结果

078c45739e76d9c693c3b289edaa27da.png

491c30607b4554a58592c6fd8d26e5b4.png

2)Enron dataset的SL异常检测结果

8e77e094e543de1dc524c3c784a14b4b.png

3)NycTaxi dataset的SL异常检测结果

33abac8c6a43871f8b6d2f0d4232d4d2.png

推荐阅读:

我的2022届互联网校招分享

我的2021总结

浅谈算法岗和开发岗的区别

互联网校招研发薪资汇总

2022届互联网求职现状,金9银10快变成铜9铁10!!

公众号:AI蜗牛车

保持谦逊、保持自律、保持进步

880ec1483f89605aaa4920cbaefc5b02.png

发送【蜗牛】获取一份《手把手AI项目》(AI蜗牛车著)

发送【1222】获取一份不错的leetcode刷题笔记

发送【AI四大名著】获取四本经典AI电子书

猜你喜欢

转载自blog.csdn.net/qq_33431368/article/details/125307819