一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于孤立森林和X均值的网络流量异常检测方法与流程

2021-10-24 09:48:00 来源:中国专利 TAG:孤立 检测方法 均值 网络流量 异常

一种基于孤立森林和x均值的网络流量异常检测方法
技术领域
1.本发明涉及互联网技术领域,尤其涉及一种基于孤立森林和x均值的网络流量异常检测方法。


背景技术:

2.近年来,网络环境日益复杂,网络流量数据呈爆炸式增长,基于物联网技术和复杂网络的海量基础设施对社会和经济产生了重大影响,基于负载平衡器的网络流量异常检测的挑战日益严峻。网络流量异常检测作为企业提高应用容量和可靠性的解决方案,负载均衡器可以对应用服务器执行定期运行状况检查,包括负责收集相关指标的指标,如响应时间、并发性、吞吐量和新连接数,这些指标用于在应用服务器上执行定期运行状况检查。当发现故障节点时,该节点被动态地从应用服务器集群中移除,并且将发出早期警告,以确保应用的高可用性并避免对服务器的更大损害。随着网络条件的日益复杂和流量数据的快速增加,传统的基于阈值的网络流量异常检测已经不能满足当前的需求,这对企业的服务性能和运营效率产生了非常严重的影响。
3.由于互联网服务的增加,包括恶意攻击和网络异常在内的网络异常变得更加多样化,这将对网络服务的运行产生严重影响,并造成社会和经济损失。因为网络提供的服务类型和用户连接模式不同,这意味着网络流量将具有不同的特征,模式分布非常不规则,检测异常模式非常困难。在实际的网络流量场景中,网络状况复杂且瞬息万变,由于不同时间段、不用服务器的流量数据分布和正常异常定义可能都相差很大,因此需要时常使用新获取的数据来训练模型才能准确分析近期的网络情况。这就使得算法必须使用源源不断的无标签数据作为训练集,而不能使用有标签数据和有监督算法。针对复杂网络产生的海量高维大数据,网络流量异常检测领域对异常检测算法的准确率、异常识别率以及运行效率都有很高的要求。
4.到目前为止,除了企业中使用的基于阈值的异常检测方法之外,还有其他前沿的无监督异常检测算法,如局部异常因子算法和基于直方图的离群值得分算法。但这些无监督算法都不能在海量高维的大数据中保持较高的检测准确率以及运行效率。而且包括孤立森林算法等无监督算法往往在训练模型的时候需要有先验知识,虽然使用的都是无标签数据,但是需要知道无监督训练数据中包含的准确异常比例作为参数。无标签训练集中的异常比例参数是否准确会对算法的表现产生很大影响,这往往取决于人为的先验经验。然而在网络流量场景中,由于网络情况复杂导致的数据分布差异大和模式分布不规则,导致人为经验很难在现取的流量数据中确定一个准确的异常比例。所以目前很少有方法能够在网络流量检测的应用场景中稳定高效。因此,一种能够应用于高维大规模无标签数据,并在复杂多变的网络环境中保持鲁棒性和高准确性的异常检测算法是被迫切需要的。


技术实现要素:

5.本发明实施例所要解决的技术问题在于,提供一种基于孤立森林和x均值的网络
流量异常检测方法。可在复杂的网络环境中保持鲁棒性和高准确性的异常检测。
6.为了解决上述技术问题,本发明实施例提供了一种基于孤立森林和x均值的网络流量异常检测方法,包括以下步骤:
7.s1:使用孤立森林进行初步检测,识别出所有异常值;
8.s2:对初步检测到的正常值计算流量数据每维特征的平均值得到正常簇中心,计算所述所有异常值的数据到所述正常簇中心的标准欧氏距离;
9.s3:通过四分位点箱线图过滤掉距离值中的极端值,并将所述极端值所对应的点归为所述异常值;
10.s4:将所述异常值距离进行x均值聚类,检测被误判为异常值的正常值;
11.s5:根据所述步骤s4得到的不同簇后,计算各簇的簇中心,以及各个簇中心至正常簇中心的标准欧氏距离;
12.s6:对步骤s5的标准欧氏距离进行一次簇数k=2的的k均值聚类,将k均值分类得到的距离值小的一类视为被误检的正常值并归为正常分类,距离值较大的一类视为异常分类,最终统计得出异常检测分类结果。
13.其中,所述通过四分位点箱线图过滤掉距离值中的极端值包括步骤:
14.设q1为距离值的上四分位点,q3为距离值的下四分位点,四分位点箱线图公式定义如下:
15.maximum=q1‑
1.5
×
(q3‑
q1);
16.minimum=q3 1.5
×
(q3‑
q1)。
17.其中,所述步骤s4还包括步骤:
18.设定好聚类簇数的上下限k
max
和k
min
,首先x均值对数据进行一次聚类簇数为k
min
的聚类,并逐步增加聚类簇数,如果聚类后的贝叶斯信息度量值大于聚类前的贝叶斯信息度量值,x均值继续增加簇数量进行聚类,直到收敛到最佳结构或簇数量达到k
max
为止。
19.其中最小聚类簇数量k
min
设定为2。
20.实施本发明实施例,具有如下有益效果:本发明将孤立森林与x均值聚类算法进行结合,并引入标准欧式距离来量化数据的异常度,解决了在训练无监督数据时需要准确异常比例的问题,使本发明更适用于实际应用场景,此外,本发明与现有的评估方法相比,本发明不仅不需要准确的异常比例作为训练参数,而且在高维海量数据中的异常检测准确率,异常识别率都达到了更高的水平。
附图说明
21.图1为仿真数据在步骤五后的结果图示;
22.图2是步骤六k均值分类结果示意图;
23.图3是步骤六统计得出异常检测分类结果示意图;
24.图4是在同样的仿真数据集上与原孤立森林算法进行的对比。
具体实施方式
25.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
26.本发明实施例的一种基于孤立森林和x均值的网络流量异常检测方法,通过以下步骤进行实施。
27.步骤一:
28.首先使用孤立森林进行初步检测,对于训练集的异常比例将其尽可能地设置大,比如在有人为经验判断的情况下假设训练集的异常比例为人为经验判断的上限或者是其2倍。这一步是为了尽可能地检测多的异常值,对于实际情况下的异常检测场景,将异常值误判为正常值的代价往往要高于将正常值误判为异常值,所以首要任务应该是尽可能地识别出所有异常值。
29.步骤二:
30.由于假设的异常比例要比实际的异常比例高,因此在初次检测后会存在有正常值误判为异常值的情况。
31.对初次检测到的正常值视为正常数据,并计算流量数据每维特征的平均值得到其簇中心,视为正常簇中心。
32.计算所有被视为异常值的数据到正常簇中心的标准欧氏距离,标准欧式距离算式定义如下:
33.假设现有两个数据a=(x
11
,x
12
,...,x
1n
)和b=(x
21
,x
22
,...,x
2n
),其中x
n
代表数据的第n维特征,s
k
代表标准偏差,则a到b的标准欧式距离为:
[0034][0035]
初步检测假设的异常比例高于真实比例,所以将正常簇视为数据分布最符合正常分布的数据。距离正常簇中心的标准欧氏距离越远,则代表数据的异常度越高,反之则越小。
[0036]
步骤三:
[0037]
通过四分位点箱线图过滤掉距离值中的极端值,假设q1为距离值的上四分位点,q3为距离值的下四分位点,四分位点箱线图公式定义如下:
[0038]
maximum=q1‑
1.5
×
(q3‑
q1)
[0039]
minimum=q3 1.5
×
(q3‑
q1)
[0040]
极端值会导致数据的整体特征分布发生变化,进而影响后续的聚类,所以在这一步过滤距离值大于maximum的极端值,并将这些距离值所对应的点归为异常类。
[0041]
步骤四:
[0042]
对第三步得到的异常值距离进行x均值聚类。
[0043]
x均值聚类算法是一种基于k均值聚类算法的改进算法,解决了k均值聚类算法聚类前需要提前确定好聚类簇数的不足,可以自动找到最佳的聚类簇数。x均值需要提前设定好聚类簇数的上下限k
max
和k
min
,首先x均值对数据进行一次聚类簇数为k
min
的聚类,并逐步增加聚类簇数。在每次增加簇数量进行聚类前x均值会计算聚类前后的贝叶斯信息度量值,如果聚类后的贝叶斯信息度量值大于聚类前的贝叶斯信息度量值,那x均值就会继续增加簇数量进行聚类,直到收敛到最佳结构或簇数量达到k
max
为止。
[0044]
这一步是为了从异常值中进一步检测出被误判的正常值,将x均值的最小聚类簇数量k
min
设定为2,因为这部分数据包含正常值与异常值,至少应该分为2簇,以防止数据分布过于均匀导致x均值将所有数据分同为一类。
[0045]
步骤五:
[0046]
从x均值聚类的结果得到不同的簇后,计算各个簇的簇中心。
[0047]
计算各个簇中心到正常簇中心的标准欧式距离。
[0048]
本发明还使用一组随机生成的网络流量数据仿真集来作为演示,图1为仿真数据在步骤五后的结果图示。圆点代表着初次检测的正常值,
×
代表的是待确定的疑似异常值。可以看到,疑似点被按距离分为了4个簇,并且随着簇中心距离的增加,簇所包含的数据也离正常数据的分布越远,反之离正常值的分布也越接近。这证明了用标准欧氏距离量化异常度的可行性。
[0049]
步骤六:
[0050]
对各个簇中心到正常簇中心的标准欧式距离值进行一次簇数k=2的k均值聚类,将k设置为2是为了将所有簇分类正常和异常两类。距离正常簇中心较近的簇所包含的数据会被分类为正常值,距离正常簇中心较远的簇所包含的数据会被分类为异常值。
[0051]
k均值分类结果如图2所示。可以看到k均值将4个簇分为了两类,左侧
×
代表的是距离值较小的一类,右侧
×
代表的是距离值较大的一类。可以看出离正常值分布更为接近的疑似异常值都被很好地通过标准欧氏距离量化的异常度归为了误检值。
[0052]
将k均值分类得到的距离值小的一类视为被误检的正常值并归为正常分类,距离值较大的一类视为异常分类,最终统计得出异常检测分类结果。如图3所示,圆点代表被算法分类为正常值的点,
×
代表被算法分类为异常值的点,可以看到x

iforest方法在没有确定训练集真实异常比例的情况下很好地完成了异常检测任务。
[0053]
在同样的仿真数据集上与原孤立森林算法进行了对比,如图4所示,本发明提出的改进方法比原孤立森林算法相比改进效果明显。
[0054]
为了验证本发明方法的实际效果,在4个网络流量仿真数据集和4个真实异常检测数据集上做了对比实验,对比实验分为两组,一组的评估标准为准确率auc值,另外一组的评估标准采用异常识别率。第一个组的评估标准auc值由召回率和假阳性率计算得来,其中召回率和假阳性率定义如下,设tp为检测真阳性,fp为检测假阳性数,tn为检测真阴性数,fn为检测假阴性数,则召回率和假阳性率为:
[0055][0056][0057]
第二个组的评估标准异常识别率定义如下:
[0058][0059]
评估标准准确率auc值是为了评估算法检测的准确度,异常识别率则是评估算法是否可以很好地完成异常检测的任务。
[0060]
用于做对比实验的数据集包含8个,其中4个数据集为仿真数据集,4个数据集为真实异常检测数据集。网络流量数据仿真数据集采用多维高斯分布对真实流量数据进行模拟,并仿真出4个数据集,分别代表4种情况:仿真数据集1:正常网络流量数据;仿真数据集2:异常数据分布与正常数据分布较接近的网络流量数据,更加接近真实情况;仿真数据集3:小样本网络流量数据;仿真数据集4:高维度网络流量数据。4个真实数据集选自公开的uci数据集和odds数据集,这些数据集的信息如下表(表1)所示:
[0061]
表1四个真实数据集的基本信息
[0062]
数据集名称样本数量数据维度异常值数量shuttle4909793437mulcross262144426214satellite6435362036breastw6839239
[0063]
对比实验中,对本发明采用的方法x

iforest以及7个前沿无监督算法进行实验对比,其中包括孤立森林、局部异常因子算法、基于直方图的离群值得分算法、主成分分析法、基于聚类的局部异常因子算法、k最近邻算法,实验结果如下表(表2、表3)所示。
[0064]
表2准确率auc值的对比实验结果
[0065][0066]
表3异常识别率的对比实验结果
[0067][0068]
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜