Page 137 - 《软件学报》2021年第10期
P. 137
席亮 等:邻域形态空间多源免疫检测器生成与检测 3109
非自体空间覆盖率 p;
轮盘赌选择概率 p r [3];
非自体空间期望覆盖率 P cov ;
自体集合 Self;
候选检测器 d c ;
候选检测器集合 D c ;
候选检测器个数 N c ;
变异概率 P v ;
交叉概率 P c ;
记录适应度值大小的数组 F[];
输出:成熟检测器集合 D.
1. Begin
2. D=;F[]=;n=0; /*按照公式(5)对测试数据集进行标准化等预处理,如图 5 中步骤 1*/
3. Neighborhood(Self,step); /*根据 step 值划分邻域形态空间,将实值表示的多个自体样本转换为邻域形
式的单个自体样本,并精确样本中每维属性边界,确定样本在每维属性下的步长,如图 5 中步骤 2*/
4. while (p<P cov ||n<N d ) { /*如果覆盖率没有达到 p 或生成检测器数量小于 N d ,继续循环;否则算法结束,
如图 5 中步骤 6*/
5. flag=Rand(); /*根据 3 种构造方式的成熟检测器的累计概率设置权重,采用加权轮盘赌选择的方
式选择使用随机、混沌映射或遗传变异的方式来构造候选检测器,如图 5 中步骤 3*/
6. if (flag≤p r [0]),D c =RandGenerate(); /*随机方式利用系统随机函数构造候选检测器*/
7. elseif (flag>p r [0] && flag≤(p r [0]+p r [1])),D c =ChaosGenerate(); /*混沌映射方式构造候选检测器*/
8. else { /*遗传变异方式按照图 4 的流程构造候选检测器*/
9. Calculate fitnessF[]; /*适应度值计算*/
10. Selection and Crossover(P c )D c ; /*按照 P c 进行交叉操作*/
11. Mutation(D c ,P v ); /*按照 P v 对 D c 进行变异操作*/
12. }
13. for (i=0;i<N c ;i++){
14. t=Affinity(Self,d ci ); /*通过 NNSA 对候选检测器进行亲和力计算与匹配,如图 5 中步骤 4*/
15. if (t<){d ci D;n=n+1;} /*亲和力小于,将该候选样本认定为成熟检测器,如图 5 中步骤 5*/
16. else Discard d ci ; /*丢弃*/
17. }
18. MonteCarlo(p); /*使用 Monte Carlo 方法计算检测器的覆盖率*/
19. }
20. End
本文算法通过邻域划分将属性值相近的样本映射到同一空间,构造出具有集合特性的邻域样本,可解决样
本高重叠问题,从而极大地缩小了样本规模.同时,采用公式(2)~公式(4)的邻域亲和力匹配规则进行耐受训练判
定,也可在降低计算复杂度的同时,有效地避免“维度灾难”问题.而且在构造候选检测器时,利用随机、遗传变异、
混沌映射这 3 种来源构造候选检测器,也可最大化基于检测器的问题空间.因此,本文算法从多个角度显著提升
了检测器生成与检测的计算效率.