一种基于K近邻算法提高否定选择算法检测率的方法

文档序号:36927983发布日期:2024-02-02 21:53阅读:16来源:国知局
一种基于K近邻算法提高否定选择算法检测率的方法

本发明涉及网络异常检测,具体为一种基于k近邻算法提高否定选择算法检测率的方法。


背景技术:

1、否定选择算法分为训练和检测两个阶段,如图1所示。在训练阶段,随机生成的候选检测器与训练集中自体进行耐受,删除那些识别自体的候选检测器,以避免成熟检测器识别自体。只有那些不识别任意自体的候选检测器才能最终成为成熟检测器,被加入成熟检测器集中,用于检测阶段对待测样本进行检测。在检测阶段,待测试样本与成熟检测器集中的检测器进行耐受测试。若待测试样本被任意检测器覆盖,则被标记为非自体。若待测样本未被任意检测器覆盖,则被标记为自体。

2、孔洞是成熟检测器集合未能覆盖的特征空间区域,是导致算法性能下降的根本原因。为缓解孔洞问题,现有技术主要通过优化检测器分布、改变检测器生成规则、检测器和自体半径可变、改变检测器形状等方式。这些方法的主要目标是使得检测器集对特征空间的覆盖最大化、孔洞覆盖最小化,从而减轻孔洞带来的影响。

3、孔洞中包括自体样本和非自体样本,而根据否定选择算法分类规则:被检测器覆盖的为非自体,未被检测器覆盖的为自体。由于孔洞未被检测器覆盖,孔洞中所有样本都将被分类为自体,导致孔洞中非自体样本被错误分类为自体,从而带来漏报问题,使得算法检测率下降。因此,孔洞中非自体被错分为自体才是孔洞问题导致性能下降的根本原因。


技术实现思路

1、本发明的目的在于提供一种基于k近邻算法提高否定选择算法检测率的方法,以缓解否定选择算法孔洞问题,减轻孔洞对算法带来的影响,从而降低漏报率,提升检测率。

2、为实现上述目的,本发明提供如下技术方案:

3、一种基于k近邻算法提高否定选择算法检测率的方法,包括以下步骤:

4、s1.数据预处理:导入n维数据集d,该维度不包括数据集的类别标签属性,所述数据集d包括数字和符号特征,因此需要先对符号特征进行数字化处理,然后再对所有特征归一化处理;采用交叉验证法k-fold将数据集d划分为训练集和测试集;

5、s2.v-detector算法检测:使用v-detector算法训练生成检测器,训练时淘汰覆盖任意自体的候选检测器,并将生成的检测器集合用于对整个数据集d进行分类,将其分为自体集和非自体集;

6、s3.提取孔洞中样本数据:理论上,孔洞中数据为数据集d中的真实非自体集nonself与被v-detector算法标记为非自体的样本集label_noself的差集,由于孔洞中非自体被错分为自体,因此使用被v-detector算法标记为自体的样本集label_self与训练自体集self_train的差集代替;

7、s4.通过knn算法对孔洞中被v-detector算法标记为自体的样本集label_self和训练自体集self_train的差集进行分类,并对v-detector算法分类结果进行更新;

8、s5.统计性能指标,包括误报率和漏报率等。

9、优选的,s1中,所述归一化处理的计算表达式为:

10、

11、式中,x为归一化前的数值,x′为归一化后的数值,max(x)和min(x)分别为所在属性的最大值和最小值;

12、所述交叉验证法k-fold将数据集d划分为k-1份训练集和1份测试集。

13、优选的,s2包括以下步骤:

14、s21.参数设置,包括自体半径r,期望覆盖率pexp,最大自体覆盖率msc,检测器最大数量max;

15、s22.在n维特征空间随机生成候选检测器,遍历成熟检测器集,计算候选检测器与成熟检测器的欧几里得距离;

16、s23.第一次耐受过程:候选检测器与现有成熟检测器耐受,若检测器集中已有成熟检测器,则候选检测器必须先与成熟检测器进行耐受,删除被现有成熟检测器覆盖的候选检测器;若候选检测器不被任意成熟检测器覆盖,则成功通过第一次耐受过程;

17、s24.第二次耐受过程:候选检测器与自体进行耐受,成功经历第一次耐受过程的候选检测器与自体进行耐受,删除覆盖自体的候选检测器,以避免检测器识别自体。

18、s25.采用检测器集合对数据集d进行分类,将数据集d分类为自体集label_self和非自体集label_nonself两部分。

19、优选的,所述第一次耐受过程的计算方法为:

20、计算候选检测器中心与成熟检测器中心的欧几里得距离,若该距离小于成熟检测器的半径,表明候选检测器已被成熟检测器覆盖,增加覆盖计数(随机采样次数)t,并将候选检测器标记为不可用。

21、优选的,所述第二次耐受过程的计算方法为:

22、计算候选检测器中心与训练集中自体中心的欧几里得距离,并将候选检测器到最近邻自体的欧几里得距离记作min;若min>r,则将最小距离与自体半径r的差值min-r作为半径来生成成熟检测器;若min≤r,则表明该候选检测器中心被自体覆盖,删除该候选检测器。

23、优选的,n维特征空间下的点x=(x1,x2,…xn)和y=(y1,y2,…yn)之间的欧几里得距离的计算表达式为:

24、

25、优选的,v-detector算法的终止条件包括:

26、①生成的检测器数量达到预设值max;

27、②检测器集合对非自体空间的覆盖已达到期望覆盖率pexp:

28、t≥1/(1-pexp)                           (3);

29、式中,t为随机采样次数;

30、③已达到对自体的最大覆盖率msc。

31、优选的,理论上,s3中孔洞中样本数据的提取包括以下两种方法:

32、1)孔洞中的非自体是真实自体集nonself中的元素集合,但不是v-detector算法标记为非自体集label_noself中的元素,计算真实非自体集和标记的非自体集的差集,即,nonself\label_noself;

33、2)计算v-detector标记的自体集label_self与真实自体集self的差集,即,label_self\self;

34、nonself\label_noself和label_self\self是相等的,即,

35、nonself\label_nonself=label_self\self         (4)。

36、与现有技术相比,本发明的有益效果是:

37、1.否定选择算法中,孔洞容易在自体和非自体之间的边界区域形成,其原因是自体边界不规则,而检测器需要在不覆盖自体的前提下尽量覆盖更大的非自体空间。相比其它算法,本发明更适合对类域边界的实例进行分类。

38、2.本发明基于knn算法来对孔洞中样本进行分类,孔洞中样本使用v-detector算法标记为自体的样本集label_self与训练自体集self_train的差集,以降低漏报率,提高检测率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1