基于EHO调优Adaboost的软件缺陷检测
1. 引言
软件缺陷检测对于保障计算机系统的可靠性和功能性至关重要。传统的检测技术可能会遗漏一些微小的缺陷,而Adaboost分类器具有自动识别软件代码中复杂模式和关联的能力,有望发现这些不易察觉的缺陷。然而,算法的性能高度依赖于超参数的选择,因此需要使用元启发式优化器来选择能提升性能的参数。
2. EHO算法及改进
2.1 基本EHO算法
在基本的EHO算法中,会随机生成[0, 2]内的任意数字,以此随机决定从先前生成的“小牛”继承属性的比例。之后,将所有家族的“公牛”“后宫”和“小牛”合并,按适应度升序排列麋鹿,保留优良的麋鹿用于下一代。
2.2 改进的EHO算法(MEHO)
为了进一步提升EHO算法的性能,引入了基于准反射的学习机制(QRL)到EHO算法的初始化阶段,这样可以增加搜索空间的覆盖范围。对于每个组件$X_j$,其准反射相反组件$X_{qr_j}$的生成公式如下:
$X_{qr_j} = rnd(\frac{lb_j + ub_j}{2}, x_j)$
其中,$rnd$是$[\frac{lb_j + ub_j}{2}, x_j]$内的任意值。
新的初始化过程步骤如下:
1. 通过通常的初始化方式(由式(20.5)给出)创建包含NP/2个解的初始种群$P_{init}$。
2. 应用式(20.9)从$P_{init}$合成QRL解$P_{qr}$。
3. 通过合并$P_{init}$和$P_{qr}$($P = P_{init} \cup P_{qr}$)建立总体初始种群$P$。
超级会员免费看
订阅专栏 解锁全文
34

被折叠的 条评论
为什么被折叠?



