基于ABC、XGBoost与迁移学习的入侵检测方法
2021-04-08黄清兰游贵荣
重庆科技学院学报(自然科学版) 2021年1期
黄清兰 游贵荣
(福建商学院 信息技术中心, 福州 350012)
事先防范,主动检测,对于保证计算机网络信息安全具有重要意义。机器学习能够进行主动检测防御,已经被广泛应用于入侵检测领域,如对恶意程序的检测,对数据库用户异常行为的检测,对Web用户异常行为的检测,等。传统的机器学习算法在训练和挖掘数据时有一个假设,就是训练和测试的数据有相同的特征空间且分布一致。但在实际应用场景中,训练使用的数据与测试的数据往往存在差异,数据分布是不一致的,而且检测未知的攻击行为时训练数据不多,因此会导致检测准确率低、漏检率高的问题。针对这个问题,现提出一种基于人工蜂群(ABC)算法、极端梯度提升(XGBoost)模型与迁移学习的入侵检测方法,结合利用XGBoost和迁移学习,构建简单迁移分类模型,然后通过ABC自适应搜索适用于迁移分类模型的XGBoost最佳参数。这是一种混合算法,我们将它叫作“ABC-XGBTrl”。
1 算法基础
1.1 人工蜂群算法
人工蜂群算法(Artificial bee colony algorithm)是通过模拟蜂群采蜜的集体行为来求解优化问题。相对于遗传算法和粒子群优化算法(PSO)而言,人工蜂群算法更容易跳出局部最优,求解质量优势较为明显。其求解过程[1]如下:
(1) 初始化阶段。初始化种群SN个都是侦查蜂,随机地去搜索蜜源,搜索到的每个蜜源都是求解问题空间中的一个可行解。假设所求解问题的维度为m,每个可行解可表示为Xi=[xi1,xi2,xi3,…,xim]。Xi初始化依据式(1)产生。
Xi=Lj+rand(0,1)(Uj-Lj)
(1)
式中:Lj和Uj分别表示第j维搜索空间的下限和上限;……
登录APP查看全文